stream-chat-react-native-core 4.6.0 → 4.7.0-beta.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 (206) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +22 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Gallery.js +72 -37
  4. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/VideoThumbnail.js +83 -0
  6. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -0
  7. package/lib/commonjs/components/Attachment/hooks/useGoToURL.js +1 -1
  8. package/lib/commonjs/components/Attachment/hooks/useGoToURL.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  10. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +5 -5
  12. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  13. package/lib/commonjs/components/Channel/Channel.js +19 -14
  14. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  15. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -2
  16. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  17. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
  18. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  19. package/lib/commonjs/components/ImageGallery/ImageGallery.js +167 -345
  20. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  21. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
  22. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  23. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
  24. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
  25. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
  26. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  27. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
  28. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
  29. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +31 -34
  30. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  31. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +153 -0
  32. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js.map +1 -0
  33. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
  34. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
  35. package/lib/commonjs/components/Message/Message.js +23 -13
  36. package/lib/commonjs/components/Message/Message.js.map +1 -1
  37. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +58 -33
  38. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  39. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +4 -2
  40. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  41. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +25 -23
  42. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  43. package/lib/commonjs/components/Reply/Reply.js +32 -12
  44. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  45. package/lib/commonjs/components/Spinner/Spinner.js +12 -4
  46. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  47. package/lib/commonjs/components/index.js +26 -0
  48. package/lib/commonjs/components/index.js.map +1 -1
  49. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  50. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  51. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  52. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  53. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  54. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  55. package/lib/commonjs/contexts/themeContext/utils/theme.js +10 -1
  56. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  57. package/lib/commonjs/icons/Pause.js +61 -0
  58. package/lib/commonjs/icons/Pause.js.map +1 -0
  59. package/lib/commonjs/icons/Play.js +42 -0
  60. package/lib/commonjs/icons/Play.js.map +1 -0
  61. package/lib/commonjs/icons/index.js +26 -0
  62. package/lib/commonjs/icons/index.js.map +1 -1
  63. package/lib/commonjs/mock-builders/api/queryMembers.js +98 -1
  64. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  65. package/lib/commonjs/native.js +7 -1
  66. package/lib/commonjs/native.js.map +1 -1
  67. package/lib/commonjs/utils/getUrlOfImageAttachment.js +1 -1
  68. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
  69. package/lib/commonjs/version.json +1 -1
  70. package/lib/module/components/Attachment/Attachment.js +22 -13
  71. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  72. package/lib/module/components/Attachment/Gallery.js +72 -37
  73. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  74. package/lib/module/components/Attachment/VideoThumbnail.js +83 -0
  75. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -0
  76. package/lib/module/components/Attachment/hooks/useGoToURL.js +1 -1
  77. package/lib/module/components/Attachment/hooks/useGoToURL.js.map +1 -1
  78. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +1 -0
  79. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  80. package/lib/module/components/Attachment/utils/getAspectRatio.js +5 -5
  81. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  82. package/lib/module/components/Channel/Channel.js +19 -14
  83. package/lib/module/components/Channel/Channel.js.map +1 -1
  84. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -2
  85. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  86. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +43 -28
  87. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  88. package/lib/module/components/ImageGallery/ImageGallery.js +167 -345
  89. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  90. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +4 -4
  91. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  92. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +225 -0
  93. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -0
  94. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +102 -40
  95. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  96. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +145 -0
  97. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -0
  98. package/lib/module/components/ImageGallery/components/ImageGrid.js +31 -34
  99. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  100. package/lib/module/components/ImageGallery/components/ProgressControl.js +153 -0
  101. package/lib/module/components/ImageGallery/components/ProgressControl.js.map +1 -0
  102. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +373 -0
  103. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -0
  104. package/lib/module/components/Message/Message.js +23 -13
  105. package/lib/module/components/Message/Message.js.map +1 -1
  106. package/lib/module/components/Message/MessageSimple/MessageContent.js +58 -33
  107. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  108. package/lib/module/components/Message/hooks/useCreateMessageContext.js +4 -2
  109. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  110. package/lib/module/components/MessageOverlay/MessageOverlay.js +25 -23
  111. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  112. package/lib/module/components/Reply/Reply.js +32 -12
  113. package/lib/module/components/Reply/Reply.js.map +1 -1
  114. package/lib/module/components/Spinner/Spinner.js +12 -4
  115. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  116. package/lib/module/components/index.js +26 -0
  117. package/lib/module/components/index.js.map +1 -1
  118. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  119. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  120. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  121. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  122. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  123. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  124. package/lib/module/contexts/themeContext/utils/theme.js +10 -1
  125. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  126. package/lib/module/icons/Pause.js +61 -0
  127. package/lib/module/icons/Pause.js.map +1 -0
  128. package/lib/module/icons/Play.js +42 -0
  129. package/lib/module/icons/Play.js.map +1 -0
  130. package/lib/module/icons/index.js +26 -0
  131. package/lib/module/icons/index.js.map +1 -1
  132. package/lib/module/mock-builders/api/queryMembers.js +98 -1
  133. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  134. package/lib/module/native.js +7 -1
  135. package/lib/module/native.js.map +1 -1
  136. package/lib/module/utils/getUrlOfImageAttachment.js +1 -1
  137. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
  138. package/lib/module/version.json +1 -1
  139. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  140. package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +4 -0
  141. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +1 -0
  142. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +1 -1
  143. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  144. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  145. package/lib/typescript/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.d.ts +1 -0
  146. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  147. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +2 -0
  148. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +27 -0
  149. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +18 -2
  150. package/lib/typescript/components/ImageGallery/components/ImageGalleryVideoControl.d.ts +3 -0
  151. package/lib/typescript/components/ImageGallery/components/ProgressControl.d.ts +5 -0
  152. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +36 -0
  153. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  154. package/lib/typescript/components/Spinner/Spinner.d.ts +7 -1
  155. package/lib/typescript/components/index.d.ts +2 -0
  156. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -1
  157. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +1 -0
  158. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +2 -0
  159. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +9 -0
  160. package/lib/typescript/icons/Pause.d.ts +3 -0
  161. package/lib/typescript/icons/Play.d.ts +3 -0
  162. package/lib/typescript/icons/index.d.ts +2 -0
  163. package/lib/typescript/mock-builders/api/queryMembers.d.ts +161 -0
  164. package/lib/typescript/mock-builders/api/utils.d.ts +7 -0
  165. package/lib/typescript/mock-builders/generator/user.d.ts +30 -0
  166. package/lib/typescript/mock-builders/mock.d.ts +3 -0
  167. package/lib/typescript/native.d.ts +66 -1
  168. package/package.json +1 -1
  169. package/src/components/Attachment/Attachment.tsx +11 -7
  170. package/src/components/Attachment/Gallery.tsx +75 -36
  171. package/src/components/Attachment/VideoThumbnail.tsx +45 -0
  172. package/src/components/Attachment/hooks/useGoToURL.ts +1 -1
  173. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +1 -0
  174. package/src/components/Attachment/utils/buildGallery/types.ts +1 -0
  175. package/src/components/Attachment/utils/getAspectRatio.ts +7 -5
  176. package/src/components/Channel/Channel.tsx +4 -0
  177. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  178. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +83 -0
  179. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +43 -26
  180. package/src/components/ImageGallery/ImageGallery.tsx +145 -667
  181. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +4 -4
  182. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +224 -0
  183. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +114 -19
  184. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +103 -0
  185. package/src/components/ImageGallery/components/ImageGrid.tsx +12 -25
  186. package/src/components/ImageGallery/components/ProgressControl.tsx +107 -0
  187. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +722 -0
  188. package/src/components/Message/Message.tsx +10 -3
  189. package/src/components/Message/MessageSimple/MessageContent.tsx +50 -16
  190. package/src/components/Message/hooks/useCreateMessageContext.ts +2 -0
  191. package/src/components/MessageOverlay/MessageOverlay.tsx +2 -0
  192. package/src/components/Reply/Reply.tsx +36 -23
  193. package/src/components/Spinner/Spinner.tsx +11 -4
  194. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +0 -12
  195. package/src/components/index.ts +2 -0
  196. package/src/contexts/messageContext/MessageContext.tsx +2 -0
  197. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +1 -0
  198. package/src/contexts/messagesContext/MessagesContext.tsx +2 -0
  199. package/src/contexts/themeContext/utils/theme.ts +18 -0
  200. package/src/icons/Pause.tsx +14 -0
  201. package/src/icons/Play.tsx +17 -0
  202. package/src/icons/index.ts +2 -0
  203. package/src/mock-builders/api/queryMembers.js +98 -0
  204. package/src/native.ts +59 -1
  205. package/src/utils/getUrlOfImageAttachment.ts +1 -1
  206. package/src/version.json +1 -1
@@ -79,7 +79,8 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
79
79
  TypingIndicator = _ref.TypingIndicator,
80
80
  TypingIndicatorContainer = _ref.TypingIndicatorContainer,
81
81
  updateMessage = _ref.updateMessage,
82
- UrlPreview = _ref.UrlPreview;
82
+ UrlPreview = _ref.UrlPreview,
83
+ VideoThumbnail = _ref.VideoThumbnail;
83
84
  var additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;
84
85
  var markdownRulesLength = Object.keys(markdownRules || {}).length;
85
86
  var messageContentOrderValue = messageContentOrder.join();
@@ -158,7 +159,8 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
158
159
  TypingIndicator: TypingIndicator,
159
160
  TypingIndicatorContainer: TypingIndicatorContainer,
160
161
  updateMessage: updateMessage,
161
- UrlPreview: UrlPreview
162
+ UrlPreview: UrlPreview,
163
+ VideoThumbnail: VideoThumbnail
162
164
  };
163
165
  }, [additionalTouchablePropsLength, channelId, disableTypingIndicator, dismissKeyboardOnMessageTouch, initialScrollToFirstUnreadMessage, markdownRulesLength, messageContentOrderValue, supportedReactionsLength, targetedMessage]);
164
166
  return messagesContext;
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateMessagesContext.ts"],"names":["useCreateMessagesContext","additionalTouchableProps","Attachment","AttachmentActions","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","Giphy","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","isAttachmentEqual","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageContent","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateMessagesContext.ts"],"names":["useCreateMessagesContext","additionalTouchableProps","Attachment","AttachmentActions","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","Giphy","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","isAttachmentEqual","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageContent","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","VideoThumbnail","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"]}
@@ -13,39 +13,54 @@ var _ChatContext = require("../../../contexts/chatContext/ChatContext");
13
13
 
14
14
  var _utils = require("../../../utils/utils");
15
15
 
16
- var maxCharacterLengthDefault = ((0, _utils.vw)(100) - 16) / 6;
16
+ var DEFAULT_MAX_CHARACTER_LENGTH = ((0, _utils.vw)(100) - 16) / 6;
17
+ var ELLIPSIS = "...";
18
+
19
+ var getMemberName = function getMemberName(member) {
20
+ var _member$user, _member$user2;
21
+
22
+ return ((_member$user = member.user) == null ? void 0 : _member$user.name) || ((_member$user2 = member.user) == null ? void 0 : _member$user2.id) || 'Unknown User';
23
+ };
17
24
 
18
25
  var getChannelPreviewDisplayName = function getChannelPreviewDisplayName(_ref) {
19
26
  var channelName = _ref.channelName,
27
+ characterLimit = _ref.characterLimit,
20
28
  currentUserId = _ref.currentUserId,
21
- maxCharacterLength = _ref.maxCharacterLength,
22
29
  members = _ref.members;
23
30
  if (channelName) return channelName;
24
31
  var channelMembers = Object.values(members || {});
25
32
  var otherMembers = channelMembers.filter(function (member) {
26
- var _member$user;
33
+ var _member$user3;
27
34
 
28
- return ((_member$user = member.user) == null ? void 0 : _member$user.id) !== currentUserId;
35
+ return ((_member$user3 = member.user) == null ? void 0 : _member$user3.id) !== currentUserId;
29
36
  });
30
- var name = otherMembers.slice(0).reduce(function (returnString, currentMember, index, originalArray) {
31
- var _currentMember$user, _currentMember$user2;
32
-
33
- var returnStringLength = returnString.length;
34
- var currentMemberName = ((_currentMember$user = currentMember.user) == null ? void 0 : _currentMember$user.name) || ((_currentMember$user2 = currentMember.user) == null ? void 0 : _currentMember$user2.id) || 'Unknown User';
35
-
36
- if (returnStringLength + (currentMemberName.length + 2) < maxCharacterLength) {
37
- if (returnStringLength) {
38
- returnString += ", " + currentMemberName;
39
- } else {
40
- returnString = currentMemberName;
41
- }
42
- } else {
43
- var remainingMembers = originalArray.length - index;
44
- returnString += ", +" + remainingMembers;
45
- originalArray.splice(1);
37
+ otherMembers.sort(function (prevUser, nextUser) {
38
+ var _prevUser$user$name, _prevUser$user, _nextUser$user$name, _nextUser$user;
39
+
40
+ return ((_prevUser$user$name = prevUser == null ? void 0 : (_prevUser$user = prevUser.user) == null ? void 0 : _prevUser$user.name) != null ? _prevUser$user$name : '').toLowerCase().localeCompare(((_nextUser$user$name = nextUser == null ? void 0 : (_nextUser$user = nextUser.user) == null ? void 0 : _nextUser$user.name) != null ? _nextUser$user$name : '').toLocaleUpperCase());
41
+ });
42
+
43
+ var createChannelNameSuffix = function createChannelNameSuffix(remainingNumberOfMembers) {
44
+ return remainingNumberOfMembers <= 1 ? "" + ELLIPSIS : "," + ELLIPSIS + "+" + remainingNumberOfMembers;
45
+ };
46
+
47
+ var name = otherMembers.reduce(function (result, currentMember, index, originalArray) {
48
+ if (result.length >= characterLimit) {
49
+ return result;
46
50
  }
47
51
 
48
- return returnString;
52
+ var currentMemberName = getMemberName(currentMember);
53
+ var resultHasSpaceForCurrentMemberName = result.length + (currentMemberName.length + ELLIPSIS.length) < characterLimit;
54
+
55
+ if (resultHasSpaceForCurrentMemberName) {
56
+ return result.length > 0 ? result + ", " + currentMemberName + ", " : currentMemberName;
57
+ } else {
58
+ var remainingNumberOfMembers = originalArray.length - index;
59
+ var truncateLimit = characterLimit - (ELLIPSIS.length + result.length);
60
+ var tuncatedCurrentMemberName = "" + currentMemberName.slice(0, truncateLimit);
61
+ var channelNameSuffix = createChannelNameSuffix(remainingNumberOfMembers);
62
+ return "" + result + tuncatedCurrentMemberName + channelNameSuffix;
63
+ }
49
64
  }, '');
50
65
  return name;
51
66
  };
@@ -53,21 +68,21 @@ var getChannelPreviewDisplayName = function getChannelPreviewDisplayName(_ref) {
53
68
  exports.getChannelPreviewDisplayName = getChannelPreviewDisplayName;
54
69
 
55
70
  var useChannelPreviewDisplayName = function useChannelPreviewDisplayName(channel, characterLength) {
56
- var _channel$data;
71
+ var _channel$state, _channel$data;
57
72
 
58
73
  var _useChatContext = (0, _ChatContext.useChatContext)(),
59
74
  client = _useChatContext.client;
60
75
 
61
- var currentUserId = client.userID;
62
- var members = channel == null ? void 0 : channel.state.members;
76
+ var currentUserId = client == null ? void 0 : client.userID;
77
+ var members = channel == null ? void 0 : (_channel$state = channel.state) == null ? void 0 : _channel$state.members;
63
78
  var numOfMembers = Object.keys(members || {}).length;
64
79
  var channelName = channel == null ? void 0 : (_channel$data = channel.data) == null ? void 0 : _channel$data.name;
65
- var maxCharacterLength = characterLength || maxCharacterLengthDefault;
80
+ var characterLimit = characterLength || DEFAULT_MAX_CHARACTER_LENGTH;
66
81
 
67
82
  var _useState = (0, _react.useState)(getChannelPreviewDisplayName({
68
83
  channelName: channelName,
84
+ characterLimit: characterLimit,
69
85
  currentUserId: currentUserId,
70
- maxCharacterLength: maxCharacterLength,
71
86
  members: members
72
87
  })),
73
88
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -77,11 +92,11 @@ var useChannelPreviewDisplayName = function useChannelPreviewDisplayName(channel
77
92
  (0, _react.useEffect)(function () {
78
93
  setDisplayName(getChannelPreviewDisplayName({
79
94
  channelName: channelName,
95
+ characterLimit: characterLimit,
80
96
  currentUserId: currentUserId,
81
- maxCharacterLength: maxCharacterLength,
82
97
  members: members
83
98
  }));
84
- }, [channelName, currentUserId, maxCharacterLength, numOfMembers]);
99
+ }, [channelName, currentUserId, characterLimit, numOfMembers]);
85
100
  return displayName;
86
101
  };
87
102
 
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelPreviewDisplayName.ts"],"names":["maxCharacterLengthDefault","getChannelPreviewDisplayName","channelName","currentUserId","maxCharacterLength","members","channelMembers","Object","values","otherMembers","filter","member","user","id","name","slice","reduce","returnString","currentMember","index","originalArray","returnStringLength","length","currentMemberName","remainingMembers","splice","useChannelPreviewDisplayName","channel","characterLength","client","userID","state","numOfMembers","keys","data","displayName","setDisplayName"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nconst maxCharacterLengthDefault = (vw(100) - 16) / 6;\n\nexport const getChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n}: {\n maxCharacterLength: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<StreamChatGenerics>['state']['members'];\n}) => {\n if (channelName) return channelName;\n\n const channelMembers = Object.values(members || {});\n const otherMembers = channelMembers.filter((member) => member.user?.id !== currentUserId);\n\n const name = otherMembers.slice(0).reduce((returnString, currentMember, index, originalArray) => {\n const returnStringLength = returnString.length;\n const currentMemberName = currentMember.user?.name || currentMember.user?.id || 'Unknown User';\n // a rough approximation of when the +Number shows up\n if (returnStringLength + (currentMemberName.length + 2) < maxCharacterLength) {\n if (returnStringLength) {\n returnString += `, ${currentMemberName}`;\n } else {\n returnString = currentMemberName;\n }\n } else {\n const remainingMembers = originalArray.length - index;\n returnString += `, +${remainingMembers}`;\n originalArray.splice(1); // exit early\n }\n return returnString;\n }, '');\n\n return name;\n};\n\nexport const useChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel?: Channel<StreamChatGenerics>,\n characterLength?: number,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n const currentUserId = client.userID;\n const members = channel?.state.members;\n const numOfMembers = Object.keys(members || {}).length;\n const channelName = channel?.data?.name;\n const maxCharacterLength = characterLength || maxCharacterLengthDefault;\n\n const [displayName, setDisplayName] = useState(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n\n useEffect(() => {\n setDisplayName(\n getChannelPreviewDisplayName({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n }),\n );\n }, [channelName, currentUserId, maxCharacterLength, numOfMembers]);\n\n return displayName;\n};\n"]}
1
+ {"version":3,"sources":["useChannelPreviewDisplayName.ts"],"names":["DEFAULT_MAX_CHARACTER_LENGTH","ELLIPSIS","getMemberName","member","user","name","id","getChannelPreviewDisplayName","channelName","characterLimit","currentUserId","members","channelMembers","Object","values","otherMembers","filter","sort","prevUser","nextUser","toLowerCase","localeCompare","toLocaleUpperCase","createChannelNameSuffix","remainingNumberOfMembers","reduce","result","currentMember","index","originalArray","length","currentMemberName","resultHasSpaceForCurrentMemberName","truncateLimit","tuncatedCurrentMemberName","slice","channelNameSuffix","useChannelPreviewDisplayName","channel","characterLength","client","userID","state","numOfMembers","keys","data","displayName","setDisplayName"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelMemberResponse } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nconst DEFAULT_MAX_CHARACTER_LENGTH = (vw(100) - 16) / 6;\n\nconst ELLIPSIS = `...`;\n\nconst getMemberName = (member: ChannelMemberResponse) =>\n member.user?.name || member.user?.id || 'Unknown User';\n\nexport const getChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelName,\n characterLimit,\n currentUserId,\n members,\n}: {\n characterLimit: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<StreamChatGenerics>['state']['members'];\n}): string => {\n if (channelName) return channelName;\n\n const channelMembers = Object.values(members || {});\n\n const otherMembers = channelMembers.filter((member) => member.user?.id !== currentUserId);\n otherMembers.sort((prevUser, nextUser) =>\n (prevUser?.user?.name ?? '')\n .toLowerCase()\n .localeCompare((nextUser?.user?.name ?? '').toLocaleUpperCase()),\n );\n\n const createChannelNameSuffix = (remainingNumberOfMembers: number) =>\n remainingNumberOfMembers <= 1 ? `${ELLIPSIS}` : `,${ELLIPSIS}+${remainingNumberOfMembers}`;\n\n const name = otherMembers.reduce((result, currentMember, index, originalArray) => {\n if (result.length >= characterLimit) {\n return result;\n }\n\n const currentMemberName = getMemberName(currentMember);\n\n const resultHasSpaceForCurrentMemberName =\n result.length + (currentMemberName.length + ELLIPSIS.length) < characterLimit;\n if (resultHasSpaceForCurrentMemberName) {\n return result.length > 0 ? `${result}, ${currentMemberName}, ` : currentMemberName;\n } else {\n const remainingNumberOfMembers = originalArray.length - index;\n const truncateLimit = characterLimit - (ELLIPSIS.length + result.length);\n const tuncatedCurrentMemberName = `${currentMemberName.slice(0, truncateLimit)}`;\n\n const channelNameSuffix = createChannelNameSuffix(remainingNumberOfMembers);\n\n return `${result}${tuncatedCurrentMemberName}${channelNameSuffix}`;\n }\n }, '');\n\n return name;\n};\n\nexport const useChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel?: Channel<StreamChatGenerics>,\n characterLength?: number,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n const currentUserId = client?.userID;\n const members = channel?.state?.members;\n const numOfMembers = Object.keys(members || {}).length;\n const channelName = channel?.data?.name;\n const characterLimit = characterLength || DEFAULT_MAX_CHARACTER_LENGTH;\n const [displayName, setDisplayName] = useState(\n getChannelPreviewDisplayName({\n channelName,\n characterLimit,\n currentUserId,\n members,\n }),\n );\n\n useEffect(() => {\n setDisplayName(\n getChannelPreviewDisplayName({\n channelName,\n characterLimit,\n currentUserId,\n members,\n }),\n );\n }, [channelName, currentUserId, characterLimit, numOfMembers]);\n\n return displayName;\n};\n"]}