stream-chat-react 14.12.0 → 15.0.0-rc.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 (1428) hide show
  1. package/dist/cjs/ListItemLayout.60c3b287.js +2181 -0
  2. package/dist/cjs/ListItemLayout.60c3b287.js.map +1 -0
  3. package/dist/cjs/{ReactPlayerWrapper.7cc7b0d8.js → ReactPlayerWrapper.f04b1d06.js} +3 -3
  4. package/dist/cjs/{ReactPlayerWrapper.7cc7b0d8.js.map → ReactPlayerWrapper.f04b1d06.js.map} +1 -1
  5. package/dist/cjs/SlotLayout.de45be2d.js +1672 -0
  6. package/dist/cjs/SlotLayout.de45be2d.js.map +1 -0
  7. package/dist/cjs/Thread.373af587.js +7479 -0
  8. package/dist/cjs/Thread.373af587.js.map +1 -0
  9. package/dist/cjs/channel-detail.js +409 -389
  10. package/dist/cjs/channel-detail.js.map +1 -1
  11. package/dist/cjs/emojis.js +18 -16
  12. package/dist/cjs/emojis.js.map +1 -1
  13. package/dist/cjs/index.js +14467 -20208
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/slot-geometry.js +145 -0
  16. package/dist/cjs/slot-geometry.js.map +1 -0
  17. package/dist/cjs/slot-layout.js +37 -0
  18. package/dist/cjs/useChannel.1004ed4c.js +18 -0
  19. package/dist/cjs/useChannel.1004ed4c.js.map +1 -0
  20. package/dist/cjs/useComponentContextIcons.d16834d9.js +1729 -0
  21. package/dist/cjs/useComponentContextIcons.d16834d9.js.map +1 -0
  22. package/dist/cjs/useIsCooldownActive.1f778bc1.js +110 -0
  23. package/dist/cjs/useIsCooldownActive.1f778bc1.js.map +1 -0
  24. package/dist/css/channel-detail.css.map +1 -1
  25. package/dist/css/index.css +208 -103
  26. package/dist/css/index.css.map +1 -1
  27. package/dist/es/a11y/accessibleLabel.mjs +6 -2
  28. package/dist/es/a11y/accessibleLabel.mjs.map +1 -1
  29. package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs +6 -5
  30. package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs.map +1 -1
  31. package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs +9 -33
  32. package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs.map +1 -1
  33. package/dist/es/components/Accessibility/NotificationAnnouncer.mjs +2 -3
  34. package/dist/es/components/Accessibility/NotificationAnnouncer.mjs.map +1 -1
  35. package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs +10 -5
  36. package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs.map +1 -1
  37. package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs +38 -28
  38. package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs.map +1 -1
  39. package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs +5 -8
  40. package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs.map +1 -1
  41. package/dist/es/components/Attachment/Attachment.mjs +21 -6
  42. package/dist/es/components/Attachment/Attachment.mjs.map +1 -1
  43. package/dist/es/components/Attachment/AttachmentActions.mjs +10 -9
  44. package/dist/es/components/Attachment/AttachmentActions.mjs.map +1 -1
  45. package/dist/es/components/Attachment/AttachmentContainer.mjs +21 -17
  46. package/dist/es/components/Attachment/AttachmentContainer.mjs.map +1 -1
  47. package/dist/es/components/Attachment/Audio.mjs +15 -10
  48. package/dist/es/components/Attachment/Audio.mjs.map +1 -1
  49. package/dist/es/components/Attachment/FileAttachment.mjs +4 -5
  50. package/dist/es/components/Attachment/FileAttachment.mjs.map +1 -1
  51. package/dist/es/components/Attachment/Geolocation.mjs +29 -17
  52. package/dist/es/components/Attachment/Geolocation.mjs.map +1 -1
  53. package/dist/es/components/Attachment/Giphy.mjs +4 -4
  54. package/dist/es/components/Attachment/Giphy.mjs.map +1 -1
  55. package/dist/es/components/Attachment/LinkPreview/Card.mjs +4 -4
  56. package/dist/es/components/Attachment/LinkPreview/Card.mjs.map +1 -1
  57. package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs +2 -2
  58. package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs.map +1 -1
  59. package/dist/es/components/Attachment/ModalGallery.mjs +20 -8
  60. package/dist/es/components/Attachment/ModalGallery.mjs.map +1 -1
  61. package/dist/es/components/Attachment/UnsupportedAttachment.mjs +3 -3
  62. package/dist/es/components/Attachment/UnsupportedAttachment.mjs.map +1 -1
  63. package/dist/es/components/Attachment/VideoAttachment.mjs +10 -10
  64. package/dist/es/components/Attachment/VideoAttachment.mjs.map +1 -1
  65. package/dist/es/components/Attachment/VisibilityDisclaimer.mjs +2 -2
  66. package/dist/es/components/Attachment/VisibilityDisclaimer.mjs.map +1 -1
  67. package/dist/es/components/Attachment/VoiceRecording.mjs +17 -12
  68. package/dist/es/components/Attachment/VoiceRecording.mjs.map +1 -1
  69. package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs +1 -1
  70. package/dist/es/components/Attachment/components/DownloadButton.mjs +3 -3
  71. package/dist/es/components/Attachment/components/DownloadButton.mjs.map +1 -1
  72. package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs +4 -30
  73. package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs.map +1 -1
  74. package/dist/es/components/Attachment/utils.mjs.map +1 -1
  75. package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs +57 -0
  76. package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs.map +1 -0
  77. package/dist/es/components/AudioPlayback/AudioPlayer.mjs +329 -314
  78. package/dist/es/components/AudioPlayback/AudioPlayer.mjs.map +1 -1
  79. package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs +54 -90
  80. package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs.map +1 -1
  81. package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs +20 -6
  82. package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs.map +1 -1
  83. package/dist/es/components/AudioPlayback/components/ProgressBar.mjs +2 -2
  84. package/dist/es/components/AudioPlayback/components/ProgressBar.mjs.map +1 -1
  85. package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs +2 -2
  86. package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs.map +1 -1
  87. package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs +2 -2
  88. package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs.map +1 -1
  89. package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs +4 -4
  90. package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs.map +1 -1
  91. package/dist/es/components/Avatar/Avatar.mjs.map +1 -1
  92. package/dist/es/components/Avatar/AvatarStack.mjs +1 -1
  93. package/dist/es/components/Avatar/AvatarStack.mjs.map +1 -1
  94. package/dist/es/components/Badge/Badge.mjs.map +1 -1
  95. package/dist/es/components/Badge/MediaBadge.mjs +2 -1
  96. package/dist/es/components/Badge/MediaBadge.mjs.map +1 -1
  97. package/dist/es/components/BaseImage/ImagePlaceholder.mjs +3 -3
  98. package/dist/es/components/BaseImage/ImagePlaceholder.mjs.map +1 -1
  99. package/dist/es/components/Button/PlayButton.mjs +3 -3
  100. package/dist/es/components/Button/PlayButton.mjs.map +1 -1
  101. package/dist/es/components/Button/WorkspaceNavigationButtons.mjs +94 -0
  102. package/dist/es/components/Button/WorkspaceNavigationButtons.mjs.map +1 -0
  103. package/dist/es/components/Channel/Channel.mjs +34 -720
  104. package/dist/es/components/Channel/Channel.mjs.map +1 -1
  105. package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs +21 -0
  106. package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs.map +1 -0
  107. package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs +1 -1
  108. package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs.map +1 -1
  109. package/dist/es/components/ChannelHeader/ChannelHeader.mjs +17 -16
  110. package/dist/es/components/ChannelHeader/ChannelHeader.mjs.map +1 -1
  111. package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs +16 -41
  112. package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs.map +1 -1
  113. package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs +19 -21
  114. package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs.map +1 -1
  115. package/dist/es/components/ChannelList/ChannelList.mjs +60 -131
  116. package/dist/es/components/ChannelList/ChannelList.mjs.map +1 -1
  117. package/dist/es/components/ChannelList/ChannelListHeader.mjs +4 -4
  118. package/dist/es/components/ChannelList/ChannelListHeader.mjs.map +1 -1
  119. package/dist/es/components/ChannelList/ChannelLists.mjs +31 -0
  120. package/dist/es/components/ChannelList/ChannelLists.mjs.map +1 -0
  121. package/dist/es/components/ChannelList/ChannelNavigation.mjs +36 -0
  122. package/dist/es/components/ChannelList/ChannelNavigation.mjs.map +1 -0
  123. package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs.map +1 -1
  124. package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs.map +1 -1
  125. package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs +21 -0
  126. package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs.map +1 -0
  127. package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs.map +1 -1
  128. package/dist/es/components/ChannelListItem/ChannelListItem.mjs +23 -74
  129. package/dist/es/components/ChannelListItem/ChannelListItem.mjs.map +1 -1
  130. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs +34 -34
  131. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs.map +1 -1
  132. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs +2 -2
  133. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs.map +1 -1
  134. package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs +7 -6
  135. package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs.map +1 -1
  136. package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs +15 -13
  137. package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs.map +1 -1
  138. package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs +7 -7
  139. package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs.map +1 -1
  140. package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs +8 -26
  141. package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs.map +1 -1
  142. package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs +1 -1
  143. package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs.map +1 -1
  144. package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs +18 -50
  145. package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs.map +1 -1
  146. package/dist/es/components/ChannelListItem/utils.a11y.mjs +35 -21
  147. package/dist/es/components/ChannelListItem/utils.a11y.mjs.map +1 -1
  148. package/dist/es/components/ChannelListItem/utils.mjs +31 -30
  149. package/dist/es/components/ChannelListItem/utils.mjs.map +1 -1
  150. package/dist/es/components/Chat/Chat.mjs +17 -16
  151. package/dist/es/components/Chat/Chat.mjs.map +1 -1
  152. package/dist/es/components/Chat/hooks/useChat.mjs +7 -49
  153. package/dist/es/components/Chat/hooks/useChat.mjs.map +1 -1
  154. package/dist/es/components/Chat/hooks/useCreateChatClient.mjs +1 -1
  155. package/dist/es/components/Chat/hooks/useCreateChatClient.mjs.map +1 -1
  156. package/dist/es/components/Chat/hooks/useCreateChatContext.mjs +3 -11
  157. package/dist/es/components/Chat/hooks/useCreateChatContext.mjs.map +1 -1
  158. package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs +46 -0
  159. package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs.map +1 -0
  160. package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs +112 -24
  161. package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs.map +1 -1
  162. package/dist/es/components/Chat/hooks/useSplitActionSet.mjs +1 -1
  163. package/dist/es/components/Chat/hooks/useSplitActionSet.mjs.map +1 -1
  164. package/dist/es/components/Chat/hooks/useWSConnectionState.mjs +31 -0
  165. package/dist/es/components/Chat/hooks/useWSConnectionState.mjs.map +1 -0
  166. package/dist/es/components/DateSeparator/DateSeparator.mjs +2 -2
  167. package/dist/es/components/DateSeparator/DateSeparator.mjs.map +1 -1
  168. package/dist/es/components/Dialog/components/Alert.mjs +1 -1
  169. package/dist/es/components/Dialog/components/Callout.mjs +2 -2
  170. package/dist/es/components/Dialog/components/Callout.mjs.map +1 -1
  171. package/dist/es/components/Dialog/components/ContextMenu.mjs +9 -8
  172. package/dist/es/components/Dialog/components/ContextMenu.mjs.map +1 -1
  173. package/dist/es/components/Dialog/components/Prompt.mjs +5 -5
  174. package/dist/es/components/Dialog/components/Prompt.mjs.map +1 -1
  175. package/dist/es/components/Dialog/components/Viewer.mjs +5 -5
  176. package/dist/es/components/Dialog/components/Viewer.mjs.map +1 -1
  177. package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs +9 -1
  178. package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs.map +1 -1
  179. package/dist/es/components/Dialog/service/DialogManager.mjs +22 -19
  180. package/dist/es/components/Dialog/service/DialogManager.mjs.map +1 -1
  181. package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs +6 -5
  182. package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -1
  183. package/dist/es/components/Form/Dropdown.mjs +6 -3
  184. package/dist/es/components/Form/Dropdown.mjs.map +1 -1
  185. package/dist/es/components/Form/NumericInput.mjs +6 -5
  186. package/dist/es/components/Form/NumericInput.mjs.map +1 -1
  187. package/dist/es/components/Form/SwitchField.mjs +2 -2
  188. package/dist/es/components/Form/SwitchField.mjs.map +1 -1
  189. package/dist/es/components/Form/TextInput.mjs +1 -1
  190. package/dist/es/components/Gallery/GalleryContext.mjs +2 -8
  191. package/dist/es/components/Gallery/GalleryContext.mjs.map +1 -1
  192. package/dist/es/components/Gallery/GalleryHeader.mjs +39 -12
  193. package/dist/es/components/Gallery/GalleryHeader.mjs.map +1 -1
  194. package/dist/es/components/Gallery/GalleryUI.mjs +4 -4
  195. package/dist/es/components/Gallery/GalleryUI.mjs.map +1 -1
  196. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs +16 -14
  197. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs.map +1 -1
  198. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs +43 -0
  199. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs.map +1 -0
  200. package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs +1 -1
  201. package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs.map +1 -1
  202. package/dist/es/components/LoadMore/LoadMoreButton.mjs +3 -3
  203. package/dist/es/components/LoadMore/LoadMoreButton.mjs.map +1 -1
  204. package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs +2 -11
  205. package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs.map +1 -1
  206. package/dist/es/components/Loading/LoadingErrorIndicator.mjs +2 -2
  207. package/dist/es/components/Loading/LoadingErrorIndicator.mjs.map +1 -1
  208. package/dist/es/components/Loading/LoadingIndicator.mjs.map +1 -1
  209. package/dist/es/components/Loading/UploadProgressIndicator.mjs.map +1 -1
  210. package/dist/es/components/Loading/progress-indicators.mjs +2 -2
  211. package/dist/es/components/Loading/progress-indicators.mjs.map +1 -1
  212. package/dist/es/components/Location/ShareLocationDialog.mjs +13 -13
  213. package/dist/es/components/Location/ShareLocationDialog.mjs.map +1 -1
  214. package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs +1 -0
  215. package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs.map +1 -1
  216. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs +4 -4
  217. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs.map +1 -1
  218. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs +7 -7
  219. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs.map +1 -1
  220. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs +4 -4
  221. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs.map +1 -1
  222. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs +2 -2
  223. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs.map +1 -1
  224. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs +1 -1
  225. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs.map +1 -1
  226. package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs +4 -4
  227. package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs.map +1 -1
  228. package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs +32 -26
  229. package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs.map +1 -1
  230. package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs +5 -4
  231. package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs.map +1 -1
  232. package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs +195 -181
  233. package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs.map +1 -1
  234. package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs +7 -11
  235. package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs.map +1 -1
  236. package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs +1 -0
  237. package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs.map +1 -1
  238. package/dist/es/components/MediaRecorder/observable/Observable.mjs +2 -1
  239. package/dist/es/components/MediaRecorder/observable/Observable.mjs.map +1 -1
  240. package/dist/es/components/MediaRecorder/observable/Subject.mjs +3 -2
  241. package/dist/es/components/MediaRecorder/observable/Subject.mjs.map +1 -1
  242. package/dist/es/components/MediaRecorder/observable/Subscription.mjs +2 -1
  243. package/dist/es/components/MediaRecorder/observable/Subscription.mjs.map +1 -1
  244. package/dist/es/components/Message/Message.mjs +13 -54
  245. package/dist/es/components/Message/Message.mjs.map +1 -1
  246. package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs +10 -54
  247. package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs.map +1 -1
  248. package/dist/es/components/Message/MessageBlocked.mjs +2 -2
  249. package/dist/es/components/Message/MessageBlocked.mjs.map +1 -1
  250. package/dist/es/components/Message/MessageDeletedBubble.mjs +2 -2
  251. package/dist/es/components/Message/MessageDeletedBubble.mjs.map +1 -1
  252. package/dist/es/components/Message/MessageEditedIndicator.mjs +8 -7
  253. package/dist/es/components/Message/MessageEditedIndicator.mjs.map +1 -1
  254. package/dist/es/components/Message/MessageRepliesCountButton.mjs +43 -9
  255. package/dist/es/components/Message/MessageRepliesCountButton.mjs.map +1 -1
  256. package/dist/es/components/Message/MessageStatus.mjs +13 -11
  257. package/dist/es/components/Message/MessageStatus.mjs.map +1 -1
  258. package/dist/es/components/Message/MessageText.mjs +4 -4
  259. package/dist/es/components/Message/MessageText.mjs.map +1 -1
  260. package/dist/es/components/Message/MessageTimestamp.mjs +4 -3
  261. package/dist/es/components/Message/MessageTimestamp.mjs.map +1 -1
  262. package/dist/es/components/Message/MessageTranslationIndicator.mjs +7 -7
  263. package/dist/es/components/Message/MessageTranslationIndicator.mjs.map +1 -1
  264. package/dist/es/components/Message/MessageUI.mjs +22 -21
  265. package/dist/es/components/Message/MessageUI.mjs.map +1 -1
  266. package/dist/es/components/Message/PinIndicator.mjs +3 -3
  267. package/dist/es/components/Message/PinIndicator.mjs.map +1 -1
  268. package/dist/es/components/Message/QuotedMessage.mjs +4 -4
  269. package/dist/es/components/Message/QuotedMessage.mjs.map +1 -1
  270. package/dist/es/components/Message/ReminderNotification.mjs +13 -12
  271. package/dist/es/components/Message/ReminderNotification.mjs.map +1 -1
  272. package/dist/es/components/Message/StreamedMessageText.mjs +5 -4
  273. package/dist/es/components/Message/StreamedMessageText.mjs.map +1 -1
  274. package/dist/es/components/Message/Timestamp.mjs +5 -5
  275. package/dist/es/components/Message/Timestamp.mjs.map +1 -1
  276. package/dist/es/components/Message/hooks/useActionHandler.mjs +8 -7
  277. package/dist/es/components/Message/hooks/useActionHandler.mjs.map +1 -1
  278. package/dist/es/components/Message/hooks/useDeleteHandler.mjs +30 -11
  279. package/dist/es/components/Message/hooks/useDeleteHandler.mjs.map +1 -1
  280. package/dist/es/components/Message/hooks/useFlagHandler.mjs +3 -3
  281. package/dist/es/components/Message/hooks/useFlagHandler.mjs.map +1 -1
  282. package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs +8 -3
  283. package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs.map +1 -1
  284. package/dist/es/components/Message/hooks/useMentionsHandler.mjs +2 -4
  285. package/dist/es/components/Message/hooks/useMentionsHandler.mjs.map +1 -1
  286. package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs +72 -0
  287. package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs.map +1 -0
  288. package/dist/es/components/Message/hooks/useMessageReminder.mjs +1 -1
  289. package/dist/es/components/Message/hooks/useMuteHandler.mjs +26 -9
  290. package/dist/es/components/Message/hooks/useMuteHandler.mjs.map +1 -1
  291. package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs +13 -5
  292. package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs.map +1 -1
  293. package/dist/es/components/Message/hooks/usePinHandler.mjs +26 -21
  294. package/dist/es/components/Message/hooks/usePinHandler.mjs.map +1 -1
  295. package/dist/es/components/Message/hooks/useReactionHandler.mjs +25 -17
  296. package/dist/es/components/Message/hooks/useReactionHandler.mjs.map +1 -1
  297. package/dist/es/components/Message/hooks/useReactionsFetcher.mjs +6 -3
  298. package/dist/es/components/Message/hooks/useReactionsFetcher.mjs.map +1 -1
  299. package/dist/es/components/Message/hooks/useRetryHandler.mjs +9 -7
  300. package/dist/es/components/Message/hooks/useRetryHandler.mjs.map +1 -1
  301. package/dist/es/components/Message/hooks/useUserRole.mjs +16 -12
  302. package/dist/es/components/Message/hooks/useUserRole.mjs.map +1 -1
  303. package/dist/es/components/Message/renderText/renderText.mjs +1 -1
  304. package/dist/es/components/Message/utils.mjs +19 -56
  305. package/dist/es/components/Message/utils.mjs.map +1 -1
  306. package/dist/es/components/MessageActions/DeleteMessageAlert.mjs +5 -5
  307. package/dist/es/components/MessageActions/DeleteMessageAlert.mjs.map +1 -1
  308. package/dist/es/components/MessageActions/DownloadSubmenu.mjs +4 -4
  309. package/dist/es/components/MessageActions/DownloadSubmenu.mjs.map +1 -1
  310. package/dist/es/components/MessageActions/MessageActions.defaults.mjs +72 -73
  311. package/dist/es/components/MessageActions/MessageActions.defaults.mjs.map +1 -1
  312. package/dist/es/components/MessageActions/MessageActions.mjs +3 -3
  313. package/dist/es/components/MessageActions/MessageActions.mjs.map +1 -1
  314. package/dist/es/components/MessageActions/RemindMeSubmenu.mjs +7 -7
  315. package/dist/es/components/MessageActions/RemindMeSubmenu.mjs.map +1 -1
  316. package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs +7 -4
  317. package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs.map +1 -1
  318. package/dist/es/components/MessageBounce/MessageBounceModal.mjs +1 -1
  319. package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs +8 -8
  320. package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs.map +1 -1
  321. package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs +2 -2
  322. package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs +14 -14
  323. package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs.map +1 -1
  324. package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs +9 -9
  325. package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs.map +1 -1
  326. package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs +6 -6
  327. package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs.map +1 -1
  328. package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs +3 -4
  329. package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs.map +1 -1
  330. package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs +2 -2
  331. package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs.map +1 -1
  332. package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs +2 -2
  333. package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs +2 -2
  334. package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs.map +1 -1
  335. package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs +33 -30
  336. package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs.map +1 -1
  337. package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs +26 -31
  338. package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs.map +1 -1
  339. package/dist/es/components/MessageComposer/CommandChip.mjs +3 -3
  340. package/dist/es/components/MessageComposer/CommandChip.mjs.map +1 -1
  341. package/dist/es/components/MessageComposer/EditedMessagePreview.mjs +1 -1
  342. package/dist/es/components/MessageComposer/EditedMessagePreview.mjs.map +1 -1
  343. package/dist/es/components/MessageComposer/LinkPreviewList.mjs +3 -3
  344. package/dist/es/components/MessageComposer/MessageComposer.mjs +12 -17
  345. package/dist/es/components/MessageComposer/MessageComposer.mjs.map +1 -1
  346. package/dist/es/components/MessageComposer/MessageComposerActions.mjs +17 -13
  347. package/dist/es/components/MessageComposer/MessageComposerActions.mjs.map +1 -1
  348. package/dist/es/components/MessageComposer/MessageComposerUI.mjs +8 -8
  349. package/dist/es/components/MessageComposer/MessageComposerUI.mjs.map +1 -1
  350. package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs +40 -40
  351. package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs.map +1 -1
  352. package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs +2 -2
  353. package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs.map +1 -1
  354. package/dist/es/components/MessageComposer/SendButton.mjs +2 -2
  355. package/dist/es/components/MessageComposer/SendButton.mjs.map +1 -1
  356. package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs +2 -2
  357. package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs.map +1 -1
  358. package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs +1 -1
  359. package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs.map +1 -1
  360. package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs +9 -13
  361. package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs.map +1 -1
  362. package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs +15 -2
  363. package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs.map +1 -1
  364. package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs +2 -3
  365. package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs.map +1 -1
  366. package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs +1 -3
  367. package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs.map +1 -1
  368. package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs +2 -3
  369. package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs.map +1 -1
  370. package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs +0 -4
  371. package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs.map +1 -1
  372. package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs +4 -4
  373. package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs.map +1 -1
  374. package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs +8 -34
  375. package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs.map +1 -1
  376. package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs.map +1 -1
  377. package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs +16 -0
  378. package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs.map +1 -0
  379. package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs +1 -1
  380. package/dist/es/components/MessageComposer/hooks/utils.mjs.map +1 -1
  381. package/dist/es/components/MessageComposer/icons.mjs +2 -2
  382. package/dist/es/components/MessageComposer/icons.mjs.map +1 -1
  383. package/dist/es/components/MessageComposer/preEditSnapshot.mjs +1 -7
  384. package/dist/es/components/MessageComposer/preEditSnapshot.mjs.map +1 -1
  385. package/dist/es/components/MessageList/FloatingDateSeparator.mjs +7 -7
  386. package/dist/es/components/MessageList/FloatingDateSeparator.mjs.map +1 -1
  387. package/dist/es/components/MessageList/MessageList.mjs +168 -213
  388. package/dist/es/components/MessageList/MessageList.mjs.map +1 -1
  389. package/dist/es/components/MessageList/NewMessageNotification.mjs +5 -1
  390. package/dist/es/components/MessageList/NewMessageNotification.mjs.map +1 -1
  391. package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs +27 -22
  392. package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs.map +1 -1
  393. package/dist/es/components/MessageList/UnreadMessagesNotification.mjs +25 -9
  394. package/dist/es/components/MessageList/UnreadMessagesNotification.mjs.map +1 -1
  395. package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs +18 -7
  396. package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs.map +1 -1
  397. package/dist/es/components/MessageList/VirtualizedMessageList.mjs +186 -167
  398. package/dist/es/components/MessageList/VirtualizedMessageList.mjs.map +1 -1
  399. package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs +12 -12
  400. package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs.map +1 -1
  401. package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs +6 -7
  402. package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs.map +1 -1
  403. package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs +6 -10
  404. package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs.map +1 -1
  405. package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs +18 -10
  406. package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs.map +1 -1
  407. package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs +6 -4
  408. package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs.map +1 -1
  409. package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs +27 -202
  410. package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs.map +1 -1
  411. package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs +10 -5
  412. package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs.map +1 -1
  413. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs +6 -5
  414. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs.map +1 -1
  415. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs +4 -4
  416. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs.map +1 -1
  417. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs +5 -1
  418. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs.map +1 -1
  419. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs +14 -9
  420. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs.map +1 -1
  421. package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs +47 -0
  422. package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs.map +1 -0
  423. package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs +6 -38
  424. package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs.map +1 -1
  425. package/dist/es/components/MessageList/hooks/useLastReadData.mjs +6 -23
  426. package/dist/es/components/MessageList/hooks/useLastReadData.mjs.map +1 -1
  427. package/dist/es/components/MessageList/hooks/useMarkRead.mjs +78 -48
  428. package/dist/es/components/MessageList/hooks/useMarkRead.mjs.map +1 -1
  429. package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs +71 -0
  430. package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs.map +1 -0
  431. package/dist/es/components/MessageList/hooks/useThreadHead.mjs +26 -0
  432. package/dist/es/components/MessageList/hooks/useThreadHead.mjs.map +1 -0
  433. package/dist/es/components/MessageList/messageSourceKey.mjs +37 -0
  434. package/dist/es/components/MessageList/messageSourceKey.mjs.map +1 -0
  435. package/dist/es/components/MessageList/renderMessages.mjs +11 -11
  436. package/dist/es/components/MessageList/renderMessages.mjs.map +1 -1
  437. package/dist/es/components/MessageList/utils.mjs +40 -33
  438. package/dist/es/components/MessageList/utils.mjs.map +1 -1
  439. package/dist/es/components/Modal/GlobalModal.mjs +2 -2
  440. package/dist/es/components/Notifications/Notification.mjs +10 -9
  441. package/dist/es/components/Notifications/Notification.mjs.map +1 -1
  442. package/dist/es/components/Notifications/NotificationList.mjs +5 -19
  443. package/dist/es/components/Notifications/NotificationList.mjs.map +1 -1
  444. package/dist/es/components/Notifications/hooks/useNotificationApi.mjs +69 -62
  445. package/dist/es/components/Notifications/hooks/useNotificationApi.mjs.map +1 -1
  446. package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs +8 -12
  447. package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs.map +1 -1
  448. package/dist/es/components/Notifications/hooks/useNotifications.mjs +1 -1
  449. package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs +1 -1
  450. package/dist/es/components/Notifications/notificationTarget.mjs +17 -2
  451. package/dist/es/components/Notifications/notificationTarget.mjs.map +1 -1
  452. package/dist/es/components/Poll/Poll.mjs +1 -1
  453. package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs +8 -8
  454. package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs.map +1 -1
  455. package/dist/es/components/Poll/PollActions/EndPollAlert.mjs +9 -9
  456. package/dist/es/components/Poll/PollActions/EndPollAlert.mjs.map +1 -1
  457. package/dist/es/components/Poll/PollActions/PollActions.mjs +20 -14
  458. package/dist/es/components/Poll/PollActions/PollActions.mjs.map +1 -1
  459. package/dist/es/components/Poll/PollActions/PollAnswerList.mjs +8 -8
  460. package/dist/es/components/Poll/PollActions/PollAnswerList.mjs.map +1 -1
  461. package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs +4 -4
  462. package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs.map +1 -1
  463. package/dist/es/components/Poll/PollActions/PollQuestion.mjs +1 -1
  464. package/dist/es/components/Poll/PollActions/PollQuestion.mjs.map +1 -1
  465. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs +7 -5
  466. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs.map +1 -1
  467. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs +8 -4
  468. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs.map +1 -1
  469. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs +1 -1
  470. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs.map +1 -1
  471. package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs +11 -7
  472. package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs.map +1 -1
  473. package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs +15 -12
  474. package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs.map +1 -1
  475. package/dist/es/components/Poll/PollContent.mjs +2 -2
  476. package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs +13 -11
  477. package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs.map +1 -1
  478. package/dist/es/components/Poll/PollCreationDialog/NameField.mjs +6 -5
  479. package/dist/es/components/Poll/PollCreationDialog/NameField.mjs.map +1 -1
  480. package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs +14 -13
  481. package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs.map +1 -1
  482. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs +11 -12
  483. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs.map +1 -1
  484. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs +11 -20
  485. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs.map +1 -1
  486. package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs +5 -5
  487. package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs.map +1 -1
  488. package/dist/es/components/Poll/PollHeader.mjs +10 -6
  489. package/dist/es/components/Poll/PollHeader.mjs.map +1 -1
  490. package/dist/es/components/Poll/PollOptionList.mjs +8 -4
  491. package/dist/es/components/Poll/PollOptionList.mjs.map +1 -1
  492. package/dist/es/components/Poll/PollOptionSelector.mjs +13 -7
  493. package/dist/es/components/Poll/PollOptionSelector.mjs.map +1 -1
  494. package/dist/es/components/Poll/PollVote.mjs +6 -5
  495. package/dist/es/components/Poll/PollVote.mjs.map +1 -1
  496. package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs.map +1 -1
  497. package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs +5 -5
  498. package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs.map +1 -1
  499. package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs +6 -5
  500. package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs.map +1 -1
  501. package/dist/es/components/ReactFileUtilities/UploadButton.mjs +5 -5
  502. package/dist/es/components/ReactFileUtilities/UploadButton.mjs.map +1 -1
  503. package/dist/es/components/Reactions/MessageReactions.mjs +7 -7
  504. package/dist/es/components/Reactions/MessageReactions.mjs.map +1 -1
  505. package/dist/es/components/Reactions/MessageReactionsDetail.mjs +19 -12
  506. package/dist/es/components/Reactions/MessageReactionsDetail.mjs.map +1 -1
  507. package/dist/es/components/Reactions/ReactionSelector.mjs +15 -21
  508. package/dist/es/components/Reactions/ReactionSelector.mjs.map +1 -1
  509. package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs +4 -4
  510. package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs.map +1 -1
  511. package/dist/es/components/Reactions/hooks/useFetchReactions.mjs +3 -3
  512. package/dist/es/components/Reactions/hooks/useFetchReactions.mjs.map +1 -1
  513. package/dist/es/components/Reactions/hooks/useProcessReactions.mjs +5 -4
  514. package/dist/es/components/Reactions/hooks/useProcessReactions.mjs.map +1 -1
  515. package/dist/es/components/Search/Search.mjs +1 -1
  516. package/dist/es/components/Search/SearchBar/SearchBar.mjs +8 -7
  517. package/dist/es/components/Search/SearchBar/SearchBar.mjs.map +1 -1
  518. package/dist/es/components/Search/SearchContext.mjs +2 -3
  519. package/dist/es/components/Search/SearchContext.mjs.map +1 -1
  520. package/dist/es/components/Search/SearchResults/SearchResultItem.mjs +56 -39
  521. package/dist/es/components/Search/SearchResults/SearchResultItem.mjs.map +1 -1
  522. package/dist/es/components/Search/SearchResults/SearchResults.mjs +4 -4
  523. package/dist/es/components/Search/SearchResults/SearchResults.mjs.map +1 -1
  524. package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs +6 -5
  525. package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs.map +1 -1
  526. package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs +1 -1
  527. package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs.map +1 -1
  528. package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs +1 -1
  529. package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs +2 -2
  530. package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs.map +1 -1
  531. package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs +1 -1
  532. package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs +1 -1
  533. package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs.map +1 -1
  534. package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs +1 -1
  535. package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs.map +1 -1
  536. package/dist/es/components/Search/SearchSourceResultsContext.mjs +2 -3
  537. package/dist/es/components/Search/SearchSourceResultsContext.mjs.map +1 -1
  538. package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs +1 -1
  539. package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs.map +1 -1
  540. package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs +44 -19
  541. package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs.map +1 -1
  542. package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs +1 -1
  543. package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs.map +1 -1
  544. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs +2 -2
  545. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs.map +1 -1
  546. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs +2 -2
  547. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs.map +1 -1
  548. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs.map +1 -1
  549. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs +11 -11
  550. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs.map +1 -1
  551. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs +1 -1
  552. package/dist/es/components/TextareaComposer/TextareaComposer.mjs +13 -11
  553. package/dist/es/components/TextareaComposer/TextareaComposer.mjs.map +1 -1
  554. package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs +12 -11
  555. package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs.map +1 -1
  556. package/dist/es/components/Thread/Thread.mjs +89 -92
  557. package/dist/es/components/Thread/Thread.mjs.map +1 -1
  558. package/dist/es/components/Thread/ThreadHead.mjs +5 -4
  559. package/dist/es/components/Thread/ThreadHead.mjs.map +1 -1
  560. package/dist/es/components/Thread/ThreadHeader.mjs +31 -41
  561. package/dist/es/components/Thread/ThreadHeader.mjs.map +1 -1
  562. package/dist/es/components/Thread/ThreadStart.mjs +11 -10
  563. package/dist/es/components/Thread/ThreadStart.mjs.map +1 -1
  564. package/dist/es/components/Threads/ThreadContext.mjs +1 -5
  565. package/dist/es/components/Threads/ThreadContext.mjs.map +1 -1
  566. package/dist/es/components/Threads/ThreadList/ThreadList.mjs +19 -27
  567. package/dist/es/components/Threads/ThreadList/ThreadList.mjs.map +1 -1
  568. package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs +3 -3
  569. package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs.map +1 -1
  570. package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs +4 -4
  571. package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs.map +1 -1
  572. package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs +30 -30
  573. package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs.map +1 -1
  574. package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs +1 -1
  575. package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs +7 -3
  576. package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs.map +1 -1
  577. package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs +47 -0
  578. package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs.map +1 -0
  579. package/dist/es/components/Threads/ThreadList/utils.a11y.mjs +13 -8
  580. package/dist/es/components/Threads/ThreadList/utils.a11y.mjs.map +1 -1
  581. package/dist/es/components/Threads/hooks/useCloseThread.mjs +30 -0
  582. package/dist/es/components/Threads/hooks/useCloseThread.mjs.map +1 -0
  583. package/dist/es/components/TypingIndicator/TypingIndicator.mjs +23 -17
  584. package/dist/es/components/TypingIndicator/TypingIndicator.mjs.map +1 -1
  585. package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs +15 -11
  586. package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs.map +1 -1
  587. package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs.map +1 -1
  588. package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs +7 -3
  589. package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs.map +1 -1
  590. package/dist/es/components/VideoPlayer/VideoThumbnail.mjs +2 -2
  591. package/dist/es/components/VideoPlayer/VideoThumbnail.mjs.map +1 -1
  592. package/dist/es/context/AttachmentContext.mjs +16 -0
  593. package/dist/es/context/AttachmentContext.mjs.map +1 -0
  594. package/dist/es/context/ChannelInstanceContext.mjs +17 -0
  595. package/dist/es/context/ChannelInstanceContext.mjs.map +1 -0
  596. package/dist/es/context/ChannelListContext.mjs +3 -6
  597. package/dist/es/context/ChannelListContext.mjs.map +1 -1
  598. package/dist/es/context/ChatContext.mjs +2 -8
  599. package/dist/es/context/ChatContext.mjs.map +1 -1
  600. package/dist/es/context/ComponentContext.mjs +1 -1
  601. package/dist/es/context/ComponentContext.mjs.map +1 -1
  602. package/dist/es/context/DialogManagerContext.mjs +2 -2
  603. package/dist/es/context/DialogManagerContext.mjs.map +1 -1
  604. package/dist/es/context/MessageBounceContext.mjs +12 -14
  605. package/dist/es/context/MessageBounceContext.mjs.map +1 -1
  606. package/dist/es/context/MessageComposerContext.mjs +8 -6
  607. package/dist/es/context/MessageComposerContext.mjs.map +1 -1
  608. package/dist/es/context/MessageComposerControllerContext.mjs +19 -0
  609. package/dist/es/context/MessageComposerControllerContext.mjs.map +1 -0
  610. package/dist/es/context/MessageContext.mjs +2 -5
  611. package/dist/es/context/MessageContext.mjs.map +1 -1
  612. package/dist/es/context/MessageListContext.mjs +2 -8
  613. package/dist/es/context/MessageListContext.mjs.map +1 -1
  614. package/dist/es/context/MessageTranslationViewContext.mjs +3 -6
  615. package/dist/es/context/MessageTranslationViewContext.mjs.map +1 -1
  616. package/dist/es/context/ModalContext.mjs +6 -8
  617. package/dist/es/context/ModalContext.mjs.map +1 -1
  618. package/dist/es/context/PollContext.mjs +2 -3
  619. package/dist/es/context/PollContext.mjs.map +1 -1
  620. package/dist/es/context/TranslationContext.mjs +8 -21
  621. package/dist/es/context/TranslationContext.mjs.map +1 -1
  622. package/dist/es/context/VirtualizedMessageListContext.mjs +2 -1
  623. package/dist/es/context/VirtualizedMessageListContext.mjs.map +1 -1
  624. package/dist/es/context/WithComponents.mjs +3 -3
  625. package/dist/es/context/WithComponents.mjs.map +1 -1
  626. package/dist/es/context/WorkspaceNavigationContext.mjs +45 -0
  627. package/dist/es/context/WorkspaceNavigationContext.mjs.map +1 -0
  628. package/dist/es/context/requireContext.mjs +17 -0
  629. package/dist/es/context/requireContext.mjs.map +1 -0
  630. package/dist/es/context/useChannel.mjs +14 -0
  631. package/dist/es/context/useChannel.mjs.map +1 -0
  632. package/dist/es/context/useComponentContextIcons.mjs +8 -13
  633. package/dist/es/context/useComponentContextIcons.mjs.map +1 -1
  634. package/dist/es/hooks/useIsDmChannel.mjs +30 -0
  635. package/dist/es/hooks/useIsDmChannel.mjs.map +1 -0
  636. package/dist/es/hooks/useMessagePaginator.mjs +14 -0
  637. package/dist/es/hooks/useMessagePaginator.mjs.map +1 -0
  638. package/dist/es/i18n/Streami18n.mjs +38 -521
  639. package/dist/es/i18n/Streami18n.mjs.map +1 -1
  640. package/dist/es/i18n/TranslationBuilder/index.mjs +3 -0
  641. package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs +22 -24
  642. package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs.map +1 -1
  643. package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs +20 -31
  644. package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs.map +1 -1
  645. package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs +42 -15
  646. package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs.map +1 -1
  647. package/dist/es/i18n/runtimeDefaults.mjs +41 -0
  648. package/dist/es/i18n/runtimeDefaults.mjs.map +1 -0
  649. package/dist/es/i18n/useStreami18n.mjs +41 -0
  650. package/dist/es/i18n/useStreami18n.mjs.map +1 -0
  651. package/dist/es/i18n/utils.mjs +7 -125
  652. package/dist/es/i18n/utils.mjs.map +1 -1
  653. package/dist/es/index.mjs +175 -180
  654. package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs +4 -4
  655. package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs.map +1 -1
  656. package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs +1 -1
  657. package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs.map +1 -1
  658. package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs.map +1 -1
  659. package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs +3 -3
  660. package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs.map +1 -1
  661. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs +4 -5
  662. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs.map +1 -1
  663. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs +4 -4
  664. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs.map +1 -1
  665. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs +9 -8
  666. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs.map +1 -1
  667. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs +7 -6
  668. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs.map +1 -1
  669. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs +1 -1
  670. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs +44 -44
  671. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs.map +1 -1
  672. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs +25 -25
  673. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs.map +1 -1
  674. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs +4 -4
  675. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs.map +1 -1
  676. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs +13 -13
  677. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs.map +1 -1
  678. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs +8 -3
  679. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs.map +1 -1
  680. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs +1 -1
  681. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs +44 -41
  682. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs.map +1 -1
  683. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs +6 -5
  684. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs.map +1 -1
  685. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs +19 -11
  686. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs.map +1 -1
  687. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs +12 -11
  688. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs.map +1 -1
  689. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs +8 -8
  690. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs.map +1 -1
  691. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs +8 -4
  692. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs.map +1 -1
  693. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs +1 -1
  694. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs.map +1 -1
  695. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs +3 -3
  696. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs.map +1 -1
  697. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs +24 -21
  698. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs.map +1 -1
  699. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs +9 -17
  700. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs.map +1 -1
  701. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs +1 -1
  702. package/dist/es/plugins/Emojis/EmojiPicker.mjs +9 -8
  703. package/dist/es/plugins/Emojis/EmojiPicker.mjs.map +1 -1
  704. package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs +2 -1
  705. package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs.map +1 -1
  706. package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs +141 -0
  707. package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs.map +1 -0
  708. package/dist/es/plugins/SlotLayout/ChannelSlot.mjs +30 -0
  709. package/dist/es/plugins/SlotLayout/ChannelSlot.mjs.map +1 -0
  710. package/dist/es/{components/ChatView → plugins/SlotLayout}/ChatView.a11y.utility.mjs +1 -1
  711. package/dist/es/plugins/SlotLayout/ChatView.a11y.utility.mjs.map +1 -0
  712. package/dist/es/plugins/SlotLayout/ChatView.mjs +277 -0
  713. package/dist/es/plugins/SlotLayout/ChatView.mjs.map +1 -0
  714. package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs +239 -0
  715. package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs.map +1 -0
  716. package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs +42 -0
  717. package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs.map +1 -0
  718. package/dist/es/plugins/SlotLayout/ThreadSlot.mjs +34 -0
  719. package/dist/es/plugins/SlotLayout/ThreadSlot.mjs.map +1 -0
  720. package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs +26 -0
  721. package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs.map +1 -0
  722. package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs +167 -0
  723. package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs.map +1 -0
  724. package/dist/es/plugins/SlotLayout/layout/Slot.mjs +46 -0
  725. package/dist/es/plugins/SlotLayout/layout/Slot.mjs.map +1 -0
  726. package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs +23 -0
  727. package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs.map +1 -0
  728. package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs +376 -0
  729. package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs.map +1 -0
  730. package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs +80 -0
  731. package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs.map +1 -0
  732. package/dist/es/plugins/SlotLayout/slotBinding.mjs +15 -0
  733. package/dist/es/plugins/SlotLayout/slotBinding.mjs.map +1 -0
  734. package/dist/es/plugins/SlotLayout/slotRegistry.mjs +64 -0
  735. package/dist/es/plugins/SlotLayout/slotRegistry.mjs.map +1 -0
  736. package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs +130 -0
  737. package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs.map +1 -0
  738. package/dist/es/slot-geometry.mjs +2 -0
  739. package/dist/es/slot-layout.mjs +14 -0
  740. package/dist/es/store/hooks/useStateStore.mjs.map +1 -1
  741. package/dist/es/utils/getChannel.mjs +5 -2
  742. package/dist/es/utils/getChannel.mjs.map +1 -1
  743. package/dist/es/utils/useStableCallback.mjs +1 -1
  744. package/dist/es/utils/useStableCallback.mjs.map +1 -1
  745. package/dist/types/a11y/accessibleLabel.d.ts.map +1 -1
  746. package/dist/types/components/AIStateIndicator/AIStateIndicator.d.ts.map +1 -1
  747. package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts +3 -8
  748. package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts.map +1 -1
  749. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts +1 -2
  750. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts.map +1 -1
  751. package/dist/types/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts.map +1 -1
  752. package/dist/types/components/Accessibility/hooks/useInteractionAnnouncements.d.ts.map +1 -1
  753. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts +4 -0
  754. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts.map +1 -1
  755. package/dist/types/components/Attachment/Attachment.d.ts +13 -2
  756. package/dist/types/components/Attachment/Attachment.d.ts.map +1 -1
  757. package/dist/types/components/Attachment/AttachmentActions.d.ts.map +1 -1
  758. package/dist/types/components/Attachment/AttachmentContainer.d.ts +2 -2
  759. package/dist/types/components/Attachment/AttachmentContainer.d.ts.map +1 -1
  760. package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
  761. package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -1
  762. package/dist/types/components/Attachment/Geolocation.d.ts +3 -3
  763. package/dist/types/components/Attachment/Geolocation.d.ts.map +1 -1
  764. package/dist/types/components/Attachment/Giphy.d.ts.map +1 -1
  765. package/dist/types/components/Attachment/LinkPreview/Card.d.ts.map +1 -1
  766. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts +1 -1
  767. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -1
  768. package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -1
  769. package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  770. package/dist/types/components/Attachment/VideoAttachment.d.ts.map +1 -1
  771. package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts.map +1 -1
  772. package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
  773. package/dist/types/components/Attachment/components/DownloadButton.d.ts.map +1 -1
  774. package/dist/types/components/Attachment/components/index.d.ts +1 -1
  775. package/dist/types/components/Attachment/components/index.d.ts.map +1 -1
  776. package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts +0 -28
  777. package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts.map +1 -1
  778. package/dist/types/components/Attachment/index.d.ts +1 -1
  779. package/dist/types/components/Attachment/index.d.ts.map +1 -1
  780. package/dist/types/components/Attachment/utils.d.ts +2 -2
  781. package/dist/types/components/Attachment/utils.d.ts.map +1 -1
  782. package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts +37 -0
  783. package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts.map +1 -0
  784. package/dist/types/components/AudioPlayback/AudioPlayer.d.ts +1 -1
  785. package/dist/types/components/AudioPlayback/AudioPlayer.d.ts.map +1 -1
  786. package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts +19 -31
  787. package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts.map +1 -1
  788. package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts +17 -2
  789. package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts.map +1 -1
  790. package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts.map +1 -1
  791. package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts.map +1 -1
  792. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts +2 -2
  793. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts.map +1 -1
  794. package/dist/types/components/AudioPlayback/index.d.ts.map +1 -1
  795. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +2 -2
  796. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -1
  797. package/dist/types/components/Avatar/Avatar.d.ts +1 -5
  798. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  799. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  800. package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -1
  801. package/dist/types/components/BaseImage/ImagePlaceholder.d.ts.map +1 -1
  802. package/dist/types/components/Button/PlayButton.d.ts.map +1 -1
  803. package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts +11 -0
  804. package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts.map +1 -0
  805. package/dist/types/components/Button/index.d.ts +1 -0
  806. package/dist/types/components/Button/index.d.ts.map +1 -1
  807. package/dist/types/components/Channel/Channel.d.ts +9 -57
  808. package/dist/types/components/Channel/Channel.d.ts.map +1 -1
  809. package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts +4 -0
  810. package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts.map +1 -0
  811. package/dist/types/components/Channel/index.d.ts +1 -2
  812. package/dist/types/components/Channel/index.d.ts.map +1 -1
  813. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +12 -0
  814. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  815. package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts +8 -0
  816. package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts.map +1 -1
  817. package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts +7 -8
  818. package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts.map +1 -1
  819. package/dist/types/components/ChannelList/ChannelList.d.ts +11 -78
  820. package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
  821. package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -1
  822. package/dist/types/components/ChannelList/ChannelLists.d.ts +10 -0
  823. package/dist/types/components/ChannelList/ChannelLists.d.ts.map +1 -0
  824. package/dist/types/components/ChannelList/ChannelNavigation.d.ts +9 -0
  825. package/dist/types/components/ChannelList/ChannelNavigation.d.ts.map +1 -0
  826. package/dist/types/components/ChannelList/hooks/index.d.ts +1 -2
  827. package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -1
  828. package/dist/types/components/ChannelList/hooks/useChannelMembersState.d.ts.map +1 -1
  829. package/dist/types/components/ChannelList/hooks/useChannelMembershipState.d.ts.map +1 -1
  830. package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts +18 -0
  831. package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts.map +1 -0
  832. package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts +3 -3
  833. package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +1 -1
  834. package/dist/types/components/ChannelList/index.d.ts +3 -2
  835. package/dist/types/components/ChannelList/index.d.ts.map +1 -1
  836. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +9 -18
  837. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  838. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
  839. package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts +3 -3
  840. package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts.map +1 -1
  841. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  842. package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts +1 -1
  843. package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts.map +1 -1
  844. package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts +8 -5
  845. package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts.map +1 -1
  846. package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts.map +1 -1
  847. package/dist/types/components/ChannelListItem/utils.a11y.d.ts +14 -5
  848. package/dist/types/components/ChannelListItem/utils.a11y.d.ts.map +1 -1
  849. package/dist/types/components/ChannelListItem/utils.d.ts +1 -1
  850. package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -1
  851. package/dist/types/components/Chat/Chat.d.ts +1 -4
  852. package/dist/types/components/Chat/Chat.d.ts.map +1 -1
  853. package/dist/types/components/Chat/hooks/useChat.d.ts +4 -16
  854. package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -1
  855. package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts +2 -2
  856. package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -1
  857. package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  858. package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts +34 -0
  859. package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts.map +1 -0
  860. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts +26 -2
  861. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts.map +1 -1
  862. package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts +22 -0
  863. package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts.map +1 -0
  864. package/dist/types/components/Chat/index.d.ts +2 -0
  865. package/dist/types/components/Chat/index.d.ts.map +1 -1
  866. package/dist/types/components/Dialog/components/ContextMenu.d.ts +0 -4
  867. package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
  868. package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts +2 -2
  869. package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts.map +1 -1
  870. package/dist/types/components/Dialog/service/DialogManager.d.ts +1 -1
  871. package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
  872. package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
  873. package/dist/types/components/Form/Dropdown.d.ts +4 -1
  874. package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
  875. package/dist/types/components/Form/NumericInput.d.ts.map +1 -1
  876. package/dist/types/components/Gallery/GalleryContext.d.ts +5 -0
  877. package/dist/types/components/Gallery/GalleryContext.d.ts.map +1 -1
  878. package/dist/types/components/Gallery/GalleryHeader.d.ts.map +1 -1
  879. package/dist/types/components/Gallery/GalleryUI.d.ts.map +1 -1
  880. package/dist/types/components/Icons/index.d.ts +1 -1
  881. package/dist/types/components/Icons/index.d.ts.map +1 -1
  882. package/dist/types/components/Icons/slots.d.ts +18 -7
  883. package/dist/types/components/Icons/slots.d.ts.map +1 -1
  884. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +8 -2
  885. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +1 -1
  886. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts +43 -0
  887. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts.map +1 -0
  888. package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts +1 -1
  889. package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts.map +1 -1
  890. package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  891. package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts +3 -0
  892. package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts.map +1 -1
  893. package/dist/types/components/Loading/LoadingErrorIndicator.d.ts.map +1 -1
  894. package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -3
  895. package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
  896. package/dist/types/components/Loading/UploadProgressIndicator.d.ts +2 -2
  897. package/dist/types/components/Loading/index.d.ts +1 -1
  898. package/dist/types/components/Loading/index.d.ts.map +1 -1
  899. package/dist/types/components/Loading/progress-indicators.d.ts.map +1 -1
  900. package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
  901. package/dist/types/components/Location/hooks/useLiveLocationSharingManager.d.ts.map +1 -1
  902. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
  903. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -1
  904. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -1
  905. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -1
  906. package/dist/types/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts.map +1 -1
  907. package/dist/types/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -1
  908. package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts +2 -2
  909. package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -1
  910. package/dist/types/components/Message/Message.d.ts.map +1 -1
  911. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts +11 -1
  912. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
  913. package/dist/types/components/Message/MessageDeletedBubble.d.ts.map +1 -1
  914. package/dist/types/components/Message/MessageEditedIndicator.d.ts.map +1 -1
  915. package/dist/types/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  916. package/dist/types/components/Message/MessageStatus.d.ts.map +1 -1
  917. package/dist/types/components/Message/MessageText.d.ts.map +1 -1
  918. package/dist/types/components/Message/MessageTimestamp.d.ts.map +1 -1
  919. package/dist/types/components/Message/MessageTranslationIndicator.d.ts.map +1 -1
  920. package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
  921. package/dist/types/components/Message/ReminderNotification.d.ts.map +1 -1
  922. package/dist/types/components/Message/StreamedMessageText.d.ts.map +1 -1
  923. package/dist/types/components/Message/Timestamp.d.ts.map +1 -1
  924. package/dist/types/components/Message/hooks/index.d.ts +1 -0
  925. package/dist/types/components/Message/hooks/index.d.ts.map +1 -1
  926. package/dist/types/components/Message/hooks/useActionHandler.d.ts +1 -1
  927. package/dist/types/components/Message/hooks/useActionHandler.d.ts.map +1 -1
  928. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +6 -2
  929. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
  930. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +6 -1
  931. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -1
  932. package/dist/types/components/Message/hooks/useMentionsHandler.d.ts.map +1 -1
  933. package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts +22 -0
  934. package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts.map +1 -0
  935. package/dist/types/components/Message/hooks/useMuteHandler.d.ts +7 -2
  936. package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
  937. package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts +1 -0
  938. package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -1
  939. package/dist/types/components/Message/hooks/usePinHandler.d.ts +23 -2
  940. package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -1
  941. package/dist/types/components/Message/hooks/useReactionHandler.d.ts +1 -1
  942. package/dist/types/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  943. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +2 -2
  944. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
  945. package/dist/types/components/Message/hooks/useRetryHandler.d.ts +3 -2
  946. package/dist/types/components/Message/hooks/useRetryHandler.d.ts.map +1 -1
  947. package/dist/types/components/Message/hooks/useUserRole.d.ts +1 -0
  948. package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
  949. package/dist/types/components/Message/types.d.ts +11 -20
  950. package/dist/types/components/Message/types.d.ts.map +1 -1
  951. package/dist/types/components/Message/utils.d.ts +7 -38
  952. package/dist/types/components/Message/utils.d.ts.map +1 -1
  953. package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts.map +1 -1
  954. package/dist/types/components/MessageActions/DownloadSubmenu.d.ts.map +1 -1
  955. package/dist/types/components/MessageActions/MessageActions.d.ts +6 -2
  956. package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -1
  957. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  958. package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
  959. package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts.map +1 -1
  960. package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
  961. package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
  962. package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
  963. package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts.map +1 -1
  964. package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
  965. package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
  966. package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts +1 -1
  967. package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts.map +1 -1
  968. package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -1
  969. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  970. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +5 -5
  971. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  972. package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
  973. package/dist/types/components/MessageComposer/EditMessageForm.d.ts +1 -0
  974. package/dist/types/components/MessageComposer/EditMessageForm.d.ts.map +1 -0
  975. package/dist/types/components/MessageComposer/MessageComposer.d.ts +1 -17
  976. package/dist/types/components/MessageComposer/MessageComposer.d.ts.map +1 -1
  977. package/dist/types/components/MessageComposer/MessageComposerActions.d.ts.map +1 -1
  978. package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -1
  979. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +3 -3
  980. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  981. package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -1
  982. package/dist/types/components/MessageComposer/SendButton.d.ts.map +1 -1
  983. package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts.map +1 -1
  984. package/dist/types/components/MessageComposer/StopAIGenerationButton.d.ts.map +1 -1
  985. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts +2 -5
  986. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  987. package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
  988. package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
  989. package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts +5 -1
  990. package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts.map +1 -1
  991. package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts +1 -2
  992. package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts.map +1 -1
  993. package/dist/types/components/MessageComposer/hooks/useCreateMessageComposerContext.d.ts.map +1 -1
  994. package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts +0 -1
  995. package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts.map +1 -1
  996. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +2 -2
  997. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -1
  998. package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts +1 -1
  999. package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts.map +1 -1
  1000. package/dist/types/components/MessageComposer/hooks/useMessageComposerHasSendableData.d.ts.map +1 -1
  1001. package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts +7 -0
  1002. package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts.map +1 -0
  1003. package/dist/types/components/MessageComposer/index.d.ts +2 -1
  1004. package/dist/types/components/MessageComposer/index.d.ts.map +1 -1
  1005. package/dist/types/components/MessageList/FloatingDateSeparator.d.ts +1 -1
  1006. package/dist/types/components/MessageList/FloatingDateSeparator.d.ts.map +1 -1
  1007. package/dist/types/components/MessageList/MessageList.d.ts +24 -25
  1008. package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
  1009. package/dist/types/components/MessageList/NewMessageNotification.d.ts.map +1 -1
  1010. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts +0 -1
  1011. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -1
  1012. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts +1 -4
  1013. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  1014. package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
  1015. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +23 -42
  1016. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  1017. package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  1018. package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +3 -3
  1019. package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
  1020. package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts +2 -2
  1021. package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts.map +1 -1
  1022. package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +1 -3
  1023. package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -1
  1024. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +1 -0
  1025. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
  1026. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +6 -25
  1027. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
  1028. package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +1 -1
  1029. package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -1
  1030. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts +2 -2
  1031. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts.map +1 -1
  1032. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +1 -1
  1033. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts.map +1 -1
  1034. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +1 -5
  1035. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -1
  1036. package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts +32 -0
  1037. package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts.map +1 -0
  1038. package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts +1 -0
  1039. package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts.map +1 -1
  1040. package/dist/types/components/MessageList/hooks/useLastReadData.d.ts +1 -0
  1041. package/dist/types/components/MessageList/hooks/useLastReadData.d.ts.map +1 -1
  1042. package/dist/types/components/MessageList/hooks/useMarkRead.d.ts +5 -9
  1043. package/dist/types/components/MessageList/hooks/useMarkRead.d.ts.map +1 -1
  1044. package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts +12 -0
  1045. package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts.map +1 -0
  1046. package/dist/types/components/MessageList/hooks/useThreadHead.d.ts +9 -0
  1047. package/dist/types/components/MessageList/hooks/useThreadHead.d.ts.map +1 -0
  1048. package/dist/types/components/MessageList/messageSourceKey.d.ts +14 -0
  1049. package/dist/types/components/MessageList/messageSourceKey.d.ts.map +1 -0
  1050. package/dist/types/components/MessageList/renderMessages.d.ts +11 -9
  1051. package/dist/types/components/MessageList/renderMessages.d.ts.map +1 -1
  1052. package/dist/types/components/MessageList/utils.d.ts +22 -13
  1053. package/dist/types/components/MessageList/utils.d.ts.map +1 -1
  1054. package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -1
  1055. package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
  1056. package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
  1057. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts +3 -0
  1058. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -1
  1059. package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -1
  1060. package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
  1061. package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts.map +1 -1
  1062. package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -1
  1063. package/dist/types/components/Poll/PollActions/PollActions.d.ts.map +1 -1
  1064. package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts.map +1 -1
  1065. package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts.map +1 -1
  1066. package/dist/types/components/Poll/PollActions/PollQuestion.d.ts.map +1 -1
  1067. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts +2 -2
  1068. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts.map +1 -1
  1069. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +2 -2
  1070. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts.map +1 -1
  1071. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts +2 -2
  1072. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts.map +1 -1
  1073. package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts.map +1 -1
  1074. package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts.map +1 -1
  1075. package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts.map +1 -1
  1076. package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts.map +1 -1
  1077. package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
  1078. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts.map +1 -1
  1079. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts.map +1 -1
  1080. package/dist/types/components/Poll/PollCreationDialog/PollOptionReorderHandle.d.ts.map +1 -1
  1081. package/dist/types/components/Poll/PollHeader.d.ts.map +1 -1
  1082. package/dist/types/components/Poll/PollOptionList.d.ts.map +1 -1
  1083. package/dist/types/components/Poll/PollOptionSelector.d.ts +2 -2
  1084. package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
  1085. package/dist/types/components/Poll/PollVote.d.ts +1 -1
  1086. package/dist/types/components/Poll/PollVote.d.ts.map +1 -1
  1087. package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -2
  1088. package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts.map +1 -1
  1089. package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -2
  1090. package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts.map +1 -1
  1091. package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -2
  1092. package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts.map +1 -1
  1093. package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
  1094. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +2 -2
  1095. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  1096. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  1097. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts +0 -5
  1098. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts.map +1 -1
  1099. package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts +2 -2
  1100. package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
  1101. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts +1 -3
  1102. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  1103. package/dist/types/components/Search/SearchBar/SearchBar.d.ts.map +1 -1
  1104. package/dist/types/components/Search/SearchContext.d.ts.map +1 -1
  1105. package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts +20 -6
  1106. package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -1
  1107. package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts.map +1 -1
  1108. package/dist/types/components/Search/SearchResults/SearchSourceResultsEmpty.d.ts.map +1 -1
  1109. package/dist/types/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts.map +1 -1
  1110. package/dist/types/components/Search/SearchSourceResultsContext.d.ts.map +1 -1
  1111. package/dist/types/components/Search/hooks/index.d.ts +0 -1
  1112. package/dist/types/components/Search/hooks/index.d.ts.map +1 -1
  1113. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts +6 -0
  1114. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
  1115. package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
  1116. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +2 -2
  1117. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
  1118. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.d.ts.map +1 -1
  1119. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.d.ts.map +1 -1
  1120. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.d.ts.map +1 -1
  1121. package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
  1122. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
  1123. package/dist/types/components/TextareaComposer/hooks/useTextareaPlaceholder.d.ts.map +1 -1
  1124. package/dist/types/components/Thread/Thread.d.ts +31 -27
  1125. package/dist/types/components/Thread/Thread.d.ts.map +1 -1
  1126. package/dist/types/components/Thread/ThreadHead.d.ts.map +1 -1
  1127. package/dist/types/components/Thread/ThreadHeader.d.ts +13 -6
  1128. package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
  1129. package/dist/types/components/Thread/ThreadStart.d.ts.map +1 -1
  1130. package/dist/types/components/Thread/index.d.ts +0 -1
  1131. package/dist/types/components/Thread/index.d.ts.map +1 -1
  1132. package/dist/types/components/Threads/ThreadContext.d.ts.map +1 -1
  1133. package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
  1134. package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts.map +1 -1
  1135. package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -1
  1136. package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
  1137. package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts.map +1 -1
  1138. package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts +15 -0
  1139. package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts.map +1 -0
  1140. package/dist/types/components/Threads/ThreadList/utils.a11y.d.ts.map +1 -1
  1141. package/dist/types/components/Threads/hooks/useCloseThread.d.ts +9 -0
  1142. package/dist/types/components/Threads/hooks/useCloseThread.d.ts.map +1 -0
  1143. package/dist/types/components/Threads/index.d.ts +1 -0
  1144. package/dist/types/components/Threads/index.d.ts.map +1 -1
  1145. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +4 -5
  1146. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  1147. package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts +1 -1
  1148. package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts.map +1 -1
  1149. package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts +2 -2
  1150. package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts.map +1 -1
  1151. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts +2 -3
  1152. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts.map +1 -1
  1153. package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts.map +1 -1
  1154. package/dist/types/components/index.d.ts +0 -2
  1155. package/dist/types/components/index.d.ts.map +1 -1
  1156. package/dist/types/context/AttachmentContext.d.ts +19 -0
  1157. package/dist/types/context/AttachmentContext.d.ts.map +1 -0
  1158. package/dist/types/context/ChannelInstanceContext.d.ts +16 -0
  1159. package/dist/types/context/ChannelInstanceContext.d.ts.map +1 -0
  1160. package/dist/types/context/ChannelListContext.d.ts +9 -18
  1161. package/dist/types/context/ChannelListContext.d.ts.map +1 -1
  1162. package/dist/types/context/ChatContext.d.ts +10 -23
  1163. package/dist/types/context/ChatContext.d.ts.map +1 -1
  1164. package/dist/types/context/ComponentContext.d.ts +30 -23
  1165. package/dist/types/context/ComponentContext.d.ts.map +1 -1
  1166. package/dist/types/context/DialogManagerContext.d.ts.map +1 -1
  1167. package/dist/types/context/MessageBounceContext.d.ts +1 -1
  1168. package/dist/types/context/MessageBounceContext.d.ts.map +1 -1
  1169. package/dist/types/context/MessageComposerContext.d.ts +7 -2
  1170. package/dist/types/context/MessageComposerContext.d.ts.map +1 -1
  1171. package/dist/types/context/MessageComposerControllerContext.d.ts +13 -0
  1172. package/dist/types/context/MessageComposerControllerContext.d.ts.map +1 -0
  1173. package/dist/types/context/MessageContext.d.ts +8 -21
  1174. package/dist/types/context/MessageContext.d.ts.map +1 -1
  1175. package/dist/types/context/MessageListContext.d.ts +2 -2
  1176. package/dist/types/context/MessageListContext.d.ts.map +1 -1
  1177. package/dist/types/context/MessageTranslationViewContext.d.ts.map +1 -1
  1178. package/dist/types/context/ModalContext.d.ts +4 -0
  1179. package/dist/types/context/ModalContext.d.ts.map +1 -1
  1180. package/dist/types/context/PollContext.d.ts.map +1 -1
  1181. package/dist/types/context/TranslationContext.d.ts +21 -11
  1182. package/dist/types/context/TranslationContext.d.ts.map +1 -1
  1183. package/dist/types/context/VirtualizedMessageListContext.d.ts.map +1 -1
  1184. package/dist/types/context/WithComponents.d.ts.map +1 -1
  1185. package/dist/types/context/WorkspaceNavigationContext.d.ts +128 -0
  1186. package/dist/types/context/WorkspaceNavigationContext.d.ts.map +1 -0
  1187. package/dist/types/context/index.d.ts +6 -4
  1188. package/dist/types/context/index.d.ts.map +1 -1
  1189. package/dist/types/context/requireContext.d.ts +10 -0
  1190. package/dist/types/context/requireContext.d.ts.map +1 -0
  1191. package/dist/types/context/useChannel.d.ts +3 -0
  1192. package/dist/types/context/useChannel.d.ts.map +1 -0
  1193. package/dist/types/context/useComponentContextIcons.d.ts +4 -6
  1194. package/dist/types/context/useComponentContextIcons.d.ts.map +1 -1
  1195. package/dist/types/hooks/index.d.ts +3 -0
  1196. package/dist/types/hooks/index.d.ts.map +1 -0
  1197. package/dist/types/hooks/useIsDmChannel.d.ts +13 -0
  1198. package/dist/types/hooks/useIsDmChannel.d.ts.map +1 -0
  1199. package/dist/types/hooks/useMessagePaginator.d.ts +6 -0
  1200. package/dist/types/hooks/useMessagePaginator.d.ts.map +1 -0
  1201. package/dist/types/i18n/Streami18n.d.ts +48 -848
  1202. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  1203. package/dist/types/i18n/TranslationBuilder/index.d.ts +6 -1
  1204. package/dist/types/i18n/TranslationBuilder/index.d.ts.map +1 -1
  1205. package/dist/types/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts.map +1 -1
  1206. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
  1207. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts +3 -1
  1208. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
  1209. package/dist/types/i18n/index.d.ts +2 -2
  1210. package/dist/types/i18n/index.d.ts.map +1 -1
  1211. package/dist/types/i18n/keys.d.ts +583 -0
  1212. package/dist/types/i18n/keys.d.ts.map +1 -0
  1213. package/dist/types/i18n/runtimeDefaults.d.ts +37 -0
  1214. package/dist/types/i18n/runtimeDefaults.d.ts.map +1 -0
  1215. package/dist/types/i18n/types.d.ts +34 -104
  1216. package/dist/types/i18n/types.d.ts.map +1 -1
  1217. package/dist/types/i18n/useStreami18n.d.ts +19 -0
  1218. package/dist/types/i18n/useStreami18n.d.ts.map +1 -0
  1219. package/dist/types/i18n/utils.d.ts +18 -14
  1220. package/dist/types/i18n/utils.d.ts.map +1 -1
  1221. package/dist/types/plugins/ChannelDetail/AvatarWithChannelDetail.d.ts.map +1 -1
  1222. package/dist/types/plugins/ChannelDetail/ChannelDetail.d.ts.map +1 -1
  1223. package/dist/types/plugins/ChannelDetail/ChannelDetailEmptyList.d.ts.map +1 -1
  1224. package/dist/types/plugins/ChannelDetail/ChannelDetailSearchInput.d.ts.map +1 -1
  1225. package/dist/types/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.d.ts.map +1 -1
  1226. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.d.ts.map +1 -1
  1227. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.d.ts.map +1 -1
  1228. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.d.ts.map +1 -1
  1229. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.d.ts.map +1 -1
  1230. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.d.ts.map +1 -1
  1231. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.d.ts.map +1 -1
  1232. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.d.ts.map +1 -1
  1233. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.d.ts.map +1 -1
  1234. package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.d.ts.map +1 -1
  1235. package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.d.ts.map +1 -1
  1236. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.d.ts.map +1 -1
  1237. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.d.ts.map +1 -1
  1238. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.d.ts.map +1 -1
  1239. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.d.ts.map +1 -1
  1240. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.d.ts.map +1 -1
  1241. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.d.ts.map +1 -1
  1242. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.d.ts.map +1 -1
  1243. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts +5 -1
  1244. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts.map +1 -1
  1245. package/dist/types/plugins/Emojis/EmojiPicker.d.ts +0 -4
  1246. package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
  1247. package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts +72 -0
  1248. package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts.map +1 -0
  1249. package/dist/types/plugins/SlotGeometry/index.d.ts +3 -0
  1250. package/dist/types/plugins/SlotGeometry/index.d.ts.map +1 -0
  1251. package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts +24 -0
  1252. package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts.map +1 -0
  1253. package/dist/types/plugins/SlotLayout/ChatView.a11y.utility.d.ts.map +1 -0
  1254. package/dist/types/plugins/SlotLayout/ChatView.d.ts +113 -0
  1255. package/dist/types/plugins/SlotLayout/ChatView.d.ts.map +1 -0
  1256. package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts +111 -0
  1257. package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts.map +1 -0
  1258. package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts +8 -0
  1259. package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts.map +1 -0
  1260. package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts +10 -0
  1261. package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts.map +1 -0
  1262. package/dist/types/plugins/SlotLayout/hooks/index.d.ts +3 -0
  1263. package/dist/types/plugins/SlotLayout/hooks/index.d.ts.map +1 -0
  1264. package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts +5 -0
  1265. package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts.map +1 -0
  1266. package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts +162 -0
  1267. package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts.map +1 -0
  1268. package/dist/types/plugins/SlotLayout/index.d.ts +12 -0
  1269. package/dist/types/plugins/SlotLayout/index.d.ts.map +1 -0
  1270. package/dist/types/plugins/SlotLayout/layout/Slot.d.ts +8 -0
  1271. package/dist/types/plugins/SlotLayout/layout/Slot.d.ts.map +1 -0
  1272. package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts +11 -0
  1273. package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts.map +1 -0
  1274. package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts +25 -0
  1275. package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts.map +1 -0
  1276. package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts +121 -0
  1277. package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts.map +1 -0
  1278. package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts +6 -0
  1279. package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts.map +1 -0
  1280. package/dist/types/plugins/SlotLayout/slotBinding.d.ts +85 -0
  1281. package/dist/types/plugins/SlotLayout/slotBinding.d.ts.map +1 -0
  1282. package/dist/types/plugins/SlotLayout/slotRegistry.d.ts +60 -0
  1283. package/dist/types/plugins/SlotLayout/slotRegistry.d.ts.map +1 -0
  1284. package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts +26 -0
  1285. package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts.map +1 -0
  1286. package/dist/types/store/hooks/useStateStore.d.ts +1 -1
  1287. package/dist/types/store/hooks/useStateStore.d.ts.map +1 -1
  1288. package/dist/types/types/index.d.ts +0 -1
  1289. package/dist/types/types/index.d.ts.map +1 -1
  1290. package/dist/types/types/types.d.ts +0 -10
  1291. package/dist/types/types/types.d.ts.map +1 -1
  1292. package/dist/types/utils/getChannel.d.ts +2 -2
  1293. package/dist/types/utils/getChannel.d.ts.map +1 -1
  1294. package/dist/types/utils/useStableCallback.d.ts +1 -1
  1295. package/package.json +34 -16
  1296. package/dist/cjs/NotificationList.4ce251ea.js +0 -9552
  1297. package/dist/cjs/NotificationList.4ce251ea.js.map +0 -1
  1298. package/dist/cjs/useChannelHeaderOnlineStatus.64c443f5.js +0 -961
  1299. package/dist/cjs/useChannelHeaderOnlineStatus.64c443f5.js.map +0 -1
  1300. package/dist/cjs/useInertWhenHidden.1a2a6a2b.js +0 -6573
  1301. package/dist/cjs/useInertWhenHidden.1a2a6a2b.js.map +0 -1
  1302. package/dist/es/components/Channel/channelState.mjs +0 -195
  1303. package/dist/es/components/Channel/channelState.mjs.map +0 -1
  1304. package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs +0 -86
  1305. package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs.map +0 -1
  1306. package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs +0 -10
  1307. package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs.map +0 -1
  1308. package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs +0 -13
  1309. package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs.map +0 -1
  1310. package/dist/es/components/Channel/hooks/useIsMounted.mjs +0 -16
  1311. package/dist/es/components/Channel/hooks/useIsMounted.mjs.map +0 -1
  1312. package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs +0 -18
  1313. package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs.map +0 -1
  1314. package/dist/es/components/Channel/utils.mjs +0 -156
  1315. package/dist/es/components/Channel/utils.mjs.map +0 -1
  1316. package/dist/es/components/ChannelList/ChannelListUI.mjs +0 -35
  1317. package/dist/es/components/ChannelList/ChannelListUI.mjs.map +0 -1
  1318. package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs +0 -310
  1319. package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs.map +0 -1
  1320. package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs +0 -19
  1321. package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs.map +0 -1
  1322. package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs +0 -110
  1323. package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs.map +0 -1
  1324. package/dist/es/components/ChannelList/utils.mjs +0 -86
  1325. package/dist/es/components/ChannelList/utils.mjs.map +0 -1
  1326. package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs +0 -16
  1327. package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs.map +0 -1
  1328. package/dist/es/components/ChatView/ChatView.a11y.utility.mjs.map +0 -1
  1329. package/dist/es/components/ChatView/ChatView.mjs +0 -224
  1330. package/dist/es/components/ChatView/ChatView.mjs.map +0 -1
  1331. package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs +0 -98
  1332. package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs.map +0 -1
  1333. package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs +0 -23
  1334. package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs.map +0 -1
  1335. package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs +0 -13
  1336. package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs.map +0 -1
  1337. package/dist/es/components/Thread/LegacyThreadContext.mjs +0 -8
  1338. package/dist/es/components/Thread/LegacyThreadContext.mjs.map +0 -1
  1339. package/dist/es/components/UtilityComponents/NullComponent.mjs +0 -6
  1340. package/dist/es/components/UtilityComponents/NullComponent.mjs.map +0 -1
  1341. package/dist/es/components/Window/Window.mjs +0 -21
  1342. package/dist/es/components/Window/Window.mjs.map +0 -1
  1343. package/dist/es/context/ChannelActionContext.mjs +0 -20
  1344. package/dist/es/context/ChannelActionContext.mjs.map +0 -1
  1345. package/dist/es/context/ChannelStateContext.mjs +0 -24
  1346. package/dist/es/context/ChannelStateContext.mjs.map +0 -1
  1347. package/dist/es/context/TypingContext.mjs +0 -20
  1348. package/dist/es/context/TypingContext.mjs.map +0 -1
  1349. package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs +0 -86
  1350. package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs.map +0 -1
  1351. package/dist/es/i18n/de.mjs +0 -782
  1352. package/dist/es/i18n/de.mjs.map +0 -1
  1353. package/dist/es/i18n/en.mjs +0 -779
  1354. package/dist/es/i18n/en.mjs.map +0 -1
  1355. package/dist/es/i18n/es.mjs +0 -821
  1356. package/dist/es/i18n/es.mjs.map +0 -1
  1357. package/dist/es/i18n/fr.mjs +0 -822
  1358. package/dist/es/i18n/fr.mjs.map +0 -1
  1359. package/dist/es/i18n/hi.mjs +0 -786
  1360. package/dist/es/i18n/hi.mjs.map +0 -1
  1361. package/dist/es/i18n/it.mjs +0 -821
  1362. package/dist/es/i18n/it.mjs.map +0 -1
  1363. package/dist/es/i18n/ja.mjs +0 -760
  1364. package/dist/es/i18n/ja.mjs.map +0 -1
  1365. package/dist/es/i18n/ko.mjs +0 -760
  1366. package/dist/es/i18n/ko.mjs.map +0 -1
  1367. package/dist/es/i18n/nl.mjs +0 -786
  1368. package/dist/es/i18n/nl.mjs.map +0 -1
  1369. package/dist/es/i18n/pt.mjs +0 -819
  1370. package/dist/es/i18n/pt.mjs.map +0 -1
  1371. package/dist/es/i18n/ru.mjs +0 -868
  1372. package/dist/es/i18n/ru.mjs.map +0 -1
  1373. package/dist/es/i18n/tr.mjs +0 -781
  1374. package/dist/es/i18n/tr.mjs.map +0 -1
  1375. package/dist/es/utils/getChannelConfig.mjs +0 -11
  1376. package/dist/es/utils/getChannelConfig.mjs.map +0 -1
  1377. package/dist/types/components/Channel/channelState.d.ts +0 -90
  1378. package/dist/types/components/Channel/channelState.d.ts.map +0 -1
  1379. package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts +0 -6
  1380. package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +0 -1
  1381. package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts +0 -3
  1382. package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts.map +0 -1
  1383. package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts +0 -5
  1384. package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts.map +0 -1
  1385. package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts +0 -10
  1386. package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts.map +0 -1
  1387. package/dist/types/components/Channel/utils.d.ts +0 -55
  1388. package/dist/types/components/Channel/utils.d.ts.map +0 -1
  1389. package/dist/types/components/ChannelList/ChannelListUI.d.ts +0 -18
  1390. package/dist/types/components/ChannelList/ChannelListUI.d.ts.map +0 -1
  1391. package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts +0 -61
  1392. package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts.map +0 -1
  1393. package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +0 -2
  1394. package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +0 -1
  1395. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -29
  1396. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +0 -1
  1397. package/dist/types/components/ChannelList/utils.d.ts +0 -46
  1398. package/dist/types/components/ChannelList/utils.d.ts.map +0 -1
  1399. package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts +0 -12
  1400. package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts.map +0 -1
  1401. package/dist/types/components/ChatView/ChatView.a11y.utility.d.ts.map +0 -1
  1402. package/dist/types/components/ChatView/ChatView.d.ts +0 -59
  1403. package/dist/types/components/ChatView/ChatView.d.ts.map +0 -1
  1404. package/dist/types/components/ChatView/index.d.ts +0 -2
  1405. package/dist/types/components/ChatView/index.d.ts.map +0 -1
  1406. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts +0 -5
  1407. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +0 -1
  1408. package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts +0 -2
  1409. package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts.map +0 -1
  1410. package/dist/types/components/Thread/LegacyThreadContext.d.ts +0 -9
  1411. package/dist/types/components/Thread/LegacyThreadContext.d.ts.map +0 -1
  1412. package/dist/types/components/Window/Window.d.ts +0 -13
  1413. package/dist/types/components/Window/Window.d.ts.map +0 -1
  1414. package/dist/types/components/Window/index.d.ts +0 -2
  1415. package/dist/types/components/Window/index.d.ts.map +0 -1
  1416. package/dist/types/context/ChannelActionContext.d.ts +0 -46
  1417. package/dist/types/context/ChannelActionContext.d.ts.map +0 -1
  1418. package/dist/types/context/ChannelStateContext.d.ts +0 -51
  1419. package/dist/types/context/ChannelStateContext.d.ts.map +0 -1
  1420. package/dist/types/context/TypingContext.d.ts +0 -12
  1421. package/dist/types/context/TypingContext.d.ts.map +0 -1
  1422. package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts +0 -36
  1423. package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts.map +0 -1
  1424. package/dist/types/i18n/translations.d.ts +0 -14
  1425. package/dist/types/i18n/translations.d.ts.map +0 -1
  1426. package/dist/types/utils/getChannelConfig.d.ts +0 -8
  1427. package/dist/types/utils/getChannelConfig.d.ts.map +0 -1
  1428. /package/dist/types/{components/ChatView → plugins/SlotLayout}/ChatView.a11y.utility.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MessageActions.defaults.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.defaults.tsx"],"sourcesContent":["/* eslint-disable sort-keys */\nimport React, { forwardRef, useState } from 'react';\n\nimport { GlobalModal } from '../Modal';\nimport { isMessageDeleted, isUserMuted } from '../Message/utils';\nimport { useMessageComposerController } from '../MessageComposer/hooks/useMessageComposerController';\nimport { savePreEditSnapshot } from '../MessageComposer/preEditSnapshot';\nimport { useNotificationApi } from '../Notifications';\nimport { useMessageReminder } from '../Message/hooks/useMessageReminder';\nimport { ReactionSelector as DefaultReactionSelector } from '../Reactions';\nimport { ReactionSelectorWithButton } from '../Reactions/ReactionSelectorWithButton';\nimport {\n useChatContext,\n useComponentContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { RemindMeSubmenu, RemindMeSubmenuHeader } from './RemindMeSubmenu';\nimport { DownloadSubmenu, DownloadSubmenuHeader } from './DownloadSubmenu';\nimport {\n ContextMenuButton,\n DialogAnchor,\n useContextMenuContext,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { MessageActions, type MessageActionSetItem } from './MessageActions';\nimport { QuickMessageActionsButton } from './QuickMessageActionButton';\nimport clsx from 'clsx';\nimport { DeleteMessageAlert } from './DeleteMessageAlert';\nimport { downloadAttachment, isDownloadableAttachment } from './downloadUtils';\n\nconst msgActionsBoxButtonClassName =\n 'str-chat__message-actions-list-item-button' as const;\n\nconst MessageActionsMenuItemButton = (\n props: React.ComponentProps<typeof ContextMenuButton>,\n) => <ContextMenuButton {...props} />;\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nconst DefaultMessageActionComponents = {\n dropdown: {\n React() {\n const { ReactionSelector = DefaultReactionSelector } = useComponentContext();\n const { anchorReferenceElement } = useContextMenuContext();\n const { isMyMessage, message, threadList } = useMessageContext();\n const { t } = useTranslationContext();\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null);\n const dialogId = `${DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n })}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: dialogId,\n });\n const dialogIsOpen = useDialogIsOpen(dialogId, dialogManager?.id);\n\n const { IconEmoji } = useComponentContextIcons();\n return (\n <>\n <DialogAnchor\n dialogManagerId={dialogManager?.id}\n id={dialogId}\n offset={8}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={referenceElement}\n trapFocus\n updatePositionOnContentResize\n >\n <ReactionSelector dialogId={dialogId} />\n </DialogAnchor>\n <MessageActionsMenuItemButton\n aria-expanded={dialogIsOpen}\n aria-label={t('aria/Open Reaction Selector')}\n className={clsx(\n msgActionsBoxButtonClassName,\n 'str-chat__message-actions-list-item-button--react',\n )}\n data-testid='dropdown-react-action'\n Icon={IconEmoji}\n onClick={(event) => {\n if (dialogIsOpen) {\n dialog.close();\n return;\n }\n setReferenceElement(\n anchorReferenceElement instanceof HTMLElement\n ? anchorReferenceElement\n : event.currentTarget,\n );\n dialog.open();\n }}\n >\n {t('Add reaction')}\n </MessageActionsMenuItemButton>\n </>\n );\n },\n ThreadReply() {\n const { closeMenu } = useContextMenuContext();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconThread } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Open Thread')}\n className={msgActionsBoxButtonClassName}\n data-testid='thread-action'\n Icon={IconThread}\n onClick={(e) => {\n handleOpenThread(e);\n closeMenu();\n }}\n >\n {t('Thread Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Quote() {\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const messageComposer = useMessageComposerController();\n\n const handleQuote = () => {\n messageComposer.setQuotedMessage(message);\n\n const elements = message.parent_id\n ? document.querySelectorAll('.str-chat__thread .str-chat__textarea__textarea')\n : document.getElementsByClassName('str-chat__textarea__textarea');\n const textarea = elements.item(0);\n\n if (textarea instanceof HTMLTextAreaElement) {\n textarea.focus();\n }\n };\n\n const { IconQuote } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Quote Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconQuote}\n onClick={() => {\n handleQuote();\n closeMenu();\n }}\n >\n {t('Quote Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Download() {\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { IconDownload } = useComponentContextIcons();\n\n const downloadableAttachments = (message.attachments ?? []).filter(\n isDownloadableAttachment,\n );\n\n if (!downloadableAttachments.length) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Download attachment')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={downloadableAttachments.length > 1}\n Icon={IconDownload}\n onClick={(event) => {\n if (downloadableAttachments.length > 1) {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: DownloadSubmenuHeader,\n Submenu: DownloadSubmenu,\n });\n return;\n }\n\n void downloadAttachment(downloadableAttachments[0]);\n closeMenu();\n }}\n >\n {t('Download Attachment')}\n </MessageActionsMenuItemButton>\n );\n },\n Pin() {\n const { closeMenu } = useContextMenuContext();\n const { handlePin, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const isPinned = !!message.pinned;\n const { IconPin, IconUnpin } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isPinned ? t('aria/Unpin Message') : t('aria/Pin Message')}\n className={msgActionsBoxButtonClassName}\n Icon={isPinned ? IconUnpin : IconPin}\n onClick={async (event) => {\n try {\n await handlePin(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isPinned ? t('Message unpinned') : t('Message pinned'),\n severity: 'success',\n type: isPinned ? 'api:message:unpin:success' : 'api:message:pin:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isPinned ? t('Error removing message pin') : t('Error pinning message'),\n ),\n severity: 'error',\n type: isPinned ? 'api:message:unpin:failed' : 'api:message:pin:failed',\n });\n }\n closeMenu();\n }}\n >\n {isPinned ? t('Unpin') : t('Pin')}\n </MessageActionsMenuItemButton>\n );\n },\n CopyMessageText() {\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconCopy } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Copy Message Text')}\n className={msgActionsBoxButtonClassName}\n Icon={IconCopy}\n onClick={() => {\n if (message.text) navigator.clipboard.writeText(message.text);\n closeMenu();\n }}\n >\n {t('Copy Message')}\n </MessageActionsMenuItemButton>\n );\n },\n Resend() {\n const { closeMenu } = useContextMenuContext();\n const { handleRetry, message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconRetry } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Resend Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconRetry}\n onClick={() => {\n handleRetry(message);\n closeMenu();\n }}\n >\n {t('Resend')}\n </MessageActionsMenuItemButton>\n );\n },\n Edit() {\n const messageComposer = useMessageComposerController();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { closeMenu } = useContextMenuContext();\n\n const { IconEdit } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Edit Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconEdit}\n onClick={() => {\n savePreEditSnapshot(messageComposer);\n messageComposer.initState({ composition: message });\n closeMenu();\n }}\n >\n {t('Edit Message')}\n </MessageActionsMenuItemButton>\n );\n },\n MarkUnread() {\n const { closeMenu } = useContextMenuContext();\n const { handleMarkUnread, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n const { IconNotification } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Mark Message Unread')}\n className={msgActionsBoxButtonClassName}\n Icon={IconNotification}\n onClick={async (event) => {\n try {\n await handleMarkUnread(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message marked as unread'),\n severity: 'success',\n type: 'api:message:markUnread:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t(\n 'Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.',\n ),\n ),\n severity: 'error',\n type: 'api:message:markUnread:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('Mark as unread')}\n </MessageActionsMenuItemButton>\n );\n },\n RemindMe() {\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const { message } = useMessageContext();\n const reminder = useMessageReminder(message.id);\n const { IconBell, IconBellOff } = useComponentContextIcons();\n const messageAlreadyBookmarked = reminder && !reminder?.remindAt;\n\n if (messageAlreadyBookmarked) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={reminder ? t('aria/Remind Me Message') : t('aria/Remove Reminder')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={!reminder}\n Icon={reminder ? IconBellOff : IconBell}\n onClick={async (event) => {\n if (reminder) {\n try {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Remove reminder'),\n severity: 'success',\n type: 'api:message:reminder:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error removing reminder'),\n severity: 'error',\n type: 'api:message:reminder:delete:failed',\n });\n } finally {\n closeMenu();\n }\n } else {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: RemindMeSubmenuHeader,\n Submenu: RemindMeSubmenu,\n });\n }\n }}\n >\n {reminder ? t('Remove reminder') : t('Remind me')}\n </MessageActionsMenuItemButton>\n );\n },\n SaveForLater() {\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const reminder = useMessageReminder(message.id);\n const { IconBookmark, IconBookmarkRemove } = useComponentContextIcons();\n const messageAlreadyHasReminderScheduled = Boolean(reminder && reminder?.remindAt);\n\n if (messageAlreadyHasReminderScheduled) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder ? t('aria/Remove Save For Later') : t('aria/Bookmark Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={reminder ? IconBookmarkRemove : IconBookmark}\n onClick={async () => {\n try {\n if (reminder) {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Remove save for later'),\n severity: 'success',\n type: 'api:message:saveForLater:delete:success',\n });\n } else {\n await client.reminders.createReminder({ messageId: message.id });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Saved for later'),\n severity: 'success',\n type: 'api:message:saveForLater:create:success',\n });\n }\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n reminder\n ? 'Error removing message from saved for later'\n : 'Error saving message for later',\n ),\n severity: 'error',\n type: reminder\n ? 'api:message:saveForLater:delete:failed'\n : 'api:message:saveForLater:create:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {reminder ? t('Remove save for later') : t('Save for later')}\n </MessageActionsMenuItemButton>\n );\n },\n Flag() {\n const { closeMenu } = useContextMenuContext();\n const { handleFlag, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n const { IconFlag } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Flag Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconFlag}\n onClick={async (event) => {\n try {\n await handleFlag(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message has been successfully flagged'),\n severity: 'success',\n type: 'api:message:flag:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, t('Error adding flag')),\n severity: 'error',\n type: 'api:message:flag:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('Flag')}\n </MessageActionsMenuItemButton>\n );\n },\n Mute() {\n const { closeMenu } = useContextMenuContext();\n const { handleMute, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { mutes } = useChatContext();\n const { t } = useTranslationContext();\n\n const isMuted = isUserMuted(message, mutes);\n const { IconAudio, IconMute } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isMuted ? t('aria/Unmute User') : t('aria/Mute User')}\n className={msgActionsBoxButtonClassName}\n Icon={isMuted ? IconAudio : IconMute}\n onClick={async (event) => {\n try {\n await handleMute(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isMuted\n ? t('{{ user }} has been unmuted', {\n user: message.user?.name || message.user?.id,\n })\n : t('{{ user }} has been muted', {\n user: message.user?.name || message.user?.id,\n }),\n severity: 'success',\n type: isMuted ? 'api:user:unmute:success' : 'api:user:mute:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isMuted ? t('Error unmuting a user ...') : t('Error muting a user ...'),\n ),\n severity: 'error',\n type: isMuted ? 'api:user:unmute:failed' : 'api:user:mute:failed',\n });\n }\n closeMenu();\n }}\n >\n {isMuted ? t('Unmute') : t('Mute')}\n </MessageActionsMenuItemButton>\n );\n },\n Delete() {\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n const { Modal = GlobalModal } = useComponentContext();\n const { IconDelete } = useComponentContextIcons();\n const { handleDelete, message } = useMessageContext();\n const { t } = useTranslationContext();\n const [openModal, setOpenModal] = useState(false);\n\n if (isMessageDeleted(message)) return null;\n\n return (\n <>\n <MessageActionsMenuItemButton\n aria-label={t('aria/Delete Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconDelete}\n onClick={() => {\n setOpenModal(true);\n }}\n variant='destructive'\n >\n {t('Delete message')}\n </MessageActionsMenuItemButton>\n <Modal open={openModal} role='alertdialog'>\n <DeleteMessageAlert\n onCancel={() => {\n setOpenModal(false);\n closeMenu();\n }}\n onDelete={async () => {\n try {\n await handleDelete();\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message deleted'),\n severity: 'success',\n type: 'api:message:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, t('Error deleting message')),\n severity: 'error',\n type: 'api:message:delete:failed',\n });\n } finally {\n setOpenModal(false);\n closeMenu();\n }\n }}\n />\n </Modal>\n </>\n );\n },\n BlockUser() {\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const isBlocked =\n !message.user?.id ||\n new Set(client.blockedUsers.getLatestValue().userIds).has(message.user?.id);\n\n const { IconNoSign, IconUserCheck } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isBlocked ? t('Unblock') : t('aria/Block User')}\n className={clsx(msgActionsBoxButtonClassName)}\n Icon={isBlocked ? IconUserCheck : IconNoSign}\n onClick={() => {\n const targetId = message.user?.id;\n if (targetId) {\n if (isBlocked) client.unBlockUser(targetId);\n else client.blockUser(targetId);\n }\n closeMenu();\n }}\n >\n {isBlocked ? t('Unblock') : t('Block User')}\n </MessageActionsMenuItemButton>\n );\n },\n },\n quick: {\n // eslint-disable-next-line react/display-name\n DropdownToggle: forwardRef<HTMLButtonElement>((_, ref) => {\n const { t } = useTranslationContext();\n const { message, threadList } = useMessageContext();\n const dropdownDialogIsOpen = useDialogIsOpen(\n MessageActions.getDialogId({ messageId: message.id }),\n );\n const { dialog } = useDialogOnNearestManager({\n id: MessageActions.getDialogId({ messageId: message.id }),\n });\n const reactionSelectorDialogId = DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const { dialog: dropdownReactionSelectorDialog } = useDialogOnNearestManager({\n id: `${reactionSelectorDialogId}-dropdown`,\n });\n\n const { IconMore } = useComponentContextIcons();\n return (\n <QuickMessageActionsButton\n aria-expanded={dropdownDialogIsOpen}\n aria-haspopup='true'\n aria-label={t('aria/Open Message Actions Menu')}\n className='str-chat__message-actions-box-button'\n data-testid='message-actions-toggle-button'\n onClick={() => {\n // Close dropdown-anchored reaction selectors before toggling actions menu\n // to avoid stale selector re-anchoring.\n dropdownReactionSelectorDialog?.close();\n dialog?.toggle();\n }}\n ref={ref}\n >\n <IconMore className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n }),\n React() {\n const { IconEmoji } = useComponentContextIcons();\n return <ReactionSelectorWithButton ReactionIcon={IconEmoji} />;\n },\n Reply() {\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconReply } = useComponentContextIcons();\n return (\n <QuickMessageActionsButton\n aria-label={t('aria/Open Thread')}\n className='str-chat__message-reply-in-thread-button'\n data-testid='thread-action'\n onClick={handleOpenThread}\n >\n <IconReply className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n },\n },\n};\n\nexport const defaultMessageActionSet: MessageActionSetItem[] = [\n {\n Component: DefaultMessageActionComponents.quick.DropdownToggle,\n placement: 'quick-dropdown-toggle',\n },\n {\n Component: DefaultMessageActionComponents.quick.Reply,\n placement: 'quick',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.quick.React,\n placement: 'quick',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.React,\n placement: 'dropdown',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.ThreadReply,\n placement: 'dropdown',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Quote,\n placement: 'dropdown',\n type: 'quote',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Download,\n placement: 'dropdown',\n type: 'download',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Pin,\n placement: 'dropdown',\n type: 'pin',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.CopyMessageText,\n placement: 'dropdown',\n type: 'copyMessageText',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Resend,\n placement: 'dropdown',\n type: 'resendMessage',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Edit,\n placement: 'dropdown',\n type: 'edit',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.MarkUnread,\n placement: 'dropdown',\n type: 'markUnread',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.RemindMe,\n placement: 'dropdown',\n type: 'remindMe',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.SaveForLater,\n placement: 'dropdown',\n type: 'saveForLater',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Flag,\n placement: 'dropdown',\n type: 'flag',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Mute,\n placement: 'dropdown',\n type: 'mute',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Delete,\n placement: 'dropdown',\n type: 'delete',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.BlockUser,\n placement: 'dropdown',\n type: 'blockUser',\n },\n] as const;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MessageActions.defaults.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.defaults.tsx"],"sourcesContent":["/* eslint-disable sort-keys */\nimport React, { forwardRef, useState } from 'react';\n\nimport { GlobalModal } from '../Modal';\nimport { isMessageDeleted, isUserMuted } from '../Message/utils';\nimport { useMessageComposerController } from '../MessageComposer/hooks/useMessageComposerController';\nimport { savePreEditSnapshot } from '../MessageComposer/preEditSnapshot';\nimport { useNotificationApi } from '../Notifications';\nimport { useMessageReminder } from '../Message/hooks/useMessageReminder';\nimport { ReactionSelector as DefaultReactionSelector } from '../Reactions';\nimport { ReactionSelectorWithButton } from '../Reactions/ReactionSelectorWithButton';\nimport {\n useChatContext,\n useComponentContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { RemindMeSubmenu, RemindMeSubmenuHeader } from './RemindMeSubmenu';\nimport { DownloadSubmenu, DownloadSubmenuHeader } from './DownloadSubmenu';\nimport {\n ContextMenuButton,\n DialogAnchor,\n useContextMenuContext,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { MessageActions, type MessageActionSetItem } from './MessageActions';\nimport { QuickMessageActionsButton } from './QuickMessageActionButton';\nimport clsx from 'clsx';\nimport { DeleteMessageAlert } from './DeleteMessageAlert';\nimport { downloadAttachment, isDownloadableAttachment } from './downloadUtils';\n\nconst msgActionsBoxButtonClassName =\n 'str-chat__message-actions-list-item-button' as const;\n\nconst MessageActionsMenuItemButton = (\n props: React.ComponentProps<typeof ContextMenuButton>,\n) => <ContextMenuButton {...props} />;\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nconst DefaultMessageActionComponents = {\n dropdown: {\n React() {\n const { IconEmoji } = useComponentContextIcons();\n const { ReactionSelector = DefaultReactionSelector } = useComponentContext();\n const { anchorReferenceElement } = useContextMenuContext();\n const { isMyMessage, message, threadList } = useMessageContext();\n const { t } = useTranslationContext();\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null);\n const dialogId = `${DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n })}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: dialogId,\n });\n const dialogIsOpen = useDialogIsOpen(dialogId, dialogManager?.id);\n\n return (\n <>\n <DialogAnchor\n dialogManagerId={dialogManager?.id}\n id={dialogId}\n offset={8}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={referenceElement}\n trapFocus\n updatePositionOnContentResize\n >\n <ReactionSelector dialogId={dialogId} />\n </DialogAnchor>\n <MessageActionsMenuItemButton\n aria-expanded={dialogIsOpen}\n aria-label={t(\n 'common.openReactionSelector.ariaLabel',\n 'Open Reaction Selector',\n )}\n className={clsx(\n msgActionsBoxButtonClassName,\n 'str-chat__message-actions-list-item-button--react',\n )}\n data-testid='dropdown-react-action'\n Icon={IconEmoji}\n onClick={(event) => {\n if (dialogIsOpen) {\n dialog.close();\n return;\n }\n setReferenceElement(\n anchorReferenceElement instanceof HTMLElement\n ? anchorReferenceElement\n : event.currentTarget,\n );\n dialog.open();\n }}\n >\n {t('common.addReaction.text', 'Add reaction')}\n </MessageActionsMenuItemButton>\n </>\n );\n },\n ThreadReply() {\n const { IconThread } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.openThread.ariaLabel', 'Open Thread')}\n className={msgActionsBoxButtonClassName}\n data-testid='thread-action'\n Icon={IconThread}\n onClick={(e) => {\n handleOpenThread(e);\n closeMenu();\n }}\n >\n {t('messageActions.threadReply.text', 'Thread Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Quote() {\n const { IconQuote } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const messageComposer = useMessageComposerController();\n\n const handleQuote = () => {\n messageComposer.setQuotedMessage(message);\n\n const elements = message.parent_id\n ? document.querySelectorAll('.str-chat__thread .str-chat__textarea__textarea')\n : document.getElementsByClassName('str-chat__textarea__textarea');\n const textarea = elements.item(0);\n\n if (textarea instanceof HTMLTextAreaElement) {\n textarea.focus();\n }\n };\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.quoteMessage.ariaLabel', 'Quote Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconQuote}\n onClick={() => {\n handleQuote();\n closeMenu();\n }}\n >\n {t('messageActions.quoteReply.text', 'Quote Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Download() {\n const { IconDownload } = useComponentContextIcons();\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const downloadableAttachments = (message.attachments ?? []).filter(\n isDownloadableAttachment,\n );\n\n if (!downloadableAttachments.length) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('common.downloadAttachment.ariaLabel', 'Download attachment')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={downloadableAttachments.length > 1}\n Icon={IconDownload}\n onClick={(event) => {\n if (downloadableAttachments.length > 1) {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: DownloadSubmenuHeader,\n Submenu: DownloadSubmenu,\n });\n return;\n }\n\n void downloadAttachment(downloadableAttachments[0]);\n closeMenu();\n }}\n >\n {t('common.downloadAttachment.title', 'Download Attachment')}\n </MessageActionsMenuItemButton>\n );\n },\n Pin() {\n const { IconPin, IconUnpin } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handlePin, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const isPinned = !!message.pinned;\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isPinned\n ? t('messageActions.unpinMessage.ariaLabel', 'Unpin Message')\n : t('messageActions.pinMessage.ariaLabel', 'Pin Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={isPinned ? IconUnpin : IconPin}\n onClick={async (event) => {\n try {\n await handlePin(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isPinned\n ? t('messageActions.messageUnpinned.text', 'Message unpinned')\n : t('common.messagePinned.label', 'Message pinned'),\n severity: 'success',\n type: isPinned ? 'api:message:unpin:success' : 'api:message:pin:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isPinned\n ? t(\n 'common.errorRemovingMessagePin.label',\n 'Error removing message pin',\n )\n : t('common.errorPinningMessage.label', 'Error pinning message'),\n ),\n severity: 'error',\n type: isPinned ? 'api:message:unpin:failed' : 'api:message:pin:failed',\n });\n }\n closeMenu();\n }}\n >\n {isPinned ? t('common.unpin.title', 'Unpin') : t('common.pin.title', 'Pin')}\n </MessageActionsMenuItemButton>\n );\n },\n CopyMessageText() {\n const { IconCopy } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.copyMessageText.ariaLabel', 'Copy Message Text')}\n className={msgActionsBoxButtonClassName}\n Icon={IconCopy}\n onClick={() => {\n if (message.text) navigator.clipboard.writeText(message.text);\n closeMenu();\n }}\n >\n {t('messageActions.copyMessage.text', 'Copy Message')}\n </MessageActionsMenuItemButton>\n );\n },\n Resend() {\n const { IconRetry } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleRetry, message } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.resendMessage.ariaLabel', 'Resend Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconRetry}\n onClick={() => {\n handleRetry(message);\n closeMenu();\n }}\n >\n {t('messageActions.resend.text', 'Resend')}\n </MessageActionsMenuItemButton>\n );\n },\n Edit() {\n const { IconEdit } = useComponentContextIcons();\n const messageComposer = useMessageComposerController();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { closeMenu } = useContextMenuContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.editMessage.ariaLabel', 'Edit Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconEdit}\n onClick={() => {\n savePreEditSnapshot(messageComposer);\n messageComposer.initState({ composition: message });\n closeMenu();\n }}\n >\n {t('common.editMessage.text', 'Edit Message')}\n </MessageActionsMenuItemButton>\n );\n },\n MarkUnread() {\n const { IconNotification } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleMarkUnread, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t(\n 'messageActions.markMessageUnread.ariaLabel',\n 'Mark Message Unread',\n )}\n className={msgActionsBoxButtonClassName}\n Icon={IconNotification}\n onClick={async (event) => {\n try {\n await handleMarkUnread(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.messageMarkedUnread.text',\n 'Message marked as unread',\n ),\n severity: 'success',\n type: 'api:message:markUnread:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t(\n 'messageActions.errorMarkingMessageUnread.text',\n 'Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.',\n ),\n ),\n severity: 'error',\n type: 'api:message:markUnread:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('messageActions.markUnread.text', 'Mark as unread')}\n </MessageActionsMenuItemButton>\n );\n },\n RemindMe() {\n const { IconBell, IconBellOff } = useComponentContextIcons();\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const { message } = useMessageContext();\n const reminder = useMessageReminder(message.id);\n const messageAlreadyBookmarked = reminder != null && reminder.remindAt == null;\n\n if (messageAlreadyBookmarked) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder\n ? t('messageActions.remindMeMessage.ariaLabel', 'Remind Me Message')\n : t('messageActions.removeReminder.ariaLabel', 'Remove Reminder')\n }\n className={msgActionsBoxButtonClassName}\n hasSubMenu={!reminder}\n Icon={reminder ? IconBellOff : IconBell}\n onClick={async (event) => {\n if (reminder) {\n try {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('messageActions.removeReminder.text', 'Remove reminder'),\n severity: 'success',\n type: 'api:message:reminder:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error removing reminder'),\n severity: 'error',\n type: 'api:message:reminder:delete:failed',\n });\n } finally {\n closeMenu();\n }\n } else {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: RemindMeSubmenuHeader,\n Submenu: RemindMeSubmenu,\n });\n }\n }}\n >\n {reminder\n ? t('messageActions.removeReminder.text', 'Remove reminder')\n : t('messageActions.remindMe.text', 'Remind me')}\n </MessageActionsMenuItemButton>\n );\n },\n SaveForLater() {\n const { IconBookmark, IconBookmarkRemove } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const reminder = useMessageReminder(message.id);\n const messageAlreadyHasReminderScheduled = reminder?.remindAt != null;\n\n if (messageAlreadyHasReminderScheduled) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder\n ? t('messageActions.removeSaveLater.ariaLabel', 'Remove Save For Later')\n : t('messageActions.bookmarkMessage.ariaLabel', 'Bookmark Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={reminder ? IconBookmarkRemove : IconBookmark}\n onClick={async () => {\n try {\n if (reminder) {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.removeSaveLater.text',\n 'Remove save for later',\n ),\n severity: 'success',\n type: 'api:message:saveForLater:delete:success',\n });\n } else {\n await client.reminders.createReminder({ message_id: message.id });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.savedLater.text', 'Saved for later'),\n severity: 'success',\n type: 'api:message:saveForLater:create:success',\n });\n }\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n reminder\n ? 'Error removing message from saved for later'\n : 'Error saving message for later',\n ),\n severity: 'error',\n type: reminder\n ? 'api:message:saveForLater:delete:failed'\n : 'api:message:saveForLater:create:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {reminder\n ? t('messageActions.removeSaveLater.text', 'Remove save for later')\n : t('messageActions.saveLater.text', 'Save for later')}\n </MessageActionsMenuItemButton>\n );\n },\n Flag() {\n const { IconFlag } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleFlag, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.flagMessage.ariaLabel', 'Flag Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconFlag}\n onClick={async (event) => {\n try {\n await handleFlag(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.messageSuccessfullyFlagged.text',\n 'Message has been successfully flagged',\n ),\n severity: 'success',\n type: 'api:message:flag:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t('messageActions.errorAddingFlag.text', 'Error adding flag'),\n ),\n severity: 'error',\n type: 'api:message:flag:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('messageActions.flag.text', 'Flag')}\n </MessageActionsMenuItemButton>\n );\n },\n Mute() {\n const { IconAudio, IconMute } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleMute, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { mutes } = useChatContext();\n const { t } = useTranslationContext();\n\n const isMuted = isUserMuted(message, mutes);\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isMuted\n ? t('messageActions.unmuteUser.ariaLabel', 'Unmute User')\n : t('messageActions.muteUser.ariaLabel', 'Mute User')\n }\n className={msgActionsBoxButtonClassName}\n Icon={isMuted ? IconAudio : IconMute}\n onClick={async (event) => {\n try {\n await handleMute(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isMuted\n ? t('common.unmuted.label', '{{ user }} has been unmuted', {\n user: message.user?.name || message.user?.id,\n })\n : t('common.muted.label', '{{ user }} has been muted', {\n user: message.user?.name || message.user?.id,\n }),\n severity: 'success',\n type: isMuted ? 'api:user:unmute:success' : 'api:user:mute:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isMuted\n ? t('common.errorUnmutingUser.label', 'Error unmuting a user ...')\n : t('common.errorMutingUser.label', 'Error muting a user ...'),\n ),\n severity: 'error',\n type: isMuted ? 'api:user:unmute:failed' : 'api:user:mute:failed',\n });\n }\n closeMenu();\n }}\n >\n {isMuted ? t('common.unmute.title', 'Unmute') : t('common.mute.title', 'Mute')}\n </MessageActionsMenuItemButton>\n );\n },\n Delete() {\n const { IconDelete } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n const { Modal = GlobalModal } = useComponentContext();\n const { handleDelete, message } = useMessageContext();\n const { t } = useTranslationContext();\n const [openModal, setOpenModal] = useState(false);\n\n if (isMessageDeleted(message)) return null;\n\n return (\n <>\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.deleteMessage.ariaLabel', 'Delete Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconDelete}\n onClick={() => {\n setOpenModal(true);\n }}\n variant='destructive'\n >\n {t('messageActions.deleteMessageAlert.deleteMessage.title', 'Delete message')}\n </MessageActionsMenuItemButton>\n <Modal open={openModal} role='alertdialog'>\n <DeleteMessageAlert\n onCancel={() => {\n setOpenModal(false);\n closeMenu();\n }}\n onDelete={async () => {\n try {\n await handleDelete();\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.messageDeleted.text', 'Message deleted'),\n severity: 'success',\n type: 'api:message:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t('common.errorDeletingMessage.label', 'Error deleting message'),\n ),\n severity: 'error',\n type: 'api:message:delete:failed',\n });\n } finally {\n setOpenModal(false);\n closeMenu();\n }\n }}\n />\n </Modal>\n </>\n );\n },\n BlockUser() {\n const { IconNoSign, IconUserCheck } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const isBlocked =\n !message.user?.id ||\n new Set(client.blockedUsers.getLatestValue().userIds).has(message.user?.id);\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isBlocked\n ? t('common.unblock.ariaLabel', 'Unblock')\n : t('messageActions.blockUser.ariaLabel', 'Block User')\n }\n className={clsx(msgActionsBoxButtonClassName)}\n Icon={isBlocked ? IconUserCheck : IconNoSign}\n onClick={() => {\n const targetId = message.user?.id;\n if (targetId) {\n if (isBlocked) client.unblockUser(targetId);\n else client.blockUser(targetId);\n }\n closeMenu();\n }}\n >\n {isBlocked\n ? t('common.unblock.ariaLabel', 'Unblock')\n : t('common.blockUser.title', 'Block User')}\n </MessageActionsMenuItemButton>\n );\n },\n },\n quick: {\n // eslint-disable-next-line react/display-name\n DropdownToggle: forwardRef<HTMLButtonElement>((_, ref) => {\n const { IconMore } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { message, threadList } = useMessageContext();\n const dropdownDialogIsOpen = useDialogIsOpen(\n MessageActions.getDialogId({ messageId: message.id }),\n );\n const { dialog } = useDialogOnNearestManager({\n id: MessageActions.getDialogId({ messageId: message.id }),\n });\n const reactionSelectorDialogId = DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const { dialog: dropdownReactionSelectorDialog } = useDialogOnNearestManager({\n id: `${reactionSelectorDialogId}-dropdown`,\n });\n\n return (\n <QuickMessageActionsButton\n aria-expanded={dropdownDialogIsOpen}\n aria-haspopup='true'\n aria-label={t(\n 'messageActions.openMessageActionsMenu.ariaLabel',\n 'Open Message Actions Menu',\n )}\n className='str-chat__message-actions-box-button'\n data-testid='message-actions-toggle-button'\n onClick={() => {\n // Close dropdown-anchored reaction selectors before toggling actions menu\n // to avoid stale selector re-anchoring.\n dropdownReactionSelectorDialog?.close();\n dialog?.toggle();\n }}\n ref={ref}\n >\n <IconMore className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n }),\n React() {\n // No `ReactionIcon`: the component resolves the `IconEmoji` slot itself. Passing it from\n // here would read the same value and only add a hop that invites a direct import later.\n return <ReactionSelectorWithButton />;\n },\n Reply() {\n const { IconReply } = useComponentContextIcons();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <QuickMessageActionsButton\n aria-label={t('messageActions.openThread.ariaLabel', 'Open Thread')}\n className='str-chat__message-reply-in-thread-button'\n data-testid='thread-action'\n onClick={handleOpenThread}\n >\n <IconReply className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n },\n },\n};\n\nexport const defaultMessageActionSet: MessageActionSetItem[] = [\n {\n Component: DefaultMessageActionComponents.quick.DropdownToggle,\n placement: 'quick-dropdown-toggle',\n },\n {\n Component: DefaultMessageActionComponents.quick.Reply,\n placement: 'quick',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.quick.React,\n placement: 'quick',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.React,\n placement: 'dropdown',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.ThreadReply,\n placement: 'dropdown',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Quote,\n placement: 'dropdown',\n type: 'quote',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Download,\n placement: 'dropdown',\n type: 'download',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Pin,\n placement: 'dropdown',\n type: 'pin',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.CopyMessageText,\n placement: 'dropdown',\n type: 'copyMessageText',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Resend,\n placement: 'dropdown',\n type: 'resendMessage',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Edit,\n placement: 'dropdown',\n type: 'edit',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.MarkUnread,\n placement: 'dropdown',\n type: 'markUnread',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.RemindMe,\n placement: 'dropdown',\n type: 'remindMe',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.SaveForLater,\n placement: 'dropdown',\n type: 'saveForLater',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Flag,\n placement: 'dropdown',\n type: 'flag',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Mute,\n placement: 'dropdown',\n type: 'mute',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Delete,\n placement: 'dropdown',\n type: 'delete',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.BlockUser,\n placement: 'dropdown',\n type: 'blockUser',\n },\n] as const;\n"],"mappings":"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,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;AACF"}
@@ -3,10 +3,10 @@ import { useDialogIsOpen, useDialogOnNearestManager } from "../Dialog/hooks/useD
3
3
  import { useMessageContext } from "../../context/MessageContext.mjs";
4
4
  import { useTranslationContext } from "../../context/TranslationContext.mjs";
5
5
  import { ContextMenu } from "../Dialog/components/ContextMenu.mjs";
6
+ import { useSplitActionSet } from "../Chat/hooks/useSplitActionSet.mjs";
6
7
  import { useBaseMessageActionSetFilter } from "./hooks/useBaseMessageActionSetFilter.mjs";
7
8
  import { ReactionSelector } from "../Reactions/ReactionSelector.mjs";
8
9
  import { defaultMessageActionSet } from "./MessageActions.defaults.mjs";
9
- import { useSplitActionSet } from "../Chat/hooks/useSplitActionSet.mjs";
10
10
  import { useState } from "react";
11
11
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
12
12
  import clsx from "clsx";
@@ -36,8 +36,8 @@ var MessageActions = ({ disableBaseMessageActionSetFilter = false, messageAction
36
36
  return /* @__PURE__ */ jsxs("div", {
37
37
  className: clsx("str-chat__message-options", { "str-chat__message-options--active": messageActionsDialogIsOpen || reactionSelectorDialogIsOpen || dropdownReactionSelectorDialogIsOpen }),
38
38
  children: [quickDropdownToggleAction && dropdownActionSet.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(quickDropdownToggleAction.Component, { ref: setActionsBoxButtonElement }), /* @__PURE__ */ jsx(ContextMenuComponent, {
39
- "aria-label": t("aria/Message Actions"),
40
- backLabel: t("Back"),
39
+ "aria-label": t("messageActions.messageActions.ariaLabel", "Message Actions"),
40
+ backLabel: t("common.back.label", "Back"),
41
41
  className: clsx("str-chat__message-actions-box", {
42
42
  "str-chat__message-actions-box--hidden": dropdownReactionSelectorDialogIsOpen,
43
43
  "str-chat__message-actions-box--open": messageActionsDialogIsOpen
@@ -1 +1 @@
1
- {"version":3,"file":"MessageActions.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { type ComponentPropsWithRef, useState } from 'react';\n\nimport {\n useComponentContext,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport {\n ContextMenu,\n type ContextMenuItemProps,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { useBaseMessageActionSetFilter } from './hooks';\nimport { defaultMessageActionSet } from './MessageActions.defaults';\nimport { type MESSAGE_ACTIONS } from '../Message';\nimport { ReactionSelector } from '../Reactions';\nimport { useSplitActionSet } from '../Chat/hooks/useSplitActionSet';\n\ntype BaseMessageActionSetItem = {\n type: keyof typeof MESSAGE_ACTIONS | (string & {});\n};\n\nexport type QuickMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType;\n placement: 'quick';\n};\n\nexport type DropdownMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType<ContextMenuItemProps>;\n placement: 'dropdown';\n};\n\nexport type QuickDropdownToggleActionSetItem = {\n Component: React.ComponentType<ComponentPropsWithRef<'button'>>;\n placement: 'quick-dropdown-toggle';\n};\n\nexport type MessageActionSetItem =\n | QuickMessageActionSetItem\n | DropdownMessageActionSetItem\n | QuickDropdownToggleActionSetItem;\n\nexport type MessageActionsProps = {\n disableBaseMessageActionSetFilter?: boolean;\n messageActionSet?: MessageActionSetItem[];\n};\n\ninterface MessageActionsInterface {\n (props: MessageActionsProps): React.ReactNode;\n getDialogId: (_: { messageId: string }) => string;\n displayName: string;\n}\n\n/**\n * A new actions component to replace current `MessageOptions` component.\n * Exports from `stream-chat-react/experimental` __MIGHT__ change - use with caution\n * and follow release notes in case you notice unexpected behavior.\n */\nexport const MessageActions: MessageActionsInterface = ({\n disableBaseMessageActionSetFilter = false,\n messageActionSet = defaultMessageActionSet,\n}) => {\n const { isMyMessage, message, threadList } = useMessageContext();\n const { ContextMenu: ContextMenuComponent = ContextMenu } = useComponentContext();\n const { t } = useTranslationContext();\n const [actionsBoxButtonElement, setActionsBoxButtonElement] =\n useState<HTMLButtonElement | null>(null);\n\n const filteredMessageActionSet = useBaseMessageActionSetFilter(\n messageActionSet,\n disableBaseMessageActionSetFilter,\n );\n\n const { dropdownActionSet, quickActionSet, quickDropdownToggleAction } =\n useSplitActionSet(filteredMessageActionSet);\n\n const messageActionsDialogId = MessageActions.getDialogId({ messageId: message.id });\n const reactionSelectorDialogId = ReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const dropdownReactionSelectorDialogId = `${reactionSelectorDialogId}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: messageActionsDialogId,\n });\n const messageActionsDialogIsOpen = useDialogIsOpen(\n messageActionsDialogId,\n dialogManager?.id,\n );\n const reactionSelectorDialogIsOpen = useDialogIsOpen(\n reactionSelectorDialogId,\n dialogManager?.id,\n );\n const dropdownReactionSelectorDialogIsOpen = useDialogIsOpen(\n dropdownReactionSelectorDialogId,\n dialogManager?.id,\n );\n\n // do not render anything if total action count is zero\n if (dropdownActionSet.length + quickActionSet.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx('str-chat__message-options', {\n 'str-chat__message-options--active':\n messageActionsDialogIsOpen ||\n reactionSelectorDialogIsOpen ||\n dropdownReactionSelectorDialogIsOpen,\n })}\n >\n {quickDropdownToggleAction && dropdownActionSet.length > 0 && (\n <>\n <quickDropdownToggleAction.Component ref={setActionsBoxButtonElement} />\n\n <ContextMenuComponent\n aria-label={t('aria/Message Actions')}\n backLabel={t('Back')}\n className={clsx('str-chat__message-actions-box', {\n 'str-chat__message-actions-box--hidden':\n dropdownReactionSelectorDialogIsOpen,\n 'str-chat__message-actions-box--open': messageActionsDialogIsOpen,\n })}\n dialogManagerId={dialogManager?.id}\n id={messageActionsDialogId}\n onClose={dialog?.close}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={actionsBoxButtonElement}\n tabIndex={-1}\n trapFocus\n >\n {dropdownActionSet.map(({ Component, type }) => (\n <Component key={type} />\n ))}\n </ContextMenuComponent>\n </>\n )}\n {quickActionSet.map(({ Component: QuickActionComponent, type }) => (\n <QuickActionComponent key={type} />\n ))}\n </div>\n );\n};\n\nMessageActions.getDialogId = ({ messageId }) => `message-actions-${messageId}`;\n\nMessageActions.displayName = 'MessageActions';\n"],"mappings":";;;;;;;;;;;;;;;;;;AA4DA,IAAa,kBAA2C,EACtD,oCAAoC,OACpC,mBAAmB,8BACf;CACJ,MAAM,EAAE,aAAa,SAAS,eAAe,kBAAkB;CAC/D,MAAM,EAAE,aAAa,uBAAuB,gBAAgB,oBAAoB;CAChF,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,CAAC,yBAAyB,8BAC9B,SAAmC,IAAI;CAOzC,MAAM,EAAE,mBAAmB,gBAAgB,8BACzC,kBAN+B,8BAC/B,kBACA,iCAIkB,CAAwB;CAE5C,MAAM,yBAAyB,eAAe,YAAY,EAAE,WAAW,QAAQ,GAAG,CAAC;CACnF,MAAM,2BAA2B,iBAAiB,YAAY;EAC5D,WAAW,QAAQ;EACnB;CACF,CAAC;CACD,MAAM,mCAAmC,GAAG,yBAAyB;CACrE,MAAM,EAAE,QAAQ,kBAAkB,0BAA0B,EAC1D,IAAI,uBACN,CAAC;CACD,MAAM,6BAA6B,gBACjC,wBACA,eAAe,EACjB;CACA,MAAM,+BAA+B,gBACnC,0BACA,eAAe,EACjB;CACA,MAAM,uCAAuC,gBAC3C,kCACA,eAAe,EACjB;CAGA,IAAI,kBAAkB,SAAS,eAAe,WAAW,GACvD,OAAO;CAGT,OACE,qBAAC,OAAD;EACE,WAAW,KAAK,6BAA6B,EAC3C,qCACE,8BACA,gCACA,qCACJ,CAAC;YANH,CAQG,6BAA6B,kBAAkB,SAAS,KACvD,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,0BAA0B,WAA3B,EAAqC,KAAK,2BAA6B,CAAA,GAEvE,oBAAC,sBAAD;GACE,cAAY,EAAE,sBAAsB;GACpC,WAAW,EAAE,MAAM;GACnB,WAAW,KAAK,iCAAiC;IAC/C,yCACE;IACF,uCAAuC;GACzC,CAAC;GACD,iBAAiB,eAAe;GAChC,IAAI;GACJ,SAAS,QAAQ;GACjB,WAAW,YAAY,IAAI,YAAY;GACvC,kBAAkB;GAClB,UAAU;GACV,WAAA;aAEC,kBAAkB,KAAK,EAAE,WAAW,WACnC,oBAAC,WAAD,CAAuB,GAAP,IAAO,CACxB;EACmB,CAAA,CACtB,EAAA,CAAA,GAEH,eAAe,KAAK,EAAE,WAAW,sBAAsB,WACtD,oBAAC,sBAAD,CAAkC,GAAP,IAAO,CACnC,CACE;;AAET;AAEA,eAAe,eAAe,EAAE,gBAAgB,mBAAmB;AAEnE,eAAe,cAAc"}
1
+ {"version":3,"file":"MessageActions.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { type ComponentPropsWithRef, useState } from 'react';\n\nimport {\n useComponentContext,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport {\n ContextMenu,\n type ContextMenuItemProps,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { useBaseMessageActionSetFilter } from './hooks';\nimport { defaultMessageActionSet } from './MessageActions.defaults';\nimport { ReactionSelector } from '../Reactions';\nimport { useSplitActionSet } from '../Chat/hooks/useSplitActionSet';\n\n/**\n * The action types {@link defaultMessageActionSet} ships. Listed for autocomplete only -- a custom\n * action names itself, so any string is accepted.\n */\nexport type DefaultMessageActionType =\n | 'blockUser'\n | 'copyMessageText'\n | 'delete'\n | 'download'\n | 'edit'\n | 'flag'\n | 'markUnread'\n | 'mute'\n | 'pin'\n | 'quote'\n | 'react'\n | 'remindMe'\n | 'reply'\n | 'resendMessage'\n | 'saveForLater';\n\ntype BaseMessageActionSetItem = {\n type: DefaultMessageActionType | (string & {});\n};\n\nexport type QuickMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType;\n placement: 'quick';\n};\n\nexport type DropdownMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType<ContextMenuItemProps>;\n placement: 'dropdown';\n};\n\nexport type QuickDropdownToggleActionSetItem = {\n Component: React.ComponentType<ComponentPropsWithRef<'button'>>;\n placement: 'quick-dropdown-toggle';\n};\n\nexport type MessageActionSetItem =\n | QuickMessageActionSetItem\n | DropdownMessageActionSetItem\n | QuickDropdownToggleActionSetItem;\n\nexport type MessageActionsProps = {\n disableBaseMessageActionSetFilter?: boolean;\n messageActionSet?: MessageActionSetItem[];\n};\n\ninterface MessageActionsInterface {\n (props: MessageActionsProps): React.ReactNode;\n getDialogId: (_: { messageId: string }) => string;\n displayName: string;\n}\n\n/**\n * A new actions component to replace current `MessageOptions` component.\n * Exports from `stream-chat-react/experimental` __MIGHT__ change - use with caution\n * and follow release notes in case you notice unexpected behavior.\n */\nexport const MessageActions: MessageActionsInterface = ({\n disableBaseMessageActionSetFilter = false,\n messageActionSet = defaultMessageActionSet,\n}) => {\n const { isMyMessage, message, threadList } = useMessageContext();\n const { ContextMenu: ContextMenuComponent = ContextMenu } = useComponentContext();\n const { t } = useTranslationContext();\n const [actionsBoxButtonElement, setActionsBoxButtonElement] =\n useState<HTMLButtonElement | null>(null);\n\n const filteredMessageActionSet = useBaseMessageActionSetFilter(\n messageActionSet,\n disableBaseMessageActionSetFilter,\n );\n\n const { dropdownActionSet, quickActionSet, quickDropdownToggleAction } =\n useSplitActionSet(filteredMessageActionSet);\n\n const messageActionsDialogId = MessageActions.getDialogId({ messageId: message.id });\n const reactionSelectorDialogId = ReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const dropdownReactionSelectorDialogId = `${reactionSelectorDialogId}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: messageActionsDialogId,\n });\n const messageActionsDialogIsOpen = useDialogIsOpen(\n messageActionsDialogId,\n dialogManager?.id,\n );\n const reactionSelectorDialogIsOpen = useDialogIsOpen(\n reactionSelectorDialogId,\n dialogManager?.id,\n );\n const dropdownReactionSelectorDialogIsOpen = useDialogIsOpen(\n dropdownReactionSelectorDialogId,\n dialogManager?.id,\n );\n\n // do not render anything if total action count is zero\n if (dropdownActionSet.length + quickActionSet.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx('str-chat__message-options', {\n 'str-chat__message-options--active':\n messageActionsDialogIsOpen ||\n reactionSelectorDialogIsOpen ||\n dropdownReactionSelectorDialogIsOpen,\n })}\n >\n {quickDropdownToggleAction && dropdownActionSet.length > 0 && (\n <>\n <quickDropdownToggleAction.Component ref={setActionsBoxButtonElement} />\n\n <ContextMenuComponent\n aria-label={t('messageActions.messageActions.ariaLabel', 'Message Actions')}\n backLabel={t('common.back.label', 'Back')}\n className={clsx('str-chat__message-actions-box', {\n 'str-chat__message-actions-box--hidden':\n dropdownReactionSelectorDialogIsOpen,\n 'str-chat__message-actions-box--open': messageActionsDialogIsOpen,\n })}\n dialogManagerId={dialogManager?.id}\n id={messageActionsDialogId}\n onClose={dialog?.close}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={actionsBoxButtonElement}\n tabIndex={-1}\n trapFocus\n >\n {dropdownActionSet.map(({ Component, type }) => (\n <Component key={type} />\n ))}\n </ContextMenuComponent>\n </>\n )}\n {quickActionSet.map(({ Component: QuickActionComponent, type }) => (\n <QuickActionComponent key={type} />\n ))}\n </div>\n );\n};\n\nMessageActions.getDialogId = ({ messageId }) => `message-actions-${messageId}`;\n\nMessageActions.displayName = 'MessageActions';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgFA,IAAa,kBAA2C,EACtD,oCAAoC,OACpC,mBAAmB,8BACf;CACJ,MAAM,EAAE,aAAa,SAAS,eAAe,kBAAkB;CAC/D,MAAM,EAAE,aAAa,uBAAuB,gBAAgB,oBAAoB;CAChF,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,CAAC,yBAAyB,8BAC9B,SAAmC,IAAI;CAOzC,MAAM,EAAE,mBAAmB,gBAAgB,8BACzC,kBAN+B,8BAC/B,kBACA,iCAIkB,CAAwB;CAE5C,MAAM,yBAAyB,eAAe,YAAY,EAAE,WAAW,QAAQ,GAAG,CAAC;CACnF,MAAM,2BAA2B,iBAAiB,YAAY;EAC5D,WAAW,QAAQ;EACnB;CACF,CAAC;CACD,MAAM,mCAAmC,GAAG,yBAAyB;CACrE,MAAM,EAAE,QAAQ,kBAAkB,0BAA0B,EAC1D,IAAI,uBACN,CAAC;CACD,MAAM,6BAA6B,gBACjC,wBACA,eAAe,EACjB;CACA,MAAM,+BAA+B,gBACnC,0BACA,eAAe,EACjB;CACA,MAAM,uCAAuC,gBAC3C,kCACA,eAAe,EACjB;CAGA,IAAI,kBAAkB,SAAS,eAAe,WAAW,GACvD,OAAO;CAGT,OACE,qBAAC,OAAD;EACE,WAAW,KAAK,6BAA6B,EAC3C,qCACE,8BACA,gCACA,qCACJ,CAAC;YANH,CAQG,6BAA6B,kBAAkB,SAAS,KACvD,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,0BAA0B,WAA3B,EAAqC,KAAK,2BAA6B,CAAA,GAEvE,oBAAC,sBAAD;GACE,cAAY,EAAE,2CAA2C,iBAAiB;GAC1E,WAAW,EAAE,qBAAqB,MAAM;GACxC,WAAW,KAAK,iCAAiC;IAC/C,yCACE;IACF,uCAAuC;GACzC,CAAC;GACD,iBAAiB,eAAe;GAChC,IAAI;GACJ,SAAS,QAAQ;GACjB,WAAW,YAAY,IAAI,YAAY;GACvC,kBAAkB;GAClB,UAAU;GACV,WAAA;aAEC,kBAAkB,KAAK,EAAE,WAAW,WACnC,oBAAC,WAAD,CAAuB,GAAP,IAAO,CACxB;EACmB,CAAA,CACtB,EAAA,CAAA,GAEH,eAAe,KAAK,EAAE,WAAW,sBAAsB,WACtD,oBAAC,sBAAD,CAAkC,GAAP,IAAO,CACnC,CACE;;AAET;AAEA,eAAe,eAAe,EAAE,gBAAgB,mBAAmB;AAEnE,eAAe,cAAc"}
@@ -1,9 +1,9 @@
1
1
  import { useChatContext } from "../../context/ChatContext.mjs";
2
- import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
3
2
  import { useMessageContext } from "../../context/MessageContext.mjs";
4
3
  import { useTranslationContext } from "../../context/TranslationContext.mjs";
5
- import { ContextMenuBackButton, ContextMenuButton, ContextMenuHeader, useContextMenuContext } from "../Dialog/components/ContextMenu.mjs";
6
4
  import { useNotificationApi } from "../Notifications/hooks/useNotificationApi.mjs";
5
+ import { ContextMenuBackButton, ContextMenuButton, ContextMenuHeader, useContextMenuContext } from "../Dialog/components/ContextMenu.mjs";
6
+ import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
7
7
  import "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/components/MessageActions/RemindMeSubmenu.tsx
@@ -22,7 +22,7 @@ var RemindMeSubmenuHeader = () => {
22
22
  const { returnToParentMenu } = useContextMenuContext();
23
23
  return /* @__PURE__ */ jsx(ContextMenuHeader, { children: /* @__PURE__ */ jsxs(ContextMenuBackButton, {
24
24
  onClick: returnToParentMenu,
25
- children: [/* @__PURE__ */ jsx(IconChevronLeft, {}), /* @__PURE__ */ jsx("span", { children: t("Remind Me") })]
25
+ children: [/* @__PURE__ */ jsx(IconChevronLeft, {}), /* @__PURE__ */ jsx("span", { children: t("messageActions.remindMeSubmenu.remindMe.text", "Remind Me") })]
26
26
  }) });
27
27
  };
28
28
  var RemindMeSubmenu = () => {
@@ -38,13 +38,13 @@ var RemindMeSubmenu = () => {
38
38
  onClick: async () => {
39
39
  try {
40
40
  await client.reminders.upsertReminder({
41
- messageId: message.id,
42
- remind_at: new Date((/* @__PURE__ */ new Date()).getTime() + offsetMs).toISOString()
41
+ message_id: message.id,
42
+ remind_at: new Date((/* @__PURE__ */ new Date()).getTime() + offsetMs)
43
43
  });
44
44
  addNotification({
45
45
  context: { message },
46
46
  emitter: "MessageActions",
47
- message: t("Reminder set"),
47
+ message: t("common.reminderSet.text", "Reminder set"),
48
48
  severity: "success",
49
49
  type: "api:message:reminder:set:success"
50
50
  });
@@ -61,7 +61,7 @@ var RemindMeSubmenu = () => {
61
61
  closeMenu();
62
62
  }
63
63
  },
64
- children: t("duration/Remind Me", { milliseconds: offsetMs })
64
+ children: t("duration.remindMe", { milliseconds: offsetMs })
65
65
  }, `reminder-offset-option--${offsetMs}`))
66
66
  });
67
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RemindMeSubmenu.mjs","names":[],"sources":["../../../../src/components/MessageActions/RemindMeSubmenu.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useChatContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { useNotificationApi } from '../Notifications';\nimport {\n ContextMenuBackButton,\n ContextMenuButton,\n ContextMenuHeader,\n useContextMenuContext,\n} from '../Dialog';\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nexport const RemindMeSubmenuHeader = () => {\n const { IconChevronLeft } = useComponentContextIcons();\n\n const { t } = useTranslationContext();\n const { returnToParentMenu } = useContextMenuContext();\n return (\n <ContextMenuHeader>\n <ContextMenuBackButton onClick={returnToParentMenu}>\n <IconChevronLeft />\n <span>{t('Remind Me')}</span>\n </ContextMenuBackButton>\n </ContextMenuHeader>\n );\n};\n\nexport const RemindMeSubmenu = () => {\n const { t } = useTranslationContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n return (\n <div className='str-chat__message-actions-box__submenu'>\n {client.reminders.scheduledOffsetsMs.map((offsetMs) => (\n <ContextMenuButton\n className='str-chat__message-actions-list-item-button'\n key={`reminder-offset-option--${offsetMs}`}\n onClick={async () => {\n try {\n await client.reminders.upsertReminder({\n messageId: message.id,\n remind_at: new Date(new Date().getTime() + offsetMs).toISOString(),\n });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Reminder set'),\n severity: 'success',\n type: 'api:message:reminder:set:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error setting reminder'),\n severity: 'error',\n type: 'api:message:reminder:set:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {t('duration/Remind Me', { milliseconds: offsetMs })}\n </ContextMenuButton>\n ))}\n {/* todo: potential improvement to add a custom option that would trigger rendering modal with custom date picker - we need date picker */}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAeA,IAAM,mBAAmB,OAAgB,aACvC,iBAAiB,SAAS,MAAM,UAAU,MAAM,UAAU;AAE5D,IAAM,wBAAwB,UAAsC;CAClE,IAAI,iBAAiB,OAAO,OAAO;CACnC,IAAI,OAAO,UAAU,UAAU,OAAO,IAAI,MAAM,KAAK;CACrD,IAAI,SAAS,OAAO,UAAU,YAAY,aAAa,OAAO;EAC5D,MAAM,UAAU,MAAM;EACtB,IAAI,OAAO,YAAY,UAAU,OAAO,IAAI,MAAM,OAAO;CAC3D;AAEF;AAEA,IAAa,8BAA8B;CACzC,MAAM,EAAE,oBAAoB,yBAAyB;CAErD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,uBAAuB,sBAAsB;CACrD,OACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,uBAAD;EAAuB,SAAS;YAAhC,CACE,oBAAC,iBAAD,CAAkB,CAAA,GAClB,oBAAC,QAAD,EAAA,UAAO,EAAE,WAAW,EAAQ,CAAA,CACP;IACN,CAAA;AAEvB;AAEA,IAAa,wBAAwB;CACnC,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,YAAY,kBAAkB;CACtC,MAAM,EAAE,cAAc,sBAAsB;CAC5C,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,OACE,oBAAC,OAAD;EAAK,WAAU;YACZ,OAAO,UAAU,mBAAmB,KAAK,aACxC,oBAAC,mBAAD;GACE,WAAU;GAEV,SAAS,YAAY;IACnB,IAAI;KACF,MAAM,OAAO,UAAU,eAAe;MACpC,WAAW,QAAQ;MACnB,WAAW,IAAI,sBAAK,IAAI,KAAK,EAAA,CAAE,QAAQ,IAAI,QAAQ,CAAC,CAAC,YAAY;KACnE,CAAC;KACD,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,SAAS,EAAE,cAAc;MACzB,UAAU;MACV,MAAM;KACR,CAAC;IACH,SAAS,OAAO;KACd,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,OAAO,qBAAqB,KAAK;MACjC,SAAS,gBAAgB,OAAO,wBAAwB;MACxD,UAAU;MACV,MAAM;KACR,CAAC;IACH,UAAU;KACR,UAAU;IACZ;GACF;aAEC,EAAE,sBAAsB,EAAE,cAAc,SAAS,CAAC;EAClC,GAjCZ,2BAA2B,UAiCf,CACpB;CAEE,CAAA;AAET"}
1
+ {"version":3,"file":"RemindMeSubmenu.mjs","names":[],"sources":["../../../../src/components/MessageActions/RemindMeSubmenu.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useChatContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { useNotificationApi } from '../Notifications';\nimport {\n ContextMenuBackButton,\n ContextMenuButton,\n ContextMenuHeader,\n useContextMenuContext,\n} from '../Dialog';\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nexport const RemindMeSubmenuHeader = () => {\n const { IconChevronLeft } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { returnToParentMenu } = useContextMenuContext();\n return (\n <ContextMenuHeader>\n <ContextMenuBackButton onClick={returnToParentMenu}>\n <IconChevronLeft />\n <span>{t('messageActions.remindMeSubmenu.remindMe.text', 'Remind Me')}</span>\n </ContextMenuBackButton>\n </ContextMenuHeader>\n );\n};\n\nexport const RemindMeSubmenu = () => {\n const { t } = useTranslationContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n return (\n <div className='str-chat__message-actions-box__submenu'>\n {client.reminders.scheduledOffsetsMs.map((offsetMs) => (\n <ContextMenuButton\n className='str-chat__message-actions-list-item-button'\n key={`reminder-offset-option--${offsetMs}`}\n onClick={async () => {\n try {\n await client.reminders.upsertReminder({\n message_id: message.id,\n remind_at: new Date(new Date().getTime() + offsetMs),\n });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.reminderSet.text', 'Reminder set'),\n severity: 'success',\n type: 'api:message:reminder:set:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error setting reminder'),\n severity: 'error',\n type: 'api:message:reminder:set:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {t('duration.remindMe', { milliseconds: offsetMs })}\n </ContextMenuButton>\n ))}\n {/* todo: potential improvement to add a custom option that would trigger rendering modal with custom date picker - we need date picker */}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAeA,IAAM,mBAAmB,OAAgB,aACvC,iBAAiB,SAAS,MAAM,UAAU,MAAM,UAAU;AAE5D,IAAM,wBAAwB,UAAsC;CAClE,IAAI,iBAAiB,OAAO,OAAO;CACnC,IAAI,OAAO,UAAU,UAAU,OAAO,IAAI,MAAM,KAAK;CACrD,IAAI,SAAS,OAAO,UAAU,YAAY,aAAa,OAAO;EAC5D,MAAM,UAAU,MAAM;EACtB,IAAI,OAAO,YAAY,UAAU,OAAO,IAAI,MAAM,OAAO;CAC3D;AAEF;AAEA,IAAa,8BAA8B;CACzC,MAAM,EAAE,oBAAoB,yBAAyB;CACrD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,uBAAuB,sBAAsB;CACrD,OACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,uBAAD;EAAuB,SAAS;YAAhC,CACE,oBAAC,iBAAD,CAAkB,CAAA,GAClB,oBAAC,QAAD,EAAA,UAAO,EAAE,gDAAgD,WAAW,EAAQ,CAAA,CACvD;IACN,CAAA;AAEvB;AAEA,IAAa,wBAAwB;CACnC,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,YAAY,kBAAkB;CACtC,MAAM,EAAE,cAAc,sBAAsB;CAC5C,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,OACE,oBAAC,OAAD;EAAK,WAAU;YACZ,OAAO,UAAU,mBAAmB,KAAK,aACxC,oBAAC,mBAAD;GACE,WAAU;GAEV,SAAS,YAAY;IACnB,IAAI;KACF,MAAM,OAAO,UAAU,eAAe;MACpC,YAAY,QAAQ;MACpB,WAAW,IAAI,sBAAK,IAAI,KAAK,EAAA,CAAE,QAAQ,IAAI,QAAQ;KACrD,CAAC;KACD,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,SAAS,EAAE,2BAA2B,cAAc;MACpD,UAAU;MACV,MAAM;KACR,CAAC;IACH,SAAS,OAAO;KACd,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,OAAO,qBAAqB,KAAK;MACjC,SAAS,gBAAgB,OAAO,wBAAwB;MACxD,UAAU;MACV,MAAM;KACR,CAAC;IACH,UAAU;KACR,UAAU;IACZ;GACF;aAEC,EAAE,qBAAqB,EAAE,cAAc,SAAS,CAAC;EACjC,GAjCZ,2BAA2B,UAiCf,CACpB;CAEE,CAAA;AAET"}
@@ -1,10 +1,12 @@
1
- import { useChannelStateContext } from "../../../context/ChannelStateContext.mjs";
1
+ import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
2
2
  import { useMessageContext } from "../../../context/MessageContext.mjs";
3
3
  import { ACTIONS_NOT_WORKING_IN_THREAD, isMessageBounced, isMessageDeleted, isMessageErrorRetryable, isNetworkSendFailure } from "../../Message/utils.mjs";
4
4
  import { useUserRole } from "../../Message/hooks/useUserRole.mjs";
5
+ import { useChannel } from "../../../context/useChannel.mjs";
5
6
  import { useMemo } from "react";
6
7
  import { isAudioAttachment, isFileAttachment, isImageAttachment, isVideoAttachment, isVoiceRecordingAttachment } from "stream-chat";
7
8
  //#region src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts
9
+ var userMessageRemindersStateSelector = ({ userMessageReminders }) => ({ userMessageRemindersEnabled: userMessageReminders.enabled });
8
10
  /**
9
11
  * Base filter hook which covers actions of type `delete`, `edit`,
10
12
  * `flag`, `markUnread`, `mute`, `quote`, `react` and `reply`, whether
@@ -12,8 +14,9 @@ import { isAudioAttachment, isFileAttachment, isImageAttachment, isVideoAttachme
12
14
  * whether the message has appropriate type and status (including soft-deleted).
13
15
  */
14
16
  var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
17
+ const channel = useChannel();
15
18
  const { initialMessage: isInitialMessage, message } = useMessageContext();
16
- const { channelConfig } = useChannelStateContext();
19
+ const { userMessageRemindersEnabled } = useStateStore(channel.configState, userMessageRemindersStateSelector);
17
20
  const messageIsDeleted = isMessageDeleted(message);
18
21
  const { canBlockUser, canDelete, canEdit, canFlag, canMarkUnread, canMute, canQuote, canReact, canReply, canSendMessage } = useUserRole(message);
19
22
  const isMessageThreadReply = typeof message.parent_id === "string";
@@ -28,7 +31,7 @@ var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
28
31
  const type = action.type;
29
32
  if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply) return false;
30
33
  if (message.error) return type === "resendMessage" && canSendMessage && (allowRetry || isBounced) || type === "edit" && (isBounced && canEdit || hasNetworkSendFailure) || type === "delete" && !messageIsDeleted && (isBounced && canDelete || hasNetworkSendFailure);
31
- if (type === "resendMessage" || type === "blockUser" && !canBlockUser || type === "copyMessageText" && !message.text || type === "download" && !message.attachments?.some((attachment) => isFileAttachment(attachment) || isImageAttachment(attachment) || isVideoAttachment(attachment) || isAudioAttachment(attachment) || isVoiceRecordingAttachment(attachment)) || type === "delete" && (!canDelete || messageIsDeleted) || type === "edit" && !canEdit || type === "flag" && !canFlag || type === "markUnread" && !canMarkUnread || type === "mute" && !canMute || type === "quote" && !canQuote || type === "react" && !canReact || type === "reply" && !canReply || type === "remindMe" && !channelConfig?.["user_message_reminders"] || type === "saveForLater" && !channelConfig?.["user_message_reminders"]) return false;
34
+ if (type === "resendMessage" || type === "blockUser" && !canBlockUser || type === "copyMessageText" && !message.text || type === "download" && !message.attachments?.some((attachment) => isFileAttachment(attachment) || isImageAttachment(attachment) || isVideoAttachment(attachment) || isAudioAttachment(attachment) || isVoiceRecordingAttachment(attachment)) || type === "delete" && (!canDelete || messageIsDeleted) || type === "edit" && !canEdit || type === "flag" && !canFlag || type === "markUnread" && !canMarkUnread || type === "mute" && !canMute || type === "quote" && !canQuote || type === "react" && !canReact || type === "reply" && !canReply || type === "remindMe" && !userMessageRemindersEnabled || type === "saveForLater" && !userMessageRemindersEnabled) return false;
32
35
  return true;
33
36
  });
34
37
  }, [
@@ -43,7 +46,7 @@ var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
43
46
  canReact,
44
47
  canReply,
45
48
  canSendMessage,
46
- channelConfig,
49
+ userMessageRemindersEnabled,
47
50
  isBounced,
48
51
  isInitialMessage,
49
52
  messageIsDeleted,
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseMessageActionSetFilter.mjs","names":[],"sources":["../../../../../src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useChannelStateContext, useMessageContext } from '../../../context';\nimport { useUserRole } from '../../Message/hooks';\nimport {\n ACTIONS_NOT_WORKING_IN_THREAD,\n isMessageBounced,\n isMessageDeleted,\n isMessageErrorRetryable,\n isNetworkSendFailure,\n} from '../../Message/utils';\n\nimport type { MessageActionSetItem } from '../MessageActions';\nimport {\n isAudioAttachment,\n isFileAttachment,\n isImageAttachment,\n isVideoAttachment,\n isVoiceRecordingAttachment,\n} from 'stream-chat';\n\n/**\n * Base filter hook which covers actions of type `delete`, `edit`,\n * `flag`, `markUnread`, `mute`, `quote`, `react` and `reply`, whether\n * the rendered message is a reply (replies are limited to certain actions) and\n * whether the message has appropriate type and status (including soft-deleted).\n */\nexport const useBaseMessageActionSetFilter = (\n messageActionSet: MessageActionSetItem[],\n disable = false,\n) => {\n const { initialMessage: isInitialMessage, message } = useMessageContext();\n const { channelConfig } = useChannelStateContext();\n const messageIsDeleted = isMessageDeleted(message);\n const {\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n } = useUserRole(message);\n const isMessageThreadReply = typeof message.parent_id === 'string';\n const isBounced = isMessageBounced(message);\n const allowRetry = isMessageErrorRetryable(message);\n const hasNetworkSendFailure = isNetworkSendFailure(message);\n\n return useMemo(() => {\n if (disable) return messageActionSet;\n\n // filter out all actions if any of these are true\n if (\n isBounced ||\n isInitialMessage || // not sure whether this thing even works anymore\n !message.type ||\n message.type === 'system' ||\n message.type === 'ephemeral' ||\n message.status === 'sending'\n )\n return [];\n\n return messageActionSet.filter((action) => {\n if (action.placement === 'quick-dropdown-toggle') return true;\n\n const type = action.type;\n\n // filter out actions with types that do not work in thread\n if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply)\n return false;\n\n // failed message menu has special treatment\n if (message.error) {\n return (\n (type === 'resendMessage' && canSendMessage && (allowRetry || isBounced)) ||\n (type === 'edit' && ((isBounced && canEdit) || hasNetworkSendFailure)) ||\n (type === 'delete' &&\n !messageIsDeleted &&\n ((isBounced && canDelete) || hasNetworkSendFailure))\n );\n }\n\n if (\n type === 'resendMessage' ||\n (type === 'blockUser' && !canBlockUser) ||\n (type === 'copyMessageText' && !message.text) ||\n (type === 'download' &&\n !message.attachments?.some(\n (attachment) =>\n isFileAttachment(attachment) ||\n isImageAttachment(attachment) ||\n isVideoAttachment(attachment) ||\n isAudioAttachment(attachment) ||\n isVoiceRecordingAttachment(attachment),\n )) ||\n (type === 'delete' && (!canDelete || messageIsDeleted)) ||\n (type === 'edit' && !canEdit) ||\n (type === 'flag' && !canFlag) ||\n (type === 'markUnread' && !canMarkUnread) ||\n (type === 'mute' && !canMute) ||\n (type === 'quote' && !canQuote) ||\n (type === 'react' && !canReact) ||\n (type === 'reply' && !canReply) ||\n (type === 'remindMe' && !channelConfig?.['user_message_reminders']) ||\n (type === 'saveForLater' && !channelConfig?.['user_message_reminders'])\n )\n return false;\n\n return true;\n });\n }, [\n allowRetry,\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n channelConfig,\n isBounced,\n isInitialMessage,\n messageIsDeleted,\n isMessageThreadReply,\n message.error,\n message.attachments,\n message.status,\n message.text,\n message.type,\n disable,\n hasNetworkSendFailure,\n messageActionSet,\n ]);\n};\n"],"mappings":";;;;;;;;;;;;;AA2BA,IAAa,iCACX,kBACA,UAAU,UACP;CACH,MAAM,EAAE,gBAAgB,kBAAkB,YAAY,kBAAkB;CACxE,MAAM,EAAE,kBAAkB,uBAAuB;CACjD,MAAM,mBAAmB,iBAAiB,OAAO;CACjD,MAAM,EACJ,cACA,WACA,SACA,SACA,eACA,SACA,UACA,UACA,UACA,mBACE,YAAY,OAAO;CACvB,MAAM,uBAAuB,OAAO,QAAQ,cAAc;CAC1D,MAAM,YAAY,iBAAiB,OAAO;CAC1C,MAAM,aAAa,wBAAwB,OAAO;CAClD,MAAM,wBAAwB,qBAAqB,OAAO;CAE1D,OAAO,cAAc;EACnB,IAAI,SAAS,OAAO;EAGpB,IACE,aACA,oBACA,CAAC,QAAQ,QACT,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,WAAW,WAEnB,OAAO,CAAC;EAEV,OAAO,iBAAiB,QAAQ,WAAW;GACzC,IAAI,OAAO,cAAc,yBAAyB,OAAO;GAEzD,MAAM,OAAO,OAAO;GAGpB,IAAI,8BAA8B,SAAS,IAAI,KAAK,sBAClD,OAAO;GAGT,IAAI,QAAQ,OACV,OACG,SAAS,mBAAmB,mBAAmB,cAAc,cAC7D,SAAS,WAAY,aAAa,WAAY,0BAC9C,SAAS,YACR,CAAC,qBACC,aAAa,aAAc;GAInC,IACE,SAAS,mBACR,SAAS,eAAe,CAAC,gBACzB,SAAS,qBAAqB,CAAC,QAAQ,QACvC,SAAS,cACR,CAAC,QAAQ,aAAa,MACnB,eACC,iBAAiB,UAAU,KAC3B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,2BAA2B,UAAU,CACzC,KACD,SAAS,aAAa,CAAC,aAAa,qBACpC,SAAS,UAAU,CAAC,WACpB,SAAS,UAAU,CAAC,WACpB,SAAS,gBAAgB,CAAC,iBAC1B,SAAS,UAAU,CAAC,WACpB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,cAAc,CAAC,gBAAgB,6BACxC,SAAS,kBAAkB,CAAC,gBAAgB,2BAE7C,OAAO;GAET,OAAO;EACT,CAAC;CACH,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR;EACA;EACA;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useBaseMessageActionSetFilter.mjs","names":[],"sources":["../../../../../src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useChannel, useMessageContext } from '../../../context';\nimport { useUserRole } from '../../Message/hooks';\nimport {\n ACTIONS_NOT_WORKING_IN_THREAD,\n isMessageBounced,\n isMessageDeleted,\n isMessageErrorRetryable,\n isNetworkSendFailure,\n} from '../../Message/utils';\n\nimport type { MessageActionSetItem } from '../MessageActions';\nimport {\n isAudioAttachment,\n isFileAttachment,\n isImageAttachment,\n isVideoAttachment,\n isVoiceRecordingAttachment,\n} from 'stream-chat';\nimport type { ChannelConfig } from 'stream-chat';\nimport { useStateStore } from '../../../store';\n\nconst userMessageRemindersStateSelector = ({ userMessageReminders }: ChannelConfig) => ({\n userMessageRemindersEnabled: userMessageReminders.enabled,\n});\n\n/**\n * Base filter hook which covers actions of type `delete`, `edit`,\n * `flag`, `markUnread`, `mute`, `quote`, `react` and `reply`, whether\n * the rendered message is a reply (replies are limited to certain actions) and\n * whether the message has appropriate type and status (including soft-deleted).\n */\nexport const useBaseMessageActionSetFilter = (\n messageActionSet: MessageActionSetItem[],\n disable = false,\n) => {\n const channel = useChannel();\n const { initialMessage: isInitialMessage, message } = useMessageContext();\n const { userMessageRemindersEnabled } = useStateStore(\n channel.configState,\n userMessageRemindersStateSelector,\n );\n const messageIsDeleted = isMessageDeleted(message);\n const {\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n } = useUserRole(message);\n const isMessageThreadReply = typeof message.parent_id === 'string';\n const isBounced = isMessageBounced(message);\n const allowRetry = isMessageErrorRetryable(message);\n const hasNetworkSendFailure = isNetworkSendFailure(message);\n\n return useMemo(() => {\n if (disable) return messageActionSet;\n\n // filter out all actions if any of these are true\n if (\n isBounced ||\n isInitialMessage || // not sure whether this thing even works anymore\n !message.type ||\n message.type === 'system' ||\n message.type === 'ephemeral' ||\n message.status === 'sending'\n )\n return [];\n\n return messageActionSet.filter((action) => {\n if (action.placement === 'quick-dropdown-toggle') return true;\n\n const type = action.type;\n\n // filter out actions with types that do not work in thread\n if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply)\n return false;\n\n // failed message menu has special treatment\n if (message.error) {\n return (\n (type === 'resendMessage' && canSendMessage && (allowRetry || isBounced)) ||\n (type === 'edit' && ((isBounced && canEdit) || hasNetworkSendFailure)) ||\n (type === 'delete' &&\n !messageIsDeleted &&\n ((isBounced && canDelete) || hasNetworkSendFailure))\n );\n }\n\n if (\n type === 'resendMessage' ||\n (type === 'blockUser' && !canBlockUser) ||\n (type === 'copyMessageText' && !message.text) ||\n (type === 'download' &&\n !message.attachments?.some(\n (attachment) =>\n isFileAttachment(attachment) ||\n isImageAttachment(attachment) ||\n isVideoAttachment(attachment) ||\n isAudioAttachment(attachment) ||\n isVoiceRecordingAttachment(attachment),\n )) ||\n (type === 'delete' && (!canDelete || messageIsDeleted)) ||\n (type === 'edit' && !canEdit) ||\n (type === 'flag' && !canFlag) ||\n (type === 'markUnread' && !canMarkUnread) ||\n (type === 'mute' && !canMute) ||\n (type === 'quote' && !canQuote) ||\n (type === 'react' && !canReact) ||\n (type === 'reply' && !canReply) ||\n (type === 'remindMe' && !userMessageRemindersEnabled) ||\n (type === 'saveForLater' && !userMessageRemindersEnabled)\n )\n return false;\n\n return true;\n });\n }, [\n allowRetry,\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n userMessageRemindersEnabled,\n isBounced,\n isInitialMessage,\n messageIsDeleted,\n isMessageThreadReply,\n message.error,\n message.attachments,\n message.status,\n message.text,\n message.type,\n disable,\n hasNetworkSendFailure,\n messageActionSet,\n ]);\n};\n"],"mappings":";;;;;;;;AAuBA,IAAM,qCAAqC,EAAE,4BAA2C,EACtF,6BAA6B,qBAAqB,QACpD;;;;;;;AAQA,IAAa,iCACX,kBACA,UAAU,UACP;CACH,MAAM,UAAU,WAAW;CAC3B,MAAM,EAAE,gBAAgB,kBAAkB,YAAY,kBAAkB;CACxE,MAAM,EAAE,gCAAgC,cACtC,QAAQ,aACR,iCACF;CACA,MAAM,mBAAmB,iBAAiB,OAAO;CACjD,MAAM,EACJ,cACA,WACA,SACA,SACA,eACA,SACA,UACA,UACA,UACA,mBACE,YAAY,OAAO;CACvB,MAAM,uBAAuB,OAAO,QAAQ,cAAc;CAC1D,MAAM,YAAY,iBAAiB,OAAO;CAC1C,MAAM,aAAa,wBAAwB,OAAO;CAClD,MAAM,wBAAwB,qBAAqB,OAAO;CAE1D,OAAO,cAAc;EACnB,IAAI,SAAS,OAAO;EAGpB,IACE,aACA,oBACA,CAAC,QAAQ,QACT,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,WAAW,WAEnB,OAAO,CAAC;EAEV,OAAO,iBAAiB,QAAQ,WAAW;GACzC,IAAI,OAAO,cAAc,yBAAyB,OAAO;GAEzD,MAAM,OAAO,OAAO;GAGpB,IAAI,8BAA8B,SAAS,IAAI,KAAK,sBAClD,OAAO;GAGT,IAAI,QAAQ,OACV,OACG,SAAS,mBAAmB,mBAAmB,cAAc,cAC7D,SAAS,WAAY,aAAa,WAAY,0BAC9C,SAAS,YACR,CAAC,qBACC,aAAa,aAAc;GAInC,IACE,SAAS,mBACR,SAAS,eAAe,CAAC,gBACzB,SAAS,qBAAqB,CAAC,QAAQ,QACvC,SAAS,cACR,CAAC,QAAQ,aAAa,MACnB,eACC,iBAAiB,UAAU,KAC3B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,2BAA2B,UAAU,CACzC,KACD,SAAS,aAAa,CAAC,aAAa,qBACpC,SAAS,UAAU,CAAC,WACpB,SAAS,UAAU,CAAC,WACpB,SAAS,gBAAgB,CAAC,iBAC1B,SAAS,UAAU,CAAC,WACpB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,cAAc,CAAC,+BACxB,SAAS,kBAAkB,CAAC,6BAE7B,OAAO;GAET,OAAO;EACT,CAAC;CACH,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR;EACA;EACA;CACF,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
1
  import { useComponentContext } from "../../context/ComponentContext.mjs";
2
- import { MessageBounceProvider } from "../../context/MessageBounceContext.mjs";
3
2
  import { GlobalModal } from "../Modal/GlobalModal.mjs";
3
+ import { MessageBounceProvider } from "../../context/MessageBounceContext.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region src/components/MessageBounce/MessageBounceModal.tsx
@@ -1,9 +1,9 @@
1
- import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
2
- import { useMessageBounceContext } from "../../context/MessageBounceContext.mjs";
3
- import { useModalContext } from "../../context/ModalContext.mjs";
4
1
  import { useTranslationContext } from "../../context/TranslationContext.mjs";
5
2
  import { Button } from "../Button/Button.mjs";
6
3
  import { Alert } from "../Dialog/components/Alert.mjs";
4
+ import { useMessageBounceContext } from "../../context/MessageBounceContext.mjs";
5
+ import { useModalContext } from "../../context/ModalContext.mjs";
6
+ import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
7
7
  import "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/components/MessageBounce/MessageBouncePrompt.tsx
@@ -23,9 +23,9 @@ function MessageBouncePrompt({ children }) {
23
23
  "data-testid": "message-bounce-prompt",
24
24
  children: [/* @__PURE__ */ jsx(Alert.Header, {
25
25
  className: "str-chat__message-bounce-alert-header",
26
- description: !children ? t("Review this message and choose whether to delete it, edit it, or send it anyway") : void 0,
26
+ description: !children ? t("messageBounce.prompt.description", "Review this message and choose whether to delete it, edit it, or send it anyway") : void 0,
27
27
  Icon: IconExclamationMark,
28
- title: !children ? t("This message did not meet our content guidelines") : void 0,
28
+ title: !children ? t("messageBounce.prompt.title", "This message did not meet our content guidelines") : void 0,
29
29
  children
30
30
  }), /* @__PURE__ */ jsxs(Alert.Actions, {
31
31
  className: "str-chat__message-bounce-actions",
@@ -37,7 +37,7 @@ function MessageBouncePrompt({ children }) {
37
37
  onClick: createHandler(handleDelete),
38
38
  size: "md",
39
39
  variant: "danger",
40
- children: t("Delete")
40
+ children: t("common.delete.text", "Delete")
41
41
  }),
42
42
  /* @__PURE__ */ jsx(Button, {
43
43
  appearance: "outline",
@@ -46,7 +46,7 @@ function MessageBouncePrompt({ children }) {
46
46
  onClick: createHandler(handleEdit),
47
47
  size: "md",
48
48
  variant: "secondary",
49
- children: t("Edit Message")
49
+ children: t("common.editMessage.text", "Edit Message")
50
50
  }),
51
51
  /* @__PURE__ */ jsx(Button, {
52
52
  appearance: "outline",
@@ -55,7 +55,7 @@ function MessageBouncePrompt({ children }) {
55
55
  onClick: createHandler(handleRetry),
56
56
  size: "md",
57
57
  variant: "secondary",
58
- children: t("Send Anyway")
58
+ children: t("messageBounce.prompt.sendAnyway.text", "Send Anyway")
59
59
  })
60
60
  ]
61
61
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBouncePrompt.mjs","names":[],"sources":["../../../../src/components/MessageBounce/MessageBouncePrompt.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport React from 'react';\nimport {\n useComponentContextIcons,\n useMessageBounceContext,\n useModalContext,\n useTranslationContext,\n} from '../../context';\nimport { Button } from '../Button';\nimport { Alert } from '../Dialog';\nimport type { PropsWithChildrenOnly } from '../../types/types';\n\nexport type MessageBouncePromptProps = PropsWithChildrenOnly;\n\n// todo: shall we rename this to MessageBounceAlert?\nexport function MessageBouncePrompt({ children }: MessageBouncePromptProps) {\n const { IconExclamationMark } = useComponentContextIcons();\n\n const { handleDelete, handleEdit, handleRetry } = useMessageBounceContext();\n const { t } = useTranslationContext();\n const { close } = useModalContext();\n\n function createHandler(\n handle: MouseEventHandler<HTMLButtonElement>,\n ): MouseEventHandler<HTMLButtonElement> {\n return (e) => {\n handle(e);\n close();\n };\n }\n\n return (\n <Alert.Root\n className='str-chat__message-bounce-alert'\n data-testid='message-bounce-prompt'\n >\n <Alert.Header\n className='str-chat__message-bounce-alert-header'\n description={\n !children\n ? t(\n 'Review this message and choose whether to delete it, edit it, or send it anyway',\n )\n : undefined\n }\n Icon={IconExclamationMark}\n title={\n !children ? t('This message did not meet our content guidelines') : undefined\n }\n >\n {children}\n </Alert.Header>\n <Alert.Actions className={'str-chat__message-bounce-actions'}>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-delete'\n data-testid='message-bounce-delete'\n onClick={createHandler(handleDelete)}\n size='md'\n variant='danger'\n >\n {t('Delete')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-edit'\n data-testid='message-bounce-edit'\n onClick={createHandler(handleEdit)}\n size='md'\n variant='secondary'\n >\n {t('Edit Message')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-send'\n data-testid='message-bounce-send'\n onClick={createHandler(handleRetry)}\n size='md'\n variant='secondary'\n >\n {t('Send Anyway')}\n </Button>\n </Alert.Actions>\n </Alert.Root>\n );\n}\n"],"mappings":";;;;;;;;;AAeA,SAAgB,oBAAoB,EAAE,YAAsC;CAC1E,MAAM,EAAE,wBAAwB,yBAAyB;CAEzD,MAAM,EAAE,cAAc,YAAY,gBAAgB,wBAAwB;CAC1E,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,UAAU,gBAAgB;CAElC,SAAS,cACP,QACsC;EACtC,QAAQ,MAAM;GACZ,OAAO,CAAC;GACR,MAAM;EACR;CACF;CAEA,OACE,qBAAC,MAAM,MAAP;EACE,WAAU;EACV,eAAY;YAFd,CAIE,oBAAC,MAAM,QAAP;GACE,WAAU;GACV,aACE,CAAC,WACG,EACE,iFACF,IACA,KAAA;GAEN,MAAM;GACN,OACE,CAAC,WAAW,EAAE,kDAAkD,IAAI,KAAA;GAGrE;EACW,CAAA,GACd,qBAAC,MAAM,SAAP;GAAe,WAAW;aAA1B;IACE,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,YAAY;KACnC,MAAK;KACL,SAAQ;eAEP,EAAE,QAAQ;IACL,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,UAAU;KACjC,MAAK;KACL,SAAQ;eAEP,EAAE,cAAc;IACX,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,WAAW;KAClC,MAAK;KACL,SAAQ;eAEP,EAAE,aAAa;IACV,CAAA;GACK;IACL;;AAEhB"}
1
+ {"version":3,"file":"MessageBouncePrompt.mjs","names":[],"sources":["../../../../src/components/MessageBounce/MessageBouncePrompt.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport React from 'react';\nimport {\n useComponentContextIcons,\n useMessageBounceContext,\n useModalContext,\n useTranslationContext,\n} from '../../context';\nimport { Button } from '../Button';\nimport { Alert } from '../Dialog';\nimport type { PropsWithChildrenOnly } from '../../types/types';\n\nexport type MessageBouncePromptProps = PropsWithChildrenOnly;\n\n// todo: shall we rename this to MessageBounceAlert?\nexport function MessageBouncePrompt({ children }: MessageBouncePromptProps) {\n const { IconExclamationMark } = useComponentContextIcons();\n const { handleDelete, handleEdit, handleRetry } = useMessageBounceContext();\n const { t } = useTranslationContext();\n const { close } = useModalContext();\n\n function createHandler(\n handle: MouseEventHandler<HTMLButtonElement>,\n ): MouseEventHandler<HTMLButtonElement> {\n return (e) => {\n handle(e);\n close();\n };\n }\n\n return (\n <Alert.Root\n className='str-chat__message-bounce-alert'\n data-testid='message-bounce-prompt'\n >\n <Alert.Header\n className='str-chat__message-bounce-alert-header'\n description={\n !children\n ? t(\n 'messageBounce.prompt.description',\n 'Review this message and choose whether to delete it, edit it, or send it anyway',\n )\n : undefined\n }\n Icon={IconExclamationMark}\n title={\n !children\n ? t(\n 'messageBounce.prompt.title',\n 'This message did not meet our content guidelines',\n )\n : undefined\n }\n >\n {children}\n </Alert.Header>\n <Alert.Actions className={'str-chat__message-bounce-actions'}>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-delete'\n data-testid='message-bounce-delete'\n onClick={createHandler(handleDelete)}\n size='md'\n variant='danger'\n >\n {t('common.delete.text', 'Delete')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-edit'\n data-testid='message-bounce-edit'\n onClick={createHandler(handleEdit)}\n size='md'\n variant='secondary'\n >\n {t('common.editMessage.text', 'Edit Message')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-send'\n data-testid='message-bounce-send'\n onClick={createHandler(handleRetry)}\n size='md'\n variant='secondary'\n >\n {t('messageBounce.prompt.sendAnyway.text', 'Send Anyway')}\n </Button>\n </Alert.Actions>\n </Alert.Root>\n );\n}\n"],"mappings":";;;;;;;;;AAeA,SAAgB,oBAAoB,EAAE,YAAsC;CAC1E,MAAM,EAAE,wBAAwB,yBAAyB;CACzD,MAAM,EAAE,cAAc,YAAY,gBAAgB,wBAAwB;CAC1E,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,UAAU,gBAAgB;CAElC,SAAS,cACP,QACsC;EACtC,QAAQ,MAAM;GACZ,OAAO,CAAC;GACR,MAAM;EACR;CACF;CAEA,OACE,qBAAC,MAAM,MAAP;EACE,WAAU;EACV,eAAY;YAFd,CAIE,oBAAC,MAAM,QAAP;GACE,WAAU;GACV,aACE,CAAC,WACG,EACE,oCACA,iFACF,IACA,KAAA;GAEN,MAAM;GACN,OACE,CAAC,WACG,EACE,8BACA,kDACF,IACA,KAAA;GAGL;EACW,CAAA,GACd,qBAAC,MAAM,SAAP;GAAe,WAAW;aAA1B;IACE,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,YAAY;KACnC,MAAK;KACL,SAAQ;eAEP,EAAE,sBAAsB,QAAQ;IAC3B,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,UAAU;KACjC,MAAK;KACL,SAAQ;eAEP,EAAE,2BAA2B,cAAc;IACtC,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,WAAW;KAClC,MAAK;KACL,SAAQ;eAEP,EAAE,wCAAwC,aAAa;IAClD,CAAA;GACK;IACL;;AAEhB"}
@@ -1,15 +1,15 @@
1
1
  import { useComponentContext } from "../../../context/ComponentContext.mjs";
2
2
  import { GlobalModal } from "../../Modal/GlobalModal.mjs";
3
+ import { useMessageComposerController } from "../hooks/useMessageComposerController.mjs";
3
4
  import { toBaseImageDescriptors } from "../../BaseImage/toBaseImageDescriptors.mjs";
4
5
  import { Gallery } from "../../Gallery/Gallery.mjs";
5
6
  import { useAttachmentsForPreview } from "../hooks/useAttachmentsForPreview.mjs";
6
7
  import { UnsupportedAttachmentPreview } from "./UnsupportedAttachmentPreview.mjs";
7
8
  import { FileAttachmentPreview } from "./FileAttachmentPreview.mjs";
8
9
  import { MediaAttachmentPreview } from "./MediaAttachmentPreview.mjs";
9
- import { useMessageComposerController } from "../hooks/useMessageComposerController.mjs";
10
10
  import { useCallback, useMemo, useRef, useState } from "react";
11
- import { jsx, jsxs } from "react/jsx-runtime";
12
11
  import { isLocalAttachment, isLocalAudioAttachment, isLocalFileAttachment, isLocalImageAttachment, isLocalVideoAttachment, isLocalVoiceRecordingAttachment, isScrapedContent, isVoiceRecordingAttachment } from "stream-chat";
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region src/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.tsx
14
14
  var AttachmentPreviewList = ({ AudioAttachmentPreview = FileAttachmentPreview, FileAttachmentPreview: FileAttachmentPreview$1 = FileAttachmentPreview, ImageAttachmentPreview = MediaAttachmentPreview, UnsupportedAttachmentPreview: UnsupportedAttachmentPreview$1 = UnsupportedAttachmentPreview, VideoAttachmentPreview = MediaAttachmentPreview }) => {
15
15
  const messageComposer = useMessageComposerController();