stream-chat-react-native-core 9.4.0-beta.9 → 9.4.1-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 (645) hide show
  1. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +2 -1
  2. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  3. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +7 -0
  4. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  5. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +2 -0
  6. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  7. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +41 -55
  8. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  9. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +27 -7
  10. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  11. package/lib/commonjs/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.js +55 -0
  12. package/lib/commonjs/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.js.map +1 -0
  13. package/lib/commonjs/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.js +47 -0
  14. package/lib/commonjs/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.js.map +1 -0
  15. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js +39 -0
  16. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js.map +1 -0
  17. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionItem.js +45 -0
  18. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionItem.js.map +1 -0
  19. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionRoleItem.js +33 -0
  20. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionRoleItem.js.map +1 -0
  21. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.js +26 -0
  22. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.js.map +1 -0
  23. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionUserItem.js +53 -0
  24. package/lib/commonjs/components/AutoCompleteInput/mentionItems/MentionUserItem.js.map +1 -0
  25. package/lib/commonjs/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.js +38 -0
  26. package/lib/commonjs/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.js.map +1 -0
  27. package/lib/commonjs/components/AutoCompleteInput/mentionItems/index.js +60 -0
  28. package/lib/commonjs/components/AutoCompleteInput/mentionItems/index.js.map +1 -0
  29. package/lib/commonjs/components/ChannelDetails/ChannelDetails.js +8 -3
  30. package/lib/commonjs/components/ChannelDetails/ChannelDetails.js.map +1 -1
  31. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsActionItem.js +2 -1
  32. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsActionItem.js.map +1 -1
  33. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js +57 -0
  34. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -0
  35. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js +3 -32
  36. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  37. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavigationSection.js +64 -25
  38. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavigationSection.js.map +1 -1
  39. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js +3 -2
  40. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  41. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js +2 -2
  42. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  43. package/lib/commonjs/components/ChannelDetails/components/index.js +22 -0
  44. package/lib/commonjs/components/ChannelDetails/components/index.js.map +1 -1
  45. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -1
  46. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  47. package/lib/commonjs/components/ChannelDetails/components/modal/Modal.js +22 -23
  48. package/lib/commonjs/components/ChannelDetails/components/modal/Modal.js.map +1 -1
  49. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js +6 -4
  50. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  51. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js +65 -0
  52. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js.map +1 -0
  53. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +174 -0
  54. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -0
  55. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js +21 -0
  56. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js.map +1 -0
  57. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js +45 -0
  58. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js.map +1 -0
  59. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js +120 -0
  60. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -0
  61. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js +206 -0
  62. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -0
  63. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js +63 -0
  64. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js.map +1 -0
  65. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js +84 -0
  66. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js.map +1 -0
  67. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +177 -0
  68. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -0
  69. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js +21 -0
  70. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js.map +1 -0
  71. package/lib/commonjs/components/ChannelDetails/components/navigation-section/index.js +114 -0
  72. package/lib/commonjs/components/ChannelDetails/components/navigation-section/index.js.map +1 -0
  73. package/lib/commonjs/components/ChannelDetails/hooks/index.js +33 -0
  74. package/lib/commonjs/components/ChannelDetails/hooks/index.js.map +1 -1
  75. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +55 -0
  76. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -0
  77. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js +52 -0
  78. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -0
  79. package/lib/commonjs/components/ChannelDetails/hooks/useMediaList.js +30 -0
  80. package/lib/commonjs/components/ChannelDetails/hooks/useMediaList.js.map +1 -0
  81. package/lib/commonjs/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js +5 -3
  82. package/lib/commonjs/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js.map +1 -1
  83. package/lib/commonjs/components/ImageGallery/ImageGallery.js +21 -76
  84. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  85. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +6 -10
  86. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  87. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +16 -14
  88. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  89. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js +67 -0
  90. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -0
  91. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +23 -15
  92. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  93. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +4 -3
  94. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/hooks/useCurrentImageHeight.js +53 -0
  96. package/lib/commonjs/components/ImageGallery/hooks/useCurrentImageHeight.js.map +1 -0
  97. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +25 -31
  98. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  99. package/lib/commonjs/components/Message/Message.js.map +1 -1
  100. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js +14 -0
  101. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  102. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js +69 -11
  103. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  104. package/lib/commonjs/components/Message/hooks/useMessageActions.js +20 -3
  105. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  106. package/lib/commonjs/components/MessageInput/MessageComposer.js +5 -12
  107. package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
  108. package/lib/commonjs/components/MessageList/MessageFlashList.js +22 -3
  109. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  110. package/lib/commonjs/components/MessageList/MessageList.js +23 -4
  111. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  112. package/lib/commonjs/components/UIComponents/BottomSheetModal.js +4 -17
  113. package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
  114. package/lib/commonjs/components/UIComponents/ClippingFadeBottom.js +56 -0
  115. package/lib/commonjs/components/UIComponents/ClippingFadeBottom.js.map +1 -0
  116. package/lib/commonjs/components/UIComponents/EmptyList.js +78 -0
  117. package/lib/commonjs/components/UIComponents/EmptyList.js.map +1 -0
  118. package/lib/commonjs/components/UIComponents/PortalWhileClosingView.js +0 -3
  119. package/lib/commonjs/components/UIComponents/PortalWhileClosingView.js.map +1 -1
  120. package/lib/commonjs/components/UIComponents/index.js +22 -0
  121. package/lib/commonjs/components/UIComponents/index.js.map +1 -1
  122. package/lib/commonjs/components/index.js +11 -0
  123. package/lib/commonjs/components/index.js.map +1 -1
  124. package/lib/commonjs/components/ui/Avatar/AvatarGroup.js +3 -3
  125. package/lib/commonjs/components/ui/Avatar/constants.js +2 -2
  126. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +64 -0
  127. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -0
  128. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js +63 -0
  129. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -0
  130. package/lib/commonjs/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js +73 -0
  131. package/lib/commonjs/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js.map +1 -0
  132. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +9 -0
  133. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -1
  134. package/lib/commonjs/contexts/index.js +33 -0
  135. package/lib/commonjs/contexts/index.js.map +1 -1
  136. package/lib/commonjs/contexts/themeContext/utils/theme.js +65 -4
  137. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  138. package/lib/commonjs/hooks/actions/useChannelActionItems.js +54 -4
  139. package/lib/commonjs/hooks/actions/useChannelActionItems.js.map +1 -1
  140. package/lib/commonjs/hooks/actions/useChannelMemberActionItems.js +22 -3
  141. package/lib/commonjs/hooks/actions/useChannelMemberActionItems.js.map +1 -1
  142. package/lib/commonjs/i18n/ar.json +24 -1
  143. package/lib/commonjs/i18n/en.json +24 -1
  144. package/lib/commonjs/i18n/es.json +24 -1
  145. package/lib/commonjs/i18n/fr.json +24 -1
  146. package/lib/commonjs/i18n/he.json +24 -1
  147. package/lib/commonjs/i18n/hi.json +24 -1
  148. package/lib/commonjs/i18n/it.json +24 -1
  149. package/lib/commonjs/i18n/ja.json +24 -1
  150. package/lib/commonjs/i18n/ko.json +24 -1
  151. package/lib/commonjs/i18n/nl.json +24 -1
  152. package/lib/commonjs/i18n/pt-br.json +24 -1
  153. package/lib/commonjs/i18n/ru.json +24 -1
  154. package/lib/commonjs/i18n/tr.json +24 -1
  155. package/lib/commonjs/icons/folder.js +37 -0
  156. package/lib/commonjs/icons/folder.js.map +1 -0
  157. package/lib/commonjs/icons/index.js +12 -0
  158. package/lib/commonjs/icons/index.js.map +1 -1
  159. package/lib/commonjs/icons/megaphone.js +36 -0
  160. package/lib/commonjs/icons/megaphone.js.map +1 -0
  161. package/lib/commonjs/icons/shield.js +36 -0
  162. package/lib/commonjs/icons/shield.js.map +1 -0
  163. package/lib/commonjs/state-store/image-gallery-state-store.js +12 -3
  164. package/lib/commonjs/state-store/image-gallery-state-store.js.map +1 -1
  165. package/lib/commonjs/store/SqliteClient.js +1 -1
  166. package/lib/commonjs/store/mappers/mapDraftMessageToStorable.js +8 -0
  167. package/lib/commonjs/store/mappers/mapDraftMessageToStorable.js.map +1 -1
  168. package/lib/commonjs/store/mappers/mapStorableToDraftMessage.js +8 -0
  169. package/lib/commonjs/store/mappers/mapStorableToDraftMessage.js.map +1 -1
  170. package/lib/commonjs/store/schema.js +4 -0
  171. package/lib/commonjs/store/schema.js.map +1 -1
  172. package/lib/commonjs/theme/generated/dark/StreamTokens.android.js +10 -1
  173. package/lib/commonjs/theme/generated/dark/StreamTokens.android.js.map +1 -1
  174. package/lib/commonjs/theme/generated/dark/StreamTokens.ios.js +10 -1
  175. package/lib/commonjs/theme/generated/dark/StreamTokens.ios.js.map +1 -1
  176. package/lib/commonjs/theme/generated/dark/StreamTokens.web.js +10 -1
  177. package/lib/commonjs/theme/generated/dark/StreamTokens.web.js.map +1 -1
  178. package/lib/commonjs/theme/generated/light/StreamTokens.android.js +10 -1
  179. package/lib/commonjs/theme/generated/light/StreamTokens.android.js.map +1 -1
  180. package/lib/commonjs/theme/generated/light/StreamTokens.ios.js +10 -1
  181. package/lib/commonjs/theme/generated/light/StreamTokens.ios.js.map +1 -1
  182. package/lib/commonjs/theme/generated/light/StreamTokens.web.js +10 -1
  183. package/lib/commonjs/theme/generated/light/StreamTokens.web.js.map +1 -1
  184. package/lib/commonjs/version.json +1 -1
  185. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +2 -1
  186. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  187. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +7 -0
  188. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  189. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +2 -0
  190. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  191. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +41 -55
  192. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  193. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +27 -7
  194. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  195. package/lib/module/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.js +55 -0
  196. package/lib/module/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.js.map +1 -0
  197. package/lib/module/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.js +47 -0
  198. package/lib/module/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.js.map +1 -0
  199. package/lib/module/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js +39 -0
  200. package/lib/module/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.js.map +1 -0
  201. package/lib/module/components/AutoCompleteInput/mentionItems/MentionItem.js +45 -0
  202. package/lib/module/components/AutoCompleteInput/mentionItems/MentionItem.js.map +1 -0
  203. package/lib/module/components/AutoCompleteInput/mentionItems/MentionRoleItem.js +33 -0
  204. package/lib/module/components/AutoCompleteInput/mentionItems/MentionRoleItem.js.map +1 -0
  205. package/lib/module/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.js +26 -0
  206. package/lib/module/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.js.map +1 -0
  207. package/lib/module/components/AutoCompleteInput/mentionItems/MentionUserItem.js +53 -0
  208. package/lib/module/components/AutoCompleteInput/mentionItems/MentionUserItem.js.map +1 -0
  209. package/lib/module/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.js +38 -0
  210. package/lib/module/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.js.map +1 -0
  211. package/lib/module/components/AutoCompleteInput/mentionItems/index.js +60 -0
  212. package/lib/module/components/AutoCompleteInput/mentionItems/index.js.map +1 -0
  213. package/lib/module/components/ChannelDetails/ChannelDetails.js +8 -3
  214. package/lib/module/components/ChannelDetails/ChannelDetails.js.map +1 -1
  215. package/lib/module/components/ChannelDetails/components/ChannelDetailsActionItem.js +2 -1
  216. package/lib/module/components/ChannelDetails/components/ChannelDetailsActionItem.js.map +1 -1
  217. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js +57 -0
  218. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -0
  219. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js +3 -32
  220. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  221. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavigationSection.js +64 -25
  222. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavigationSection.js.map +1 -1
  223. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js +3 -2
  224. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  225. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js +2 -2
  226. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  227. package/lib/module/components/ChannelDetails/components/index.js +22 -0
  228. package/lib/module/components/ChannelDetails/components/index.js.map +1 -1
  229. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -1
  230. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  231. package/lib/module/components/ChannelDetails/components/modal/Modal.js +22 -23
  232. package/lib/module/components/ChannelDetails/components/modal/Modal.js.map +1 -1
  233. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js +6 -4
  234. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  235. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js +65 -0
  236. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js.map +1 -0
  237. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +174 -0
  238. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -0
  239. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js +21 -0
  240. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js.map +1 -0
  241. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js +45 -0
  242. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js.map +1 -0
  243. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js +120 -0
  244. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -0
  245. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js +206 -0
  246. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -0
  247. package/lib/module/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js +63 -0
  248. package/lib/module/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js.map +1 -0
  249. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js +84 -0
  250. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js.map +1 -0
  251. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +177 -0
  252. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -0
  253. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js +21 -0
  254. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js.map +1 -0
  255. package/lib/module/components/ChannelDetails/components/navigation-section/index.js +114 -0
  256. package/lib/module/components/ChannelDetails/components/navigation-section/index.js.map +1 -0
  257. package/lib/module/components/ChannelDetails/hooks/index.js +33 -0
  258. package/lib/module/components/ChannelDetails/hooks/index.js.map +1 -1
  259. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +55 -0
  260. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -0
  261. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js +52 -0
  262. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -0
  263. package/lib/module/components/ChannelDetails/hooks/useMediaList.js +30 -0
  264. package/lib/module/components/ChannelDetails/hooks/useMediaList.js.map +1 -0
  265. package/lib/module/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js +5 -3
  266. package/lib/module/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.js.map +1 -1
  267. package/lib/module/components/ImageGallery/ImageGallery.js +21 -76
  268. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  269. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +6 -10
  270. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  271. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +16 -14
  272. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  273. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js +67 -0
  274. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -0
  275. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +23 -15
  276. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  277. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +4 -3
  278. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
  279. package/lib/module/components/ImageGallery/hooks/useCurrentImageHeight.js +53 -0
  280. package/lib/module/components/ImageGallery/hooks/useCurrentImageHeight.js.map +1 -0
  281. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +25 -31
  282. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  283. package/lib/module/components/Message/Message.js.map +1 -1
  284. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js +14 -0
  285. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  286. package/lib/module/components/Message/MessageItemView/utils/renderText.js +69 -11
  287. package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  288. package/lib/module/components/Message/hooks/useMessageActions.js +20 -3
  289. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  290. package/lib/module/components/MessageInput/MessageComposer.js +5 -12
  291. package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
  292. package/lib/module/components/MessageList/MessageFlashList.js +22 -3
  293. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  294. package/lib/module/components/MessageList/MessageList.js +23 -4
  295. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  296. package/lib/module/components/UIComponents/BottomSheetModal.js +4 -17
  297. package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
  298. package/lib/module/components/UIComponents/ClippingFadeBottom.js +56 -0
  299. package/lib/module/components/UIComponents/ClippingFadeBottom.js.map +1 -0
  300. package/lib/module/components/UIComponents/EmptyList.js +78 -0
  301. package/lib/module/components/UIComponents/EmptyList.js.map +1 -0
  302. package/lib/module/components/UIComponents/PortalWhileClosingView.js +0 -3
  303. package/lib/module/components/UIComponents/PortalWhileClosingView.js.map +1 -1
  304. package/lib/module/components/UIComponents/index.js +22 -0
  305. package/lib/module/components/UIComponents/index.js.map +1 -1
  306. package/lib/module/components/index.js +11 -0
  307. package/lib/module/components/index.js.map +1 -1
  308. package/lib/module/components/ui/Avatar/AvatarGroup.js +3 -3
  309. package/lib/module/components/ui/Avatar/constants.js +2 -2
  310. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +64 -0
  311. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -0
  312. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js +63 -0
  313. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -0
  314. package/lib/module/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js +73 -0
  315. package/lib/module/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js.map +1 -0
  316. package/lib/module/contexts/componentsContext/defaultComponents.js +9 -0
  317. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -1
  318. package/lib/module/contexts/index.js +33 -0
  319. package/lib/module/contexts/index.js.map +1 -1
  320. package/lib/module/contexts/themeContext/utils/theme.js +65 -4
  321. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  322. package/lib/module/hooks/actions/useChannelActionItems.js +54 -4
  323. package/lib/module/hooks/actions/useChannelActionItems.js.map +1 -1
  324. package/lib/module/hooks/actions/useChannelMemberActionItems.js +22 -3
  325. package/lib/module/hooks/actions/useChannelMemberActionItems.js.map +1 -1
  326. package/lib/module/i18n/ar.json +24 -1
  327. package/lib/module/i18n/en.json +24 -1
  328. package/lib/module/i18n/es.json +24 -1
  329. package/lib/module/i18n/fr.json +24 -1
  330. package/lib/module/i18n/he.json +24 -1
  331. package/lib/module/i18n/hi.json +24 -1
  332. package/lib/module/i18n/it.json +24 -1
  333. package/lib/module/i18n/ja.json +24 -1
  334. package/lib/module/i18n/ko.json +24 -1
  335. package/lib/module/i18n/nl.json +24 -1
  336. package/lib/module/i18n/pt-br.json +24 -1
  337. package/lib/module/i18n/ru.json +24 -1
  338. package/lib/module/i18n/tr.json +24 -1
  339. package/lib/module/icons/folder.js +37 -0
  340. package/lib/module/icons/folder.js.map +1 -0
  341. package/lib/module/icons/index.js +12 -0
  342. package/lib/module/icons/index.js.map +1 -1
  343. package/lib/module/icons/megaphone.js +36 -0
  344. package/lib/module/icons/megaphone.js.map +1 -0
  345. package/lib/module/icons/shield.js +36 -0
  346. package/lib/module/icons/shield.js.map +1 -0
  347. package/lib/module/state-store/image-gallery-state-store.js +12 -3
  348. package/lib/module/state-store/image-gallery-state-store.js.map +1 -1
  349. package/lib/module/store/SqliteClient.js +1 -1
  350. package/lib/module/store/mappers/mapDraftMessageToStorable.js +8 -0
  351. package/lib/module/store/mappers/mapDraftMessageToStorable.js.map +1 -1
  352. package/lib/module/store/mappers/mapStorableToDraftMessage.js +8 -0
  353. package/lib/module/store/mappers/mapStorableToDraftMessage.js.map +1 -1
  354. package/lib/module/store/schema.js +4 -0
  355. package/lib/module/store/schema.js.map +1 -1
  356. package/lib/module/theme/generated/dark/StreamTokens.android.js +10 -1
  357. package/lib/module/theme/generated/dark/StreamTokens.android.js.map +1 -1
  358. package/lib/module/theme/generated/dark/StreamTokens.ios.js +10 -1
  359. package/lib/module/theme/generated/dark/StreamTokens.ios.js.map +1 -1
  360. package/lib/module/theme/generated/dark/StreamTokens.web.js +10 -1
  361. package/lib/module/theme/generated/dark/StreamTokens.web.js.map +1 -1
  362. package/lib/module/theme/generated/light/StreamTokens.android.js +10 -1
  363. package/lib/module/theme/generated/light/StreamTokens.android.js.map +1 -1
  364. package/lib/module/theme/generated/light/StreamTokens.ios.js +10 -1
  365. package/lib/module/theme/generated/light/StreamTokens.ios.js.map +1 -1
  366. package/lib/module/theme/generated/light/StreamTokens.web.js +10 -1
  367. package/lib/module/theme/generated/light/StreamTokens.web.js.map +1 -1
  368. package/lib/module/version.json +1 -1
  369. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts.map +1 -1
  370. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts.map +1 -1
  371. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +8 -2
  372. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts.map +1 -1
  373. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +1 -1
  374. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  375. package/lib/typescript/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.d.ts +13 -0
  376. package/lib/typescript/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.d.ts.map +1 -0
  377. package/lib/typescript/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.d.ts +26 -0
  378. package/lib/typescript/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.d.ts.map +1 -0
  379. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.d.ts +7 -0
  380. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.d.ts.map +1 -0
  381. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionItem.d.ts +17 -0
  382. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionItem.d.ts.map +1 -0
  383. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionRoleItem.d.ts +7 -0
  384. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionRoleItem.d.ts.map +1 -0
  385. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.d.ts +7 -0
  386. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.d.ts.map +1 -0
  387. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionUserItem.d.ts +7 -0
  388. package/lib/typescript/components/AutoCompleteInput/mentionItems/MentionUserItem.d.ts.map +1 -0
  389. package/lib/typescript/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.d.ts +21 -0
  390. package/lib/typescript/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.d.ts.map +1 -0
  391. package/lib/typescript/components/AutoCompleteInput/mentionItems/index.d.ts +17 -0
  392. package/lib/typescript/components/AutoCompleteInput/mentionItems/index.d.ts.map +1 -0
  393. package/lib/typescript/components/ChannelDetails/ChannelDetails.d.ts +11 -1
  394. package/lib/typescript/components/ChannelDetails/ChannelDetails.d.ts.map +1 -1
  395. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsActionItem.d.ts.map +1 -1
  396. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsEditButton.d.ts +6 -0
  397. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsEditButton.d.ts.map +1 -0
  398. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavHeader.d.ts +3 -1
  399. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavHeader.d.ts.map +1 -1
  400. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavigationSection.d.ts.map +1 -1
  401. package/lib/typescript/components/ChannelDetails/components/index.d.ts +3 -0
  402. package/lib/typescript/components/ChannelDetails/components/index.d.ts.map +1 -1
  403. package/lib/typescript/components/ChannelDetails/components/members/ChannelMemberItem.d.ts.map +1 -1
  404. package/lib/typescript/components/ChannelDetails/components/modal/Modal.d.ts +2 -1
  405. package/lib/typescript/components/ChannelDetails/components/modal/Modal.d.ts.map +1 -1
  406. package/lib/typescript/components/ChannelDetails/components/modal/ModalHeader.d.ts +3 -1
  407. package/lib/typescript/components/ChannelDetails/components/modal/ModalHeader.d.ts.map +1 -1
  408. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentItem.d.ts +31 -0
  409. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentItem.d.ts.map +1 -0
  410. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentList.d.ts +17 -0
  411. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentList.d.ts.map +1 -0
  412. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.d.ts +9 -0
  413. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.d.ts.map +1 -0
  414. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.d.ts +13 -0
  415. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.d.ts.map +1 -0
  416. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaItem.d.ts +35 -0
  417. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaItem.d.ts.map +1 -0
  418. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaList.d.ts +17 -0
  419. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaList.d.ts.map +1 -0
  420. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.d.ts +11 -0
  421. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.d.ts.map +1 -0
  422. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageItem.d.ts +19 -0
  423. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageItem.d.ts.map +1 -0
  424. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageList.d.ts +19 -0
  425. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageList.d.ts.map +1 -0
  426. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.d.ts +9 -0
  427. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.d.ts.map +1 -0
  428. package/lib/typescript/components/ChannelDetails/components/navigation-section/index.d.ts +11 -0
  429. package/lib/typescript/components/ChannelDetails/components/navigation-section/index.d.ts.map +1 -0
  430. package/lib/typescript/components/ChannelDetails/hooks/index.d.ts +3 -0
  431. package/lib/typescript/components/ChannelDetails/hooks/index.d.ts.map +1 -1
  432. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.d.ts +56 -0
  433. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.d.ts.map +1 -0
  434. package/lib/typescript/components/ChannelDetails/hooks/useFileAttachmentListSections.d.ts +28 -0
  435. package/lib/typescript/components/ChannelDetails/hooks/useFileAttachmentListSections.d.ts.map +1 -0
  436. package/lib/typescript/components/ChannelDetails/hooks/useMediaList.d.ts +20 -0
  437. package/lib/typescript/components/ChannelDetails/hooks/useMediaList.d.ts.map +1 -0
  438. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  439. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts.map +1 -1
  440. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +1 -4
  441. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts.map +1 -1
  442. package/lib/typescript/components/ImageGallery/components/ImageGalleryA11yProbe.d.ts +20 -0
  443. package/lib/typescript/components/ImageGallery/components/ImageGalleryA11yProbe.d.ts.map +1 -0
  444. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
  445. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts +2 -3
  446. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts.map +1 -1
  447. package/lib/typescript/components/ImageGallery/hooks/useCurrentImageHeight.d.ts +24 -0
  448. package/lib/typescript/components/ImageGallery/hooks/useCurrentImageHeight.d.ts.map +1 -0
  449. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +1 -1
  450. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts.map +1 -1
  451. package/lib/typescript/components/Message/Message.d.ts +11 -1
  452. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  453. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts.map +1 -1
  454. package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
  455. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  456. package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
  457. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  458. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  459. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
  460. package/lib/typescript/components/UIComponents/ClippingFadeBottom.d.ts +18 -0
  461. package/lib/typescript/components/UIComponents/ClippingFadeBottom.d.ts.map +1 -0
  462. package/lib/typescript/components/UIComponents/EmptyList.d.ts +24 -0
  463. package/lib/typescript/components/UIComponents/EmptyList.d.ts.map +1 -0
  464. package/lib/typescript/components/UIComponents/index.d.ts +2 -0
  465. package/lib/typescript/components/UIComponents/index.d.ts.map +1 -1
  466. package/lib/typescript/components/index.d.ts +1 -0
  467. package/lib/typescript/components/index.d.ts.map +1 -1
  468. package/lib/typescript/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.d.ts +21 -0
  469. package/lib/typescript/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.d.ts.map +1 -0
  470. package/lib/typescript/contexts/channelMediaListContext/ChannelMediaListContext.d.ts +21 -0
  471. package/lib/typescript/contexts/channelMediaListContext/ChannelMediaListContext.d.ts.map +1 -0
  472. package/lib/typescript/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.d.ts +21 -0
  473. package/lib/typescript/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.d.ts.map +1 -0
  474. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +19 -2
  475. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -1
  476. package/lib/typescript/contexts/index.d.ts +3 -0
  477. package/lib/typescript/contexts/index.d.ts.map +1 -1
  478. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts +62 -1
  479. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts.map +1 -1
  480. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +62 -1
  481. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  482. package/lib/typescript/hooks/actions/useChannelActionItems.d.ts.map +1 -1
  483. package/lib/typescript/hooks/actions/useChannelMemberActionItems.d.ts.map +1 -1
  484. package/lib/typescript/i18n/ar.json +24 -1
  485. package/lib/typescript/i18n/en.json +24 -1
  486. package/lib/typescript/i18n/es.json +24 -1
  487. package/lib/typescript/i18n/fr.json +24 -1
  488. package/lib/typescript/i18n/he.json +24 -1
  489. package/lib/typescript/i18n/hi.json +24 -1
  490. package/lib/typescript/i18n/it.json +24 -1
  491. package/lib/typescript/i18n/ja.json +24 -1
  492. package/lib/typescript/i18n/ko.json +24 -1
  493. package/lib/typescript/i18n/nl.json +24 -1
  494. package/lib/typescript/i18n/pt-br.json +24 -1
  495. package/lib/typescript/i18n/ru.json +24 -1
  496. package/lib/typescript/i18n/tr.json +24 -1
  497. package/lib/typescript/icons/folder.d.ts +4 -0
  498. package/lib/typescript/icons/folder.d.ts.map +1 -0
  499. package/lib/typescript/icons/index.d.ts +1 -0
  500. package/lib/typescript/icons/index.d.ts.map +1 -1
  501. package/lib/typescript/icons/megaphone.d.ts +4 -0
  502. package/lib/typescript/icons/megaphone.d.ts.map +1 -0
  503. package/lib/typescript/icons/shield.d.ts +4 -0
  504. package/lib/typescript/icons/shield.d.ts.map +1 -0
  505. package/lib/typescript/state-store/image-gallery-state-store.d.ts +8 -0
  506. package/lib/typescript/state-store/image-gallery-state-store.d.ts.map +1 -1
  507. package/lib/typescript/store/mappers/mapDraftMessageToStorable.d.ts.map +1 -1
  508. package/lib/typescript/store/mappers/mapStorableToDraftMessage.d.ts.map +1 -1
  509. package/lib/typescript/store/schema.d.ts +4 -0
  510. package/lib/typescript/store/schema.d.ts.map +1 -1
  511. package/lib/typescript/theme/generated/StreamTokens.types.d.ts +9 -0
  512. package/lib/typescript/theme/generated/StreamTokens.types.d.ts.map +1 -1
  513. package/lib/typescript/theme/generated/dark/StreamTokens.android.d.ts.map +1 -1
  514. package/lib/typescript/theme/generated/dark/StreamTokens.ios.d.ts.map +1 -1
  515. package/lib/typescript/theme/generated/dark/StreamTokens.web.d.ts.map +1 -1
  516. package/lib/typescript/theme/generated/light/StreamTokens.android.d.ts.map +1 -1
  517. package/lib/typescript/theme/generated/light/StreamTokens.ios.d.ts.map +1 -1
  518. package/lib/typescript/theme/generated/light/StreamTokens.web.d.ts.map +1 -1
  519. package/lib/typescript/utils/i18n/Streami18n.d.ts +23 -0
  520. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  521. package/package.json +2 -2
  522. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +2 -1
  523. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +13 -0
  524. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +2 -1
  525. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +35 -43
  526. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +28 -3
  527. package/src/components/AutoCompleteInput/mentionItems/EnhancedMentionContent.tsx +71 -0
  528. package/src/components/AutoCompleteInput/mentionItems/EnhancedMentionIcon.tsx +71 -0
  529. package/src/components/AutoCompleteInput/mentionItems/MentionBroadcastItem.tsx +36 -0
  530. package/src/components/AutoCompleteInput/mentionItems/MentionItem.tsx +59 -0
  531. package/src/components/AutoCompleteInput/mentionItems/MentionRoleItem.tsx +27 -0
  532. package/src/components/AutoCompleteInput/mentionItems/MentionUserGroupItem.tsx +23 -0
  533. package/src/components/AutoCompleteInput/mentionItems/MentionUserItem.tsx +55 -0
  534. package/src/components/AutoCompleteInput/mentionItems/TokenizedSuggestionParts.tsx +56 -0
  535. package/src/components/AutoCompleteInput/mentionItems/__tests__/MentionItems.test.tsx +129 -0
  536. package/src/components/AutoCompleteInput/mentionItems/__tests__/TokenizedSuggestionParts.test.tsx +63 -0
  537. package/src/components/AutoCompleteInput/mentionItems/index.ts +16 -0
  538. package/src/components/ChannelDetails/ChannelDetails.tsx +17 -2
  539. package/src/components/ChannelDetails/__tests__/ChannelDetails.test.tsx +29 -0
  540. package/src/components/ChannelDetails/__tests__/ChannelDetailsEditButton.test.tsx +127 -0
  541. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavHeader.test.tsx +21 -56
  542. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavigationSection.test.tsx +225 -6
  543. package/src/components/ChannelDetails/__tests__/useFileAttachmentListSections.test.tsx +159 -0
  544. package/src/components/ChannelDetails/__tests__/useMediaList.test.tsx +53 -0
  545. package/src/components/ChannelDetails/components/ChannelDetailsActionItem.tsx +6 -1
  546. package/src/components/ChannelDetails/components/ChannelDetailsEditButton.tsx +50 -0
  547. package/src/components/ChannelDetails/components/ChannelDetailsNavHeader.tsx +6 -33
  548. package/src/components/ChannelDetails/components/ChannelDetailsNavigationSection.tsx +80 -32
  549. package/src/components/ChannelDetails/components/ChannelDetailsProfile.tsx +2 -1
  550. package/src/components/ChannelDetails/components/ChannelEditImageSheet.tsx +2 -2
  551. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentItem.test.tsx +80 -0
  552. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentList.test.tsx +334 -0
  553. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentListSectionHeader.test.tsx +19 -0
  554. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaItem.test.tsx +97 -0
  555. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaList.test.tsx +351 -0
  556. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageItem.test.tsx +112 -0
  557. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageList.test.tsx +324 -0
  558. package/src/components/ChannelDetails/components/index.ts +3 -0
  559. package/src/components/ChannelDetails/components/members/ChannelMemberItem.tsx +6 -1
  560. package/src/components/ChannelDetails/components/modal/Modal.tsx +37 -24
  561. package/src/components/ChannelDetails/components/modal/ModalHeader.tsx +11 -4
  562. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentItem.tsx +92 -0
  563. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentList.tsx +204 -0
  564. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.tsx +23 -0
  565. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.tsx +56 -0
  566. package/src/components/ChannelDetails/components/navigation-section/MediaItem.tsx +160 -0
  567. package/src/components/ChannelDetails/components/navigation-section/MediaList.tsx +244 -0
  568. package/src/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.tsx +66 -0
  569. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageItem.tsx +94 -0
  570. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageList.tsx +198 -0
  571. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.tsx +23 -0
  572. package/src/components/ChannelDetails/components/navigation-section/index.ts +10 -0
  573. package/src/components/ChannelDetails/hooks/index.ts +3 -0
  574. package/src/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.ts +108 -0
  575. package/src/components/ChannelDetails/hooks/useFileAttachmentListSections.ts +79 -0
  576. package/src/components/ChannelDetails/hooks/useMediaList.ts +51 -0
  577. package/src/components/ChannelPreview/ChannelMessagePreviewDeliveryStatus.tsx +3 -2
  578. package/src/components/ImageGallery/ImageGallery.tsx +41 -120
  579. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +4 -1
  580. package/src/components/ImageGallery/__tests__/ImageGalleryAdjustable.test.tsx +5 -4
  581. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +9 -11
  582. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +28 -15
  583. package/src/components/ImageGallery/components/ImageGalleryA11yProbe.tsx +82 -0
  584. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +21 -18
  585. package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +5 -5
  586. package/src/components/ImageGallery/hooks/useCurrentImageHeight.ts +86 -0
  587. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +42 -51
  588. package/src/components/Message/Message.tsx +14 -2
  589. package/src/components/Message/MessageItemView/MessageTextContainer.tsx +25 -0
  590. package/src/components/Message/MessageItemView/utils/renderText.tsx +97 -18
  591. package/src/components/Message/hooks/useMessageActions.tsx +30 -6
  592. package/src/components/MessageInput/MessageComposer.tsx +7 -9
  593. package/src/components/MessageList/MessageFlashList.tsx +28 -0
  594. package/src/components/MessageList/MessageList.tsx +28 -0
  595. package/src/components/Thread/__tests__/__snapshots__/Thread.test.tsx.snap +24 -15
  596. package/src/components/UIComponents/BottomSheetModal.tsx +2 -17
  597. package/src/components/UIComponents/ClippingFadeBottom.tsx +47 -0
  598. package/src/components/UIComponents/EmptyList.tsx +80 -0
  599. package/src/components/UIComponents/PortalWhileClosingView.tsx +0 -4
  600. package/src/components/UIComponents/__tests__/EmptyList.test.tsx +90 -0
  601. package/src/components/UIComponents/index.ts +2 -0
  602. package/src/components/index.ts +1 -0
  603. package/src/components/ui/Avatar/AvatarGroup.tsx +3 -3
  604. package/src/components/ui/Avatar/constants.ts +2 -2
  605. package/src/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.tsx +67 -0
  606. package/src/contexts/channelMediaListContext/ChannelMediaListContext.tsx +68 -0
  607. package/src/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.tsx +72 -0
  608. package/src/contexts/componentsContext/defaultComponents.ts +21 -2
  609. package/src/contexts/index.ts +3 -0
  610. package/src/contexts/themeContext/utils/theme.ts +124 -2
  611. package/src/hooks/actions/__tests__/useChannelActionItems.test.tsx +4 -4
  612. package/src/hooks/actions/__tests__/useChannelMemberActionItems.test.tsx +3 -3
  613. package/src/hooks/actions/useChannelActionItems.tsx +56 -2
  614. package/src/hooks/actions/useChannelMemberActionItems.tsx +23 -1
  615. package/src/i18n/ar.json +24 -1
  616. package/src/i18n/en.json +24 -1
  617. package/src/i18n/es.json +24 -1
  618. package/src/i18n/fr.json +24 -1
  619. package/src/i18n/he.json +24 -1
  620. package/src/i18n/hi.json +24 -1
  621. package/src/i18n/it.json +24 -1
  622. package/src/i18n/ja.json +24 -1
  623. package/src/i18n/ko.json +24 -1
  624. package/src/i18n/nl.json +24 -1
  625. package/src/i18n/pt-br.json +24 -1
  626. package/src/i18n/ru.json +24 -1
  627. package/src/i18n/tr.json +24 -1
  628. package/src/icons/folder.tsx +28 -0
  629. package/src/icons/index.ts +1 -0
  630. package/src/icons/megaphone.tsx +21 -0
  631. package/src/icons/shield.tsx +21 -0
  632. package/src/state-store/__tests__/image-gallery-state-store.test.ts +81 -0
  633. package/src/state-store/image-gallery-state-store.ts +27 -1
  634. package/src/store/SqliteClient.ts +1 -1
  635. package/src/store/mappers/mapDraftMessageToStorable.ts +8 -0
  636. package/src/store/mappers/mapStorableToDraftMessage.ts +8 -0
  637. package/src/store/schema.ts +8 -0
  638. package/src/theme/generated/StreamTokens.types.ts +9 -0
  639. package/src/theme/generated/dark/StreamTokens.android.ts +10 -1
  640. package/src/theme/generated/dark/StreamTokens.ios.ts +10 -1
  641. package/src/theme/generated/dark/StreamTokens.web.ts +10 -1
  642. package/src/theme/generated/light/StreamTokens.android.ts +10 -1
  643. package/src/theme/generated/light/StreamTokens.ios.ts +10 -1
  644. package/src/theme/generated/light/StreamTokens.web.ts +10 -1
  645. package/src/version.json +1 -1
@@ -0,0 +1,72 @@
1
+ import React, { PropsWithChildren, useContext, useState } from 'react';
2
+
3
+ import { Channel, MessageSearchSource } from 'stream-chat';
4
+
5
+ import { useChatContext } from '..';
6
+ import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
7
+ import { isTestEnvironment } from '../utils/isTestEnvironment';
8
+
9
+ /**
10
+ * @experimental This API is experimental and is subject to change.
11
+ */
12
+ export type ChannelPinnedMessageListContextValue = {
13
+ channel: Channel;
14
+ searchSource: MessageSearchSource;
15
+ };
16
+
17
+ export const ChannelPinnedMessageListContext = React.createContext(
18
+ DEFAULT_BASE_CONTEXT_VALUE as ChannelPinnedMessageListContextValue,
19
+ );
20
+
21
+ /**
22
+ * @experimental This API is experimental and is subject to change.
23
+ */
24
+ export const ChannelPinnedMessageListProvider = ({
25
+ channel,
26
+ children,
27
+ }: PropsWithChildren<{ channel: Channel }>) => {
28
+ const { client } = useChatContext();
29
+ const [searchSource] = useState(() => {
30
+ const source = new MessageSearchSource(
31
+ client,
32
+ { pageSize: 25, allowEmptySearchString: true, resetOnNewSearchQuery: false },
33
+ {
34
+ messageSearch: {
35
+ initialFilterConfig: {
36
+ $or: {
37
+ enabled: true,
38
+ generate: ({ searchQuery }) => (searchQuery ? { text: { $q: searchQuery } } : {}),
39
+ },
40
+ },
41
+ },
42
+ },
43
+ );
44
+ source.messageSearchChannelFilters = { cid: channel.cid, members: undefined };
45
+ source.messageSearchFilters = { pinned: true, type: undefined };
46
+ source.activate();
47
+ return source;
48
+ });
49
+
50
+ return (
51
+ <ChannelPinnedMessageListContext.Provider value={{ channel, searchSource }}>
52
+ {children}
53
+ </ChannelPinnedMessageListContext.Provider>
54
+ );
55
+ };
56
+
57
+ /**
58
+ * @experimental This API is experimental and is subject to change.
59
+ */
60
+ export const useChannelPinnedMessageListContext = () => {
61
+ const contextValue = useContext(
62
+ ChannelPinnedMessageListContext,
63
+ ) as unknown as ChannelPinnedMessageListContextValue;
64
+
65
+ if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {
66
+ throw new Error(
67
+ 'The useChannelPinnedMessageListContext hook was called outside of the ChannelPinnedMessageListContext provider. Render the pinned message list UI inside a ChannelPinnedMessageListProvider.',
68
+ );
69
+ }
70
+
71
+ return contextValue;
72
+ };
@@ -24,7 +24,10 @@ import { AttachmentPickerContent } from '../../components/AttachmentPicker/compo
24
24
  import { AttachmentPickerSelectionBar } from '../../components/AttachmentPicker/components/AttachmentPickerSelectionBar';
25
25
  import { ImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';
26
26
  import { AutoCompleteSuggestionHeader } from '../../components/AutoCompleteInput/AutoCompleteSuggestionHeader';
27
- import { AutoCompleteSuggestionItem } from '../../components/AutoCompleteInput/AutoCompleteSuggestionItem';
27
+ import {
28
+ AutoCompleteSuggestionItem,
29
+ MentionSuggestionItem,
30
+ } from '../../components/AutoCompleteInput/AutoCompleteSuggestionItem';
28
31
  import { AutoCompleteSuggestionList } from '../../components/AutoCompleteInput/AutoCompleteSuggestionList';
29
32
  import { InputView } from '../../components/AutoCompleteInput/InputView';
30
33
  import { ChannelDetailsContent } from '../../components/ChannelDetails/ChannelDetails';
@@ -33,7 +36,9 @@ import {
33
36
  ChannelDetailsActionsSection,
34
37
  ChannelDetailsActionItem,
35
38
  ChannelDetailsMemberSection,
39
+ ChannelDetailsNavigationSection,
36
40
  ChannelDetailsProfile,
41
+ ChannelDetailsEditButton,
37
42
  ChannelDetailsNavHeader,
38
43
  ChannelEditDetails,
39
44
  ChannelEditImageSheet,
@@ -41,6 +46,12 @@ import {
41
46
  ChannelMemberActionsSheet,
42
47
  ChannelMemberItem,
43
48
  ChannelMemberList,
49
+ FileAttachmentItem,
50
+ FileAttachmentList,
51
+ MediaItem,
52
+ MediaList,
53
+ PinnedMessageItem,
54
+ PinnedMessageList,
44
55
  } from '../../components/ChannelDetails/components';
45
56
  import { ChannelListFooterLoadingIndicator } from '../../components/ChannelList/ChannelListFooterLoadingIndicator';
46
57
  import { ChannelListHeaderErrorIndicator } from '../../components/ChannelList/ChannelListHeaderErrorIndicator';
@@ -196,6 +207,7 @@ const components = {
196
207
  AutoCompleteSuggestionHeader,
197
208
  AutoCompleteSuggestionItem,
198
209
  AutoCompleteSuggestionList,
210
+ MentionSuggestionItem,
199
211
  ChannelDetailsBottomSheet,
200
212
  CooldownTimer,
201
213
  CircularProgressIndicator,
@@ -311,8 +323,10 @@ const components = {
311
323
  ChannelDetailsActionsSection,
312
324
  ChannelDetailsActionItem,
313
325
  ChannelDetailsMemberSection,
326
+ ChannelDetailsNavigationSection,
314
327
  ChannelDetailsProfile,
315
328
  ChannelDetailsContent,
329
+ ChannelDetailsEditButton,
316
330
  ChannelDetailsNavHeader,
317
331
  ChannelEditDetails,
318
332
  ChannelEditImageSheet,
@@ -320,6 +334,12 @@ const components = {
320
334
  ChannelMemberActionsSheet,
321
335
  ChannelMemberItem,
322
336
  ChannelMemberList,
337
+ FileAttachmentItem,
338
+ FileAttachmentList,
339
+ MediaItem,
340
+ MediaList,
341
+ PinnedMessageItem,
342
+ PinnedMessageList,
323
343
 
324
344
  // Thread
325
345
  ThreadMessageComposer: MessageComposer,
@@ -359,7 +379,6 @@ const components = {
359
379
  */
360
380
  export interface OptionalComponentOverrides {
361
381
  AttachmentPickerIOSSelectMorePhotos?: React.ComponentType;
362
- ChannelDetailsNavigationSection?: React.ComponentType;
363
382
  ChatLoadingIndicator?: React.ComponentType | null;
364
383
  CreatePollContent?: React.ComponentType;
365
384
  Input?: React.ComponentType<{
@@ -32,6 +32,9 @@ export * from './utils/getDisplayName';
32
32
  export * from './channelDetailsContext';
33
33
  export * from './channelAddMembersContext/ChannelAddMembersContext';
34
34
  export * from './channelEditDetailsContext';
35
+ export * from './channelFileAttachmentListContext/ChannelFileAttachmentListContext';
36
+ export * from './channelPinnedMessageListContext/ChannelPinnedMessageListContext';
37
+ export * from './channelMediaListContext/ChannelMediaListContext';
35
38
  export * from './pollContext';
36
39
  export * from './liveLocationManagerContext';
37
40
  export * from './audioPlayerContext/AudioPlayerContext';
@@ -234,7 +234,6 @@ export type Theme = {
234
234
  body: ViewStyle;
235
235
  header: ViewStyle;
236
236
  headerTitle: TextStyle;
237
- root: ViewStyle;
238
237
  };
239
238
  addMembers: {
240
239
  searchResultItem: {
@@ -250,6 +249,39 @@ export type Theme = {
250
249
  nameInput: ViewStyle;
251
250
  uploadButton: ViewStyle;
252
251
  };
252
+ pinnedMessageList: {
253
+ container: ViewStyle;
254
+ list: ViewStyle;
255
+ listContent: ViewStyle;
256
+ };
257
+ pinnedMessageItem: {
258
+ container: ViewStyle;
259
+ content: ViewStyle;
260
+ name: TextStyle;
261
+ title: ViewStyle;
262
+ };
263
+ fileAttachmentList: {
264
+ container: ViewStyle;
265
+ list: ViewStyle;
266
+ listContent: ViewStyle;
267
+ sectionHeader: ViewStyle;
268
+ sectionHeaderText: TextStyle;
269
+ };
270
+ fileAttachmentItem: {
271
+ container: ViewStyle;
272
+ };
273
+ mediaList: {
274
+ container: ViewStyle;
275
+ list: ViewStyle;
276
+ listContent: ViewStyle;
277
+ };
278
+ mediaItem: {
279
+ avatar: ViewStyle;
280
+ container: ViewStyle;
281
+ thumbnail: ImageStyle;
282
+ videoBadge: ViewStyle;
283
+ videoBadgeText: TextStyle;
284
+ };
253
285
  };
254
286
  channelListSkeleton: {
255
287
  animationTime: number;
@@ -294,6 +326,24 @@ export type Theme = {
294
326
  textContainer: ViewStyle;
295
327
  title: ViewStyle;
296
328
  };
329
+ pinnedMessageListSkeleton: {
330
+ animationTime: number;
331
+ avatar: ViewStyle;
332
+ container: ViewStyle;
333
+ content: ViewStyle;
334
+ subtitle: ViewStyle;
335
+ textContainer: ViewStyle;
336
+ title: ViewStyle;
337
+ };
338
+ fileAttachmentListSkeleton: {
339
+ animationTime: number;
340
+ avatar: ViewStyle;
341
+ container: ViewStyle;
342
+ content: ViewStyle;
343
+ subtitle: ViewStyle;
344
+ textContainer: ViewStyle;
345
+ title: ViewStyle;
346
+ };
297
347
  channelPreview: {
298
348
  container: ViewStyle;
299
349
  contentContainer: ViewStyle;
@@ -306,6 +356,7 @@ export type Theme = {
306
356
  checkAllIcon: IconProps;
307
357
  checkIcon: IconProps;
308
358
  timeIcon: IconProps;
359
+ username: TextStyle;
309
360
  };
310
361
  lowerRow: ViewStyle;
311
362
  title: TextStyle;
@@ -335,6 +386,11 @@ export type Theme = {
335
386
  container: ViewStyle;
336
387
  text: TextStyle;
337
388
  };
389
+ emptyList: {
390
+ container: ViewStyle;
391
+ subtitle: TextStyle;
392
+ title: TextStyle;
393
+ };
338
394
  emptySearchResult: {
339
395
  container: ViewStyle;
340
396
  text: TextStyle;
@@ -562,6 +618,10 @@ export type Theme = {
562
618
  avatarSize: number;
563
619
  column: ViewStyle;
564
620
  container: ViewStyle;
621
+ enhancedMentionContainer: ViewStyle;
622
+ enhancedMentionIcon: ViewStyle;
623
+ enhancedMentionSubtitle: TextStyle;
624
+ enhancedMentionTitle: TextStyle;
565
625
  name: TextStyle;
566
626
  tag: TextStyle;
567
627
  };
@@ -569,6 +629,7 @@ export type Theme = {
569
629
  suggestionsListContainer: {
570
630
  container: ViewStyle;
571
631
  flatlist: ViewStyle;
632
+ flatlistContentContainer: ViewStyle;
572
633
  };
573
634
  videoAttachmentUploadPreview: {
574
635
  durationContainer: ViewStyle;
@@ -1280,7 +1341,6 @@ export const defaultTheme: Theme = {
1280
1341
  body: {},
1281
1342
  header: {},
1282
1343
  headerTitle: {},
1283
- root: {},
1284
1344
  },
1285
1345
  addMembers: {
1286
1346
  searchResultItem: {
@@ -1296,6 +1356,39 @@ export const defaultTheme: Theme = {
1296
1356
  nameInput: {},
1297
1357
  uploadButton: {},
1298
1358
  },
1359
+ pinnedMessageList: {
1360
+ container: {},
1361
+ list: {},
1362
+ listContent: {},
1363
+ },
1364
+ pinnedMessageItem: {
1365
+ container: {},
1366
+ content: {},
1367
+ name: {},
1368
+ title: {},
1369
+ },
1370
+ fileAttachmentList: {
1371
+ container: {},
1372
+ list: {},
1373
+ listContent: {},
1374
+ sectionHeader: {},
1375
+ sectionHeaderText: {},
1376
+ },
1377
+ fileAttachmentItem: {
1378
+ container: {},
1379
+ },
1380
+ mediaList: {
1381
+ container: {},
1382
+ list: {},
1383
+ listContent: {},
1384
+ },
1385
+ mediaItem: {
1386
+ avatar: {},
1387
+ container: {},
1388
+ thumbnail: {},
1389
+ videoBadge: {},
1390
+ videoBadgeText: {},
1391
+ },
1299
1392
  },
1300
1393
  channelListSkeleton: {
1301
1394
  animationTime: 1000, // in milliseconds
@@ -1340,6 +1433,24 @@ export const defaultTheme: Theme = {
1340
1433
  textContainer: {},
1341
1434
  title: {},
1342
1435
  },
1436
+ pinnedMessageListSkeleton: {
1437
+ animationTime: 1000, // in milliseconds
1438
+ avatar: {},
1439
+ container: {},
1440
+ content: {},
1441
+ subtitle: {},
1442
+ textContainer: {},
1443
+ title: {},
1444
+ },
1445
+ fileAttachmentListSkeleton: {
1446
+ animationTime: 1000, // in milliseconds
1447
+ avatar: {},
1448
+ container: {},
1449
+ content: {},
1450
+ subtitle: {},
1451
+ textContainer: {},
1452
+ title: {},
1453
+ },
1343
1454
  channelPreview: {
1344
1455
  container: {},
1345
1456
  contentContainer: {},
@@ -1356,6 +1467,7 @@ export const defaultTheme: Theme = {
1356
1467
  checkAllIcon: {},
1357
1468
  checkIcon: {},
1358
1469
  timeIcon: {},
1470
+ username: {},
1359
1471
  },
1360
1472
  mutedStatus: {},
1361
1473
  pinnedStatus: {},
@@ -1381,6 +1493,11 @@ export const defaultTheme: Theme = {
1381
1493
  container: {},
1382
1494
  text: {},
1383
1495
  },
1496
+ emptyList: {
1497
+ container: {},
1498
+ subtitle: {},
1499
+ title: {},
1500
+ },
1384
1501
  emptySearchResult: {
1385
1502
  container: {},
1386
1503
  text: {},
@@ -1600,6 +1717,10 @@ export const defaultTheme: Theme = {
1600
1717
  avatarSize: 40,
1601
1718
  column: {},
1602
1719
  container: {},
1720
+ enhancedMentionContainer: {},
1721
+ enhancedMentionIcon: {},
1722
+ enhancedMentionSubtitle: {},
1723
+ enhancedMentionTitle: {},
1603
1724
  name: {},
1604
1725
  tag: {},
1605
1726
  },
@@ -1607,6 +1728,7 @@ export const defaultTheme: Theme = {
1607
1728
  suggestionsListContainer: {
1608
1729
  container: {},
1609
1730
  flatlist: {},
1731
+ flatlistContentContainer: {},
1610
1732
  },
1611
1733
  wrapper: {},
1612
1734
  linkPreviewList: {
@@ -105,7 +105,7 @@ describe('useChannelActionItems', () => {
105
105
  expect(result.current.map((item) => item.action)).toEqual([
106
106
  channelActions.muteChannel,
107
107
  channelActions.pin,
108
- channelActions.leave,
108
+ expect.any(Function),
109
109
  expect.any(Function),
110
110
  ]);
111
111
  expect(result.current.map((item) => item.id)).toEqual([
@@ -268,7 +268,7 @@ describe('getChannelActionItems', () => {
268
268
  expect(actionItems.map((item) => item.action)).toEqual([
269
269
  channelActions.muteChannel,
270
270
  channelActions.pin,
271
- channelActions.leave,
271
+ expect.any(Function),
272
272
  expect.any(Function),
273
273
  ]);
274
274
  expect(actionItems.map((item) => item.id)).toEqual(['mute', 'pin', 'leave', 'deleteChannel']);
@@ -308,7 +308,7 @@ describe('getChannelActionItems', () => {
308
308
  channelActions.pin,
309
309
  channelActions.unmuteUser,
310
310
  channelActions.unblockUser,
311
- channelActions.leave,
311
+ expect.any(Function),
312
312
  expect.any(Function),
313
313
  ]);
314
314
  expect(actionItems.map((item) => item.label)).toEqual([
@@ -383,7 +383,7 @@ describe('getChannelActionItems', () => {
383
383
  expect(actionItems[0].placement).toBe('swipe');
384
384
 
385
385
  const leaveItem = actionItems.find((item) => item.id === 'leave');
386
- expect(leaveItem?.action).toBe(channelActions.leave);
386
+ expect(leaveItem?.action).toEqual(expect.any(Function));
387
387
  expect(leaveItem?.label).toBe('Leave Group');
388
388
  expect(leaveItem?.placement).toBe('sheet');
389
389
  });
@@ -76,7 +76,7 @@ describe('useChannelMemberActionItems', () => {
76
76
  expect(result.current.map((item) => item.id)).toEqual(['muteUser', 'block']);
77
77
  expect(result.current.map((item) => item.action)).toEqual([
78
78
  userActions.muteUser,
79
- userActions.blockUser,
79
+ expect.any(Function),
80
80
  ]);
81
81
  expect(result.current.map((item) => item.type)).toEqual(['standard', 'destructive']);
82
82
  expect(result.current.map((item) => item.label)).toEqual(['Mute User', 'Block User']);
@@ -259,7 +259,7 @@ describe('buildDefaultChannelMemberActionItems', () => {
259
259
  });
260
260
 
261
261
  expect(items.map((item) => item.id)).toEqual(['muteUser', 'block']);
262
- expect(items.map((item) => item.action)).toEqual([actions.muteUser, actions.blockUser]);
262
+ expect(items.map((item) => item.action)).toEqual([actions.muteUser, expect.any(Function)]);
263
263
  expect(items.map((item) => item.label)).toEqual(['Mute User', 'Block User']);
264
264
  expect(items.map((item) => item.type)).toEqual(['standard', 'destructive']);
265
265
  });
@@ -335,7 +335,7 @@ describe('buildDefaultChannelMemberActionItems', () => {
335
335
  });
336
336
 
337
337
  expect(items.find((item) => item.id === 'muteUser')?.action).toBe(actions.unmuteUser);
338
- expect(items.find((item) => item.id === 'block')?.action).toBe(actions.blockUser);
338
+ expect(items.find((item) => item.id === 'block')?.action).toEqual(expect.any(Function));
339
339
  });
340
340
 
341
341
  it('default getChannelMemberActionItems returns defaultItems unchanged', () => {
@@ -179,8 +179,31 @@ export const buildDefaultChannelActionItems: BuildDefaultChannelActionItems = (
179
179
  type: 'standard',
180
180
  });
181
181
 
182
+ const blockUserWithConfirmation = (...args: Parameters<ChannelActionHandler>) => {
183
+ const otherUser = getOtherUserInDirectChannel(channel)?.user;
184
+ const name = otherUser?.name || otherUser?.id || '';
185
+
186
+ Alert.alert(
187
+ t('Block {{ name }}', { name }),
188
+ t("They won't be able to message or call you. You can unblock them later."),
189
+ [
190
+ {
191
+ style: 'cancel',
192
+ text: t('Cancel'),
193
+ },
194
+ {
195
+ onPress: async () => {
196
+ await blockUser(...args);
197
+ },
198
+ style: 'destructive',
199
+ text: t('Block'),
200
+ },
201
+ ],
202
+ );
203
+ };
204
+
182
205
  actionItems.push({
183
- action: isBlocked ? unblockUser : blockUser,
206
+ action: isBlocked ? unblockUser : blockUserWithConfirmation,
184
207
  Icon: (props) => <ChannelActionsIcon Icon={BlockUser} {...props} />,
185
208
  id: 'block',
186
209
  label: isBlocked ? t('Unblock User') : t('Block User'),
@@ -189,8 +212,39 @@ export const buildDefaultChannelActionItems: BuildDefaultChannelActionItems = (
189
212
  });
190
213
  }
191
214
 
215
+ const leaveWithConfirmation = (...args: Parameters<ChannelActionHandler>) => {
216
+ const channelName = channel.data?.name;
217
+ let name: string;
218
+ if (channelName) {
219
+ name = channelName;
220
+ } else if (isDirectChat) {
221
+ const otherUser = getOtherUserInDirectChannel(channel)?.user;
222
+ name = otherUser?.name || otherUser?.id || '';
223
+ } else {
224
+ name = t('group');
225
+ }
226
+
227
+ Alert.alert(
228
+ isDirectChat ? t('Leave Chat') : t('Leave Group'),
229
+ t("You'll stop receiving messages from {{ name }}. You can rejoin anytime.", { name }),
230
+ [
231
+ {
232
+ style: 'cancel',
233
+ text: t('Cancel'),
234
+ },
235
+ {
236
+ onPress: async () => {
237
+ await leave(...args);
238
+ },
239
+ style: 'destructive',
240
+ text: t('Leave'),
241
+ },
242
+ ],
243
+ );
244
+ };
245
+
192
246
  actionItems.push({
193
- action: leave,
247
+ action: leaveWithConfirmation,
194
248
  Icon: (props) => <ChannelActionsIcon Icon={ArrowBoxLeft} {...props} />,
195
249
  id: 'leave',
196
250
  label: isDirectChat ? t('Leave Chat') : t('Leave Group'),
@@ -83,7 +83,29 @@ export const buildDefaultChannelMemberActionItems: BuildDefaultChannelMemberActi
83
83
  type: 'standard',
84
84
  },
85
85
  {
86
- action: isBlocked ? unblockUser : blockUser,
86
+ action: isBlocked
87
+ ? unblockUser
88
+ : (...args: Parameters<UserActions['blockUser']>) => {
89
+ const name = member.user?.name || member.user?.id || '';
90
+
91
+ Alert.alert(
92
+ t('Block {{ name }}', { name }),
93
+ t("They won't be able to message or call you. You can unblock them later."),
94
+ [
95
+ {
96
+ style: 'cancel',
97
+ text: t('Cancel'),
98
+ },
99
+ {
100
+ onPress: async () => {
101
+ await blockUser(...args);
102
+ },
103
+ style: 'destructive',
104
+ text: t('Block'),
105
+ },
106
+ ],
107
+ );
108
+ },
87
109
  Icon: (props) => <ChannelMemberActionsIcon Icon={BlockUser} {...props} />,
88
110
  id: 'block',
89
111
  label: isBlocked ? t('Unblock User') : t('Block User'),
package/src/i18n/ar.json CHANGED
@@ -162,6 +162,7 @@
162
162
  "duration/Remind Me": "{{ milliseconds | durationFormatter(withSuffix: true) }}",
163
163
  "replied to": "رد على",
164
164
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[أمس]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[غدًا]\", \"nextWeek\":\"dddd [في] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
165
+ "timestamp/FileAttachmentListSection": "{{ timestamp | timestampFormatter(format: MMMM YYYY) }}",
165
166
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
166
167
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
167
168
  "timestamp/MessageEditedTimestamp": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -388,6 +389,7 @@
388
389
  "Failed to block user": "فشل حظر المستخدم",
389
390
  "Failed to delete channel": "فشل حذف القناة",
390
391
  "Failed to leave channel": "فشل مغادرة القناة",
392
+ "Failed to load pinned messages": "فشل تحميل الرسائل المثبتة",
391
393
  "Failed to load users": "فشل تحميل المستخدمين",
392
394
  "Failed to play the recording": "فشل تشغيل التسجيل",
393
395
  "Failed to update channel archive status": "فشل تحديث حالة أرشفة القناة",
@@ -437,8 +439,29 @@
437
439
  "a11y/Gallery Image": "صورة من المعرض",
438
440
  "a11y/Gallery Video": "فيديو من المعرض",
439
441
  "a11y/{{position}} of {{count}}": "{{position}} من {{count}}",
442
+ "No pinned messages": "لا توجد رسائل مثبتة",
443
+ "a11y/Search pinned messages": "البحث في الرسائل المثبتة",
444
+ "Long-press a message to pin it to the chat": "اضغط مطولاً على رسالة لتثبيتها في المحادثة",
445
+ "No photos or videos": "لا توجد صور أو مقاطع فيديو",
446
+ "Share a photo or video to see it here": "شارك صورة أو مقطع فيديو لرؤيته هنا",
447
+ "Failed to load media": "فشل تحميل الوسائط",
448
+ "No files": "لا توجد ملفات",
449
+ "Share a file to see it here": "شارك ملفًا لرؤيته هنا",
450
+ "Failed to load files": "فشل تحميل الملفات",
451
+ "Notify all {{ role }} members": "Notify all {{ role }} members",
452
+ "a11y/Command suggestions available": "Command suggestions available",
453
+ "a11y/Emoji suggestions available": "Emoji suggestions available",
454
+ "a11y/Mention suggestions available": "Mention suggestions available",
455
+ "mention/Channel Description": "Notify everyone in this channel",
456
+ "mention/Here Description": "Notify every online member in this channel",
440
457
  "Pin Chat": "تثبيت الدردشة",
441
458
  "Pin Group": "تثبيت المجموعة",
442
459
  "Unpin Chat": "إلغاء تثبيت الدردشة",
443
- "Unpin Group": "إلغاء تثبيت المجموعة"
460
+ "Unpin Group": "إلغاء تثبيت المجموعة",
461
+ "Block": "حظر",
462
+ "Block {{ name }}": "حظر {{ name }}",
463
+ "They won't be able to message or call you. You can unblock them later.": "لن يتمكن/تتمكن من مراسلتك أو الاتصال بك. يمكنك إلغاء الحظر لاحقًا.",
464
+ "Leave": "مغادرة",
465
+ "You'll stop receiving messages from {{ name }}. You can rejoin anytime.": "ستتوقف عن تلقي الرسائل من {{ name }}. يمكنك الانضمام مجددًا في أي وقت.",
466
+ "group": "المجموعة"
444
467
  }
package/src/i18n/en.json CHANGED
@@ -72,6 +72,7 @@
72
72
  "Loading threads...": "Loading threads...",
73
73
  "Loading...": "Loading...",
74
74
  "Location": "Location",
75
+ "Long-press a message to pin it to the chat": "Long-press a message to pin it to the chat",
75
76
  "Mark as Unread": "Mark as Unread",
76
77
  "Maximum number of files reached": "Maximum number of files reached",
77
78
  "Message Reactions": "Message Reactions",
@@ -96,7 +97,10 @@
96
97
  "Failed to remove members": "Failed to remove members",
97
98
  "Muted": "Muted",
98
99
  "No chats here yet…": "No chats here yet…",
100
+ "No files": "No files",
99
101
  "No items exist": "No items exist",
102
+ "No photos or videos": "No photos or videos",
103
+ "No pinned messages": "No pinned messages",
100
104
  "No threads here yet": "No threads here yet",
101
105
  "No user found": "No user found",
102
106
  "Not supported": "Not supported",
@@ -110,6 +114,7 @@
110
114
  "Options": "Options",
111
115
  "Photo": "Photo",
112
116
  "Photos and Videos": "Photos and Videos",
117
+ "Share a photo or video to see it here": "Share a photo or video to see it here",
113
118
  "Pin to Conversation": "Pin to Conversation",
114
119
  "Pinned by": "Pinned by",
115
120
  "Please allow Audio permissions in settings.": "Please allow Audio permissions in settings.",
@@ -170,6 +175,7 @@
170
175
  "duration/Remind Me": "{{ milliseconds | durationFormatter(withSuffix: true) }}",
171
176
  "replied to": "replied to",
172
177
  "timestamp/ChannelPreviewStatus": "{{ timestamp | timestampFormatter(calendar: true; calendarFormats: {\"lastDay\":\"[Yesterday]\", \"lastWeek\":\"dddd\", \"nextDay\":\"[Tomorrow]\", \"nextWeek\":\"dddd [at] LT\", \"sameDay\":\"LT\", \"sameElse\":\"L\"}) }}",
178
+ "timestamp/FileAttachmentListSection": "{{ timestamp | timestampFormatter(format: MMMM YYYY) }}",
173
179
  "timestamp/ImageGalleryHeader": "{{ timestamp | timestampFormatter(calendar: true) }}",
174
180
  "timestamp/InlineDateSeparator": "{{ timestamp | timestampFormatter(calendar: true) }}",
175
181
  "timestamp/MessageEditedTimestamp": "{{ timestamp | timestampFormatter(calendar: true) }}",
@@ -236,6 +242,12 @@
236
242
  "No conversations yet": "No conversations yet",
237
243
  "Are you sure you want to delete this group? This can't be undone.": "Are you sure you want to delete this group? This can't be undone.",
238
244
  "Are you sure you want to delete this chat? This can't be undone.": "Are you sure you want to delete this chat? This can't be undone.",
245
+ "Block": "Block",
246
+ "Block {{ name }}": "Block {{ name }}",
247
+ "They won't be able to message or call you. You can unblock them later.": "They won't be able to message or call you. You can unblock them later.",
248
+ "Leave": "Leave",
249
+ "You'll stop receiving messages from {{ name }}. You can rejoin anytime.": "You'll stop receiving messages from {{ name }}. You can rejoin anytime.",
250
+ "group": "this group",
239
251
  "Delete chat": "Delete chat",
240
252
  "Delete group": "Delete group",
241
253
  "Archive Chat": "Archive Chat",
@@ -344,6 +356,7 @@
344
356
  "a11y/Select image": "Select image",
345
357
  "a11y/Select video": "Select video",
346
358
  "a11y/Send voice recording": "Send voice recording",
359
+ "a11y/Search pinned messages": "Search pinned messages",
347
360
  "a11y/Search users to add": "Search users to add",
348
361
  "a11y/Select {{name}}": "Select {{name}}",
349
362
  "a11y/{{name}} is already a member": "{{name}} is already a member",
@@ -355,6 +368,7 @@
355
368
  "Contact Info": "Contact Info",
356
369
  "Edit": "Edit",
357
370
  "Files": "Files",
371
+ "Share a file to see it here": "Share a file to see it here",
358
372
  "Group Info": "Group Info",
359
373
  "timestamp/UserActivityStatus": "Last seen {{ timestamp | fromNowFormatter }}",
360
374
  "Photos & Videos": "Photos & Videos",
@@ -405,7 +419,10 @@
405
419
  "Failed to block user": "Failed to block user",
406
420
  "Failed to delete channel": "Failed to delete channel",
407
421
  "Failed to leave channel": "Failed to leave channel",
422
+ "Failed to load files": "Failed to load files",
423
+ "Failed to load media": "Failed to load media",
408
424
  "Failed to load members": "Failed to load members",
425
+ "Failed to load pinned messages": "Failed to load pinned messages",
409
426
  "Failed to load users": "Failed to load users",
410
427
  "Failed to play the recording": "Failed to play the recording",
411
428
  "Failed to update channel archive status": "Failed to update channel archive status",
@@ -440,5 +457,11 @@
440
457
  "a11y/{{count}} unread messages": "{{count}} unread messages",
441
458
  "a11y/Gallery Image": "Gallery image",
442
459
  "a11y/Gallery Video": "Gallery video",
443
- "a11y/{{position}} of {{count}}": "{{position}} of {{count}}"
460
+ "a11y/{{position}} of {{count}}": "{{position}} of {{count}}",
461
+ "Notify all {{ role }} members": "Notify all {{ role }} members",
462
+ "a11y/Command suggestions available": "Command suggestions available",
463
+ "a11y/Emoji suggestions available": "Emoji suggestions available",
464
+ "a11y/Mention suggestions available": "Mention suggestions available",
465
+ "mention/Channel Description": "Notify everyone in this channel",
466
+ "mention/Here Description": "Notify every online member in this channel"
444
467
  }