stream-chat-react-native-core 9.4.0-beta.11 → 9.4.0-beta.13

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 (388) hide show
  1. package/lib/commonjs/components/ChannelDetails/ChannelDetails.js +8 -3
  2. package/lib/commonjs/components/ChannelDetails/ChannelDetails.js.map +1 -1
  3. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsActionItem.js +2 -1
  4. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsActionItem.js.map +1 -1
  5. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js +57 -0
  6. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -0
  7. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js +3 -32
  8. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  9. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavigationSection.js +64 -25
  10. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsNavigationSection.js.map +1 -1
  11. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js +3 -2
  12. package/lib/commonjs/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  13. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js +2 -2
  14. package/lib/commonjs/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  15. package/lib/commonjs/components/ChannelDetails/components/index.js +22 -0
  16. package/lib/commonjs/components/ChannelDetails/components/index.js.map +1 -1
  17. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -1
  18. package/lib/commonjs/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  19. package/lib/commonjs/components/ChannelDetails/components/modal/Modal.js +22 -23
  20. package/lib/commonjs/components/ChannelDetails/components/modal/Modal.js.map +1 -1
  21. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js +6 -4
  22. package/lib/commonjs/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  23. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js +65 -0
  24. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js.map +1 -0
  25. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +174 -0
  26. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -0
  27. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js +21 -0
  28. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js.map +1 -0
  29. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js +45 -0
  30. package/lib/commonjs/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js.map +1 -0
  31. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js +120 -0
  32. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -0
  33. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js +206 -0
  34. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -0
  35. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js +63 -0
  36. package/lib/commonjs/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js.map +1 -0
  37. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js +84 -0
  38. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js.map +1 -0
  39. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +177 -0
  40. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -0
  41. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js +21 -0
  42. package/lib/commonjs/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js.map +1 -0
  43. package/lib/commonjs/components/ChannelDetails/components/navigation-section/index.js +114 -0
  44. package/lib/commonjs/components/ChannelDetails/components/navigation-section/index.js.map +1 -0
  45. package/lib/commonjs/components/ChannelDetails/hooks/index.js +33 -0
  46. package/lib/commonjs/components/ChannelDetails/hooks/index.js.map +1 -1
  47. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +55 -0
  48. package/lib/commonjs/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -0
  49. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js +52 -0
  50. package/lib/commonjs/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -0
  51. package/lib/commonjs/components/ChannelDetails/hooks/useMediaList.js +30 -0
  52. package/lib/commonjs/components/ChannelDetails/hooks/useMediaList.js.map +1 -0
  53. package/lib/commonjs/components/ImageGallery/ImageGallery.js +21 -76
  54. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  55. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +6 -10
  56. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  57. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +16 -14
  58. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  59. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js +67 -0
  60. package/lib/commonjs/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -0
  61. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +23 -15
  62. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  63. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +4 -3
  64. package/lib/commonjs/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
  65. package/lib/commonjs/components/ImageGallery/hooks/useCurrentImageHeight.js +53 -0
  66. package/lib/commonjs/components/ImageGallery/hooks/useCurrentImageHeight.js.map +1 -0
  67. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +25 -31
  68. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  69. package/lib/commonjs/components/UIComponents/EmptyList.js +78 -0
  70. package/lib/commonjs/components/UIComponents/EmptyList.js.map +1 -0
  71. package/lib/commonjs/components/UIComponents/index.js +11 -0
  72. package/lib/commonjs/components/UIComponents/index.js.map +1 -1
  73. package/lib/commonjs/components/ui/Avatar/AvatarGroup.js +3 -3
  74. package/lib/commonjs/components/ui/Avatar/constants.js +2 -2
  75. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +64 -0
  76. package/lib/commonjs/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -0
  77. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js +63 -0
  78. package/lib/commonjs/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -0
  79. package/lib/commonjs/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js +73 -0
  80. package/lib/commonjs/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js.map +1 -0
  81. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +8 -0
  82. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -1
  83. package/lib/commonjs/contexts/index.js +33 -0
  84. package/lib/commonjs/contexts/index.js.map +1 -1
  85. package/lib/commonjs/contexts/themeContext/utils/theme.js +57 -2
  86. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  87. package/lib/commonjs/i18n/ar.json +11 -0
  88. package/lib/commonjs/i18n/en.json +11 -0
  89. package/lib/commonjs/i18n/es.json +11 -0
  90. package/lib/commonjs/i18n/fr.json +11 -0
  91. package/lib/commonjs/i18n/he.json +11 -0
  92. package/lib/commonjs/i18n/hi.json +11 -0
  93. package/lib/commonjs/i18n/it.json +11 -0
  94. package/lib/commonjs/i18n/ja.json +11 -0
  95. package/lib/commonjs/i18n/ko.json +11 -0
  96. package/lib/commonjs/i18n/nl.json +11 -0
  97. package/lib/commonjs/i18n/pt-br.json +11 -0
  98. package/lib/commonjs/i18n/ru.json +11 -0
  99. package/lib/commonjs/i18n/tr.json +11 -0
  100. package/lib/commonjs/icons/folder.js +37 -0
  101. package/lib/commonjs/icons/folder.js.map +1 -0
  102. package/lib/commonjs/icons/index.js +12 -0
  103. package/lib/commonjs/icons/index.js.map +1 -1
  104. package/lib/commonjs/state-store/image-gallery-state-store.js +12 -3
  105. package/lib/commonjs/state-store/image-gallery-state-store.js.map +1 -1
  106. package/lib/commonjs/version.json +1 -1
  107. package/lib/module/components/ChannelDetails/ChannelDetails.js +8 -3
  108. package/lib/module/components/ChannelDetails/ChannelDetails.js.map +1 -1
  109. package/lib/module/components/ChannelDetails/components/ChannelDetailsActionItem.js +2 -1
  110. package/lib/module/components/ChannelDetails/components/ChannelDetailsActionItem.js.map +1 -1
  111. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js +57 -0
  112. package/lib/module/components/ChannelDetails/components/ChannelDetailsEditButton.js.map +1 -0
  113. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js +3 -32
  114. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavHeader.js.map +1 -1
  115. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavigationSection.js +64 -25
  116. package/lib/module/components/ChannelDetails/components/ChannelDetailsNavigationSection.js.map +1 -1
  117. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js +3 -2
  118. package/lib/module/components/ChannelDetails/components/ChannelDetailsProfile.js.map +1 -1
  119. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js +2 -2
  120. package/lib/module/components/ChannelDetails/components/ChannelEditImageSheet.js.map +1 -1
  121. package/lib/module/components/ChannelDetails/components/index.js +22 -0
  122. package/lib/module/components/ChannelDetails/components/index.js.map +1 -1
  123. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js +2 -1
  124. package/lib/module/components/ChannelDetails/components/members/ChannelMemberItem.js.map +1 -1
  125. package/lib/module/components/ChannelDetails/components/modal/Modal.js +22 -23
  126. package/lib/module/components/ChannelDetails/components/modal/Modal.js.map +1 -1
  127. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js +6 -4
  128. package/lib/module/components/ChannelDetails/components/modal/ModalHeader.js.map +1 -1
  129. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js +65 -0
  130. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentItem.js.map +1 -0
  131. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js +174 -0
  132. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentList.js.map +1 -0
  133. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js +21 -0
  134. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.js.map +1 -0
  135. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js +45 -0
  136. package/lib/module/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.js.map +1 -0
  137. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js +120 -0
  138. package/lib/module/components/ChannelDetails/components/navigation-section/MediaItem.js.map +1 -0
  139. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js +206 -0
  140. package/lib/module/components/ChannelDetails/components/navigation-section/MediaList.js.map +1 -0
  141. package/lib/module/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js +63 -0
  142. package/lib/module/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.js.map +1 -0
  143. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js +84 -0
  144. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageItem.js.map +1 -0
  145. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js +177 -0
  146. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageList.js.map +1 -0
  147. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js +21 -0
  148. package/lib/module/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.js.map +1 -0
  149. package/lib/module/components/ChannelDetails/components/navigation-section/index.js +114 -0
  150. package/lib/module/components/ChannelDetails/components/navigation-section/index.js.map +1 -0
  151. package/lib/module/components/ChannelDetails/hooks/index.js +33 -0
  152. package/lib/module/components/ChannelDetails/hooks/index.js.map +1 -1
  153. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js +55 -0
  154. package/lib/module/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.js.map +1 -0
  155. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js +52 -0
  156. package/lib/module/components/ChannelDetails/hooks/useFileAttachmentListSections.js.map +1 -0
  157. package/lib/module/components/ChannelDetails/hooks/useMediaList.js +30 -0
  158. package/lib/module/components/ChannelDetails/hooks/useMediaList.js.map +1 -0
  159. package/lib/module/components/ImageGallery/ImageGallery.js +21 -76
  160. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  161. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +6 -10
  162. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  163. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +16 -14
  164. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  165. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js +67 -0
  166. package/lib/module/components/ImageGallery/components/ImageGalleryA11yProbe.js.map +1 -0
  167. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +23 -15
  168. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  169. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js +4 -3
  170. package/lib/module/components/ImageGallery/hooks/useAnimatedGalleryStyle.js.map +1 -1
  171. package/lib/module/components/ImageGallery/hooks/useCurrentImageHeight.js +53 -0
  172. package/lib/module/components/ImageGallery/hooks/useCurrentImageHeight.js.map +1 -0
  173. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +25 -31
  174. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  175. package/lib/module/components/UIComponents/EmptyList.js +78 -0
  176. package/lib/module/components/UIComponents/EmptyList.js.map +1 -0
  177. package/lib/module/components/UIComponents/index.js +11 -0
  178. package/lib/module/components/UIComponents/index.js.map +1 -1
  179. package/lib/module/components/ui/Avatar/AvatarGroup.js +3 -3
  180. package/lib/module/components/ui/Avatar/constants.js +2 -2
  181. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js +64 -0
  182. package/lib/module/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.js.map +1 -0
  183. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js +63 -0
  184. package/lib/module/contexts/channelMediaListContext/ChannelMediaListContext.js.map +1 -0
  185. package/lib/module/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js +73 -0
  186. package/lib/module/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.js.map +1 -0
  187. package/lib/module/contexts/componentsContext/defaultComponents.js +8 -0
  188. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -1
  189. package/lib/module/contexts/index.js +33 -0
  190. package/lib/module/contexts/index.js.map +1 -1
  191. package/lib/module/contexts/themeContext/utils/theme.js +57 -2
  192. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  193. package/lib/module/i18n/ar.json +11 -0
  194. package/lib/module/i18n/en.json +11 -0
  195. package/lib/module/i18n/es.json +11 -0
  196. package/lib/module/i18n/fr.json +11 -0
  197. package/lib/module/i18n/he.json +11 -0
  198. package/lib/module/i18n/hi.json +11 -0
  199. package/lib/module/i18n/it.json +11 -0
  200. package/lib/module/i18n/ja.json +11 -0
  201. package/lib/module/i18n/ko.json +11 -0
  202. package/lib/module/i18n/nl.json +11 -0
  203. package/lib/module/i18n/pt-br.json +11 -0
  204. package/lib/module/i18n/ru.json +11 -0
  205. package/lib/module/i18n/tr.json +11 -0
  206. package/lib/module/icons/folder.js +37 -0
  207. package/lib/module/icons/folder.js.map +1 -0
  208. package/lib/module/icons/index.js +12 -0
  209. package/lib/module/icons/index.js.map +1 -1
  210. package/lib/module/state-store/image-gallery-state-store.js +12 -3
  211. package/lib/module/state-store/image-gallery-state-store.js.map +1 -1
  212. package/lib/module/version.json +1 -1
  213. package/lib/typescript/components/ChannelDetails/ChannelDetails.d.ts +11 -1
  214. package/lib/typescript/components/ChannelDetails/ChannelDetails.d.ts.map +1 -1
  215. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsActionItem.d.ts.map +1 -1
  216. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsEditButton.d.ts +6 -0
  217. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsEditButton.d.ts.map +1 -0
  218. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavHeader.d.ts +3 -1
  219. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavHeader.d.ts.map +1 -1
  220. package/lib/typescript/components/ChannelDetails/components/ChannelDetailsNavigationSection.d.ts.map +1 -1
  221. package/lib/typescript/components/ChannelDetails/components/index.d.ts +3 -0
  222. package/lib/typescript/components/ChannelDetails/components/index.d.ts.map +1 -1
  223. package/lib/typescript/components/ChannelDetails/components/members/ChannelMemberItem.d.ts.map +1 -1
  224. package/lib/typescript/components/ChannelDetails/components/modal/Modal.d.ts +2 -1
  225. package/lib/typescript/components/ChannelDetails/components/modal/Modal.d.ts.map +1 -1
  226. package/lib/typescript/components/ChannelDetails/components/modal/ModalHeader.d.ts +3 -1
  227. package/lib/typescript/components/ChannelDetails/components/modal/ModalHeader.d.ts.map +1 -1
  228. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentItem.d.ts +31 -0
  229. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentItem.d.ts.map +1 -0
  230. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentList.d.ts +17 -0
  231. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentList.d.ts.map +1 -0
  232. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.d.ts +9 -0
  233. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.d.ts.map +1 -0
  234. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.d.ts +13 -0
  235. package/lib/typescript/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.d.ts.map +1 -0
  236. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaItem.d.ts +35 -0
  237. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaItem.d.ts.map +1 -0
  238. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaList.d.ts +17 -0
  239. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaList.d.ts.map +1 -0
  240. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.d.ts +11 -0
  241. package/lib/typescript/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.d.ts.map +1 -0
  242. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageItem.d.ts +19 -0
  243. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageItem.d.ts.map +1 -0
  244. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageList.d.ts +19 -0
  245. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageList.d.ts.map +1 -0
  246. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.d.ts +9 -0
  247. package/lib/typescript/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.d.ts.map +1 -0
  248. package/lib/typescript/components/ChannelDetails/components/navigation-section/index.d.ts +11 -0
  249. package/lib/typescript/components/ChannelDetails/components/navigation-section/index.d.ts.map +1 -0
  250. package/lib/typescript/components/ChannelDetails/hooks/index.d.ts +3 -0
  251. package/lib/typescript/components/ChannelDetails/hooks/index.d.ts.map +1 -1
  252. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.d.ts +56 -0
  253. package/lib/typescript/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.d.ts.map +1 -0
  254. package/lib/typescript/components/ChannelDetails/hooks/useFileAttachmentListSections.d.ts +28 -0
  255. package/lib/typescript/components/ChannelDetails/hooks/useFileAttachmentListSections.d.ts.map +1 -0
  256. package/lib/typescript/components/ChannelDetails/hooks/useMediaList.d.ts +20 -0
  257. package/lib/typescript/components/ChannelDetails/hooks/useMediaList.d.ts.map +1 -0
  258. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  259. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts.map +1 -1
  260. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +1 -4
  261. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts.map +1 -1
  262. package/lib/typescript/components/ImageGallery/components/ImageGalleryA11yProbe.d.ts +20 -0
  263. package/lib/typescript/components/ImageGallery/components/ImageGalleryA11yProbe.d.ts.map +1 -0
  264. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts.map +1 -1
  265. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts +2 -3
  266. package/lib/typescript/components/ImageGallery/hooks/useAnimatedGalleryStyle.d.ts.map +1 -1
  267. package/lib/typescript/components/ImageGallery/hooks/useCurrentImageHeight.d.ts +24 -0
  268. package/lib/typescript/components/ImageGallery/hooks/useCurrentImageHeight.d.ts.map +1 -0
  269. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +1 -1
  270. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts.map +1 -1
  271. package/lib/typescript/components/UIComponents/EmptyList.d.ts +24 -0
  272. package/lib/typescript/components/UIComponents/EmptyList.d.ts.map +1 -0
  273. package/lib/typescript/components/UIComponents/index.d.ts +1 -0
  274. package/lib/typescript/components/UIComponents/index.d.ts.map +1 -1
  275. package/lib/typescript/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.d.ts +21 -0
  276. package/lib/typescript/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.d.ts.map +1 -0
  277. package/lib/typescript/contexts/channelMediaListContext/ChannelMediaListContext.d.ts +21 -0
  278. package/lib/typescript/contexts/channelMediaListContext/ChannelMediaListContext.d.ts.map +1 -0
  279. package/lib/typescript/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.d.ts +21 -0
  280. package/lib/typescript/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.d.ts.map +1 -0
  281. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +18 -2
  282. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -1
  283. package/lib/typescript/contexts/index.d.ts +3 -0
  284. package/lib/typescript/contexts/index.d.ts.map +1 -1
  285. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts +56 -1
  286. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts.map +1 -1
  287. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +56 -1
  288. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  289. package/lib/typescript/i18n/ar.json +11 -0
  290. package/lib/typescript/i18n/en.json +11 -0
  291. package/lib/typescript/i18n/es.json +11 -0
  292. package/lib/typescript/i18n/fr.json +11 -0
  293. package/lib/typescript/i18n/he.json +11 -0
  294. package/lib/typescript/i18n/hi.json +11 -0
  295. package/lib/typescript/i18n/it.json +11 -0
  296. package/lib/typescript/i18n/ja.json +11 -0
  297. package/lib/typescript/i18n/ko.json +11 -0
  298. package/lib/typescript/i18n/nl.json +11 -0
  299. package/lib/typescript/i18n/pt-br.json +11 -0
  300. package/lib/typescript/i18n/ru.json +11 -0
  301. package/lib/typescript/i18n/tr.json +11 -0
  302. package/lib/typescript/icons/folder.d.ts +4 -0
  303. package/lib/typescript/icons/folder.d.ts.map +1 -0
  304. package/lib/typescript/icons/index.d.ts +1 -0
  305. package/lib/typescript/icons/index.d.ts.map +1 -1
  306. package/lib/typescript/state-store/image-gallery-state-store.d.ts +8 -0
  307. package/lib/typescript/state-store/image-gallery-state-store.d.ts.map +1 -1
  308. package/lib/typescript/utils/i18n/Streami18n.d.ts +11 -0
  309. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  310. package/package.json +1 -1
  311. package/src/components/ChannelDetails/ChannelDetails.tsx +17 -2
  312. package/src/components/ChannelDetails/__tests__/ChannelDetails.test.tsx +29 -0
  313. package/src/components/ChannelDetails/__tests__/ChannelDetailsEditButton.test.tsx +127 -0
  314. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavHeader.test.tsx +21 -56
  315. package/src/components/ChannelDetails/__tests__/ChannelDetailsNavigationSection.test.tsx +225 -6
  316. package/src/components/ChannelDetails/__tests__/useFileAttachmentListSections.test.tsx +159 -0
  317. package/src/components/ChannelDetails/__tests__/useMediaList.test.tsx +53 -0
  318. package/src/components/ChannelDetails/components/ChannelDetailsActionItem.tsx +6 -1
  319. package/src/components/ChannelDetails/components/ChannelDetailsEditButton.tsx +50 -0
  320. package/src/components/ChannelDetails/components/ChannelDetailsNavHeader.tsx +6 -33
  321. package/src/components/ChannelDetails/components/ChannelDetailsNavigationSection.tsx +80 -32
  322. package/src/components/ChannelDetails/components/ChannelDetailsProfile.tsx +2 -1
  323. package/src/components/ChannelDetails/components/ChannelEditImageSheet.tsx +2 -2
  324. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentItem.test.tsx +80 -0
  325. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentList.test.tsx +334 -0
  326. package/src/components/ChannelDetails/components/__tests__/navigation-section/FileAttachmentListSectionHeader.test.tsx +19 -0
  327. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaItem.test.tsx +97 -0
  328. package/src/components/ChannelDetails/components/__tests__/navigation-section/MediaList.test.tsx +351 -0
  329. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageItem.test.tsx +112 -0
  330. package/src/components/ChannelDetails/components/__tests__/navigation-section/PinnedMessageList.test.tsx +324 -0
  331. package/src/components/ChannelDetails/components/index.ts +3 -0
  332. package/src/components/ChannelDetails/components/members/ChannelMemberItem.tsx +6 -1
  333. package/src/components/ChannelDetails/components/modal/Modal.tsx +37 -24
  334. package/src/components/ChannelDetails/components/modal/ModalHeader.tsx +11 -4
  335. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentItem.tsx +92 -0
  336. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentList.tsx +204 -0
  337. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentListLoadingSkeleton.tsx +23 -0
  338. package/src/components/ChannelDetails/components/navigation-section/FileAttachmentListSectionHeader.tsx +56 -0
  339. package/src/components/ChannelDetails/components/navigation-section/MediaItem.tsx +160 -0
  340. package/src/components/ChannelDetails/components/navigation-section/MediaList.tsx +244 -0
  341. package/src/components/ChannelDetails/components/navigation-section/MediaListLoadingSkeleton.tsx +66 -0
  342. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageItem.tsx +94 -0
  343. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageList.tsx +198 -0
  344. package/src/components/ChannelDetails/components/navigation-section/PinnedMessageListLoadingSkeleton.tsx +23 -0
  345. package/src/components/ChannelDetails/components/navigation-section/index.ts +10 -0
  346. package/src/components/ChannelDetails/hooks/index.ts +3 -0
  347. package/src/components/ChannelDetails/hooks/useChannelDetailsNavigationItems.ts +108 -0
  348. package/src/components/ChannelDetails/hooks/useFileAttachmentListSections.ts +79 -0
  349. package/src/components/ChannelDetails/hooks/useMediaList.ts +51 -0
  350. package/src/components/ImageGallery/ImageGallery.tsx +41 -120
  351. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +4 -1
  352. package/src/components/ImageGallery/__tests__/ImageGalleryAdjustable.test.tsx +5 -4
  353. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +9 -11
  354. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +28 -15
  355. package/src/components/ImageGallery/components/ImageGalleryA11yProbe.tsx +82 -0
  356. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +21 -18
  357. package/src/components/ImageGallery/hooks/useAnimatedGalleryStyle.tsx +5 -5
  358. package/src/components/ImageGallery/hooks/useCurrentImageHeight.ts +86 -0
  359. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +42 -51
  360. package/src/components/UIComponents/EmptyList.tsx +80 -0
  361. package/src/components/UIComponents/__tests__/EmptyList.test.tsx +90 -0
  362. package/src/components/UIComponents/index.ts +1 -0
  363. package/src/components/ui/Avatar/AvatarGroup.tsx +3 -3
  364. package/src/components/ui/Avatar/constants.ts +2 -2
  365. package/src/contexts/channelFileAttachmentListContext/ChannelFileAttachmentListContext.tsx +67 -0
  366. package/src/contexts/channelMediaListContext/ChannelMediaListContext.tsx +68 -0
  367. package/src/contexts/channelPinnedMessageListContext/ChannelPinnedMessageListContext.tsx +72 -0
  368. package/src/contexts/componentsContext/defaultComponents.ts +16 -1
  369. package/src/contexts/index.ts +3 -0
  370. package/src/contexts/themeContext/utils/theme.ts +112 -2
  371. package/src/i18n/ar.json +11 -0
  372. package/src/i18n/en.json +11 -0
  373. package/src/i18n/es.json +11 -0
  374. package/src/i18n/fr.json +11 -0
  375. package/src/i18n/he.json +11 -0
  376. package/src/i18n/hi.json +11 -0
  377. package/src/i18n/it.json +11 -0
  378. package/src/i18n/ja.json +11 -0
  379. package/src/i18n/ko.json +11 -0
  380. package/src/i18n/nl.json +11 -0
  381. package/src/i18n/pt-br.json +11 -0
  382. package/src/i18n/ru.json +11 -0
  383. package/src/i18n/tr.json +11 -0
  384. package/src/icons/folder.tsx +28 -0
  385. package/src/icons/index.ts +1 -0
  386. package/src/state-store/__tests__/image-gallery-state-store.test.ts +81 -0
  387. package/src/state-store/image-gallery-state-store.ts +27 -1
  388. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { SharedValue } from 'react-native-reanimated';
1
2
  import { Attachment, LocalMessage, StateStore, Unsubscribe, UserResponse } from 'stream-chat';
2
3
  import { VideoPlayerPool } from './video-player-pool';
3
4
  export type ImageGalleryAsset = {
@@ -29,6 +30,13 @@ export declare class ImageGalleryStateStore {
29
30
  state: StateStore<ImageGalleryState>;
30
31
  options: ImageGalleryOptions;
31
32
  videoPlayerPool: VideoPlayerPool;
33
+ /**
34
+ * SharedValue mirror of `state.currentIndex` for worklet consumers (gesture
35
+ * handlers, animated styles). Maintained in lockstep with the setter and the
36
+ * reset path in `clear()`. Reads from worklets bypass the JS bridge entirely;
37
+ * any code path that updates `currentIndex` must keep this mirror in sync.
38
+ */
39
+ currentIndexShared: SharedValue<number>;
32
40
  constructor(options?: Partial<ImageGalleryOptions>);
33
41
  get messages(): LocalMessage[];
34
42
  get selectedAttachmentUrl(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"image-gallery-state-store.d.ts","sourceRoot":"","sources":["../../../src/state-store/image-gallery-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAgBF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAUF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;CACvD,CAAC;AAOF,qBAAa,sBAAsB;IACjC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;gBAErB,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAOtD,IAAI,QAAQ,IAuEW,YAAY,EAAE,CArEpC;IAED,IAAI,qBAAqB,IAuEwB,MAAM,GAAG,SAAS,CArElE;IAED,IAAI,aAAa,IA2EgB,MAAM,GAAG,IAAI,CAzE7C;IAED,IAAI,sBAAsB;;;QAsBzB;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAI9C,IAAI,MAAM;;;;;;;;;;;;;QA4BT;IAGD,IAAI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAEpC;IAED,IAAI,qBAAqB,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,EAElE;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,EAEpC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAE7C;IAGD,cAAc,GAAI,UAAU,YAAY,EAAE,UAExC;IAEF,cAAc,GAAI,UAAU,YAAY,EAAE,UAIxC;IAEF,gBAAgB,GAAI,qDAIjB;QACD,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,UAEC;IAEF,mBAAmB,oBAYjB;IAEF,gCAAgC,oBAmB9B;IAEF,qBAAqB,mBASnB;IAEF,KAAK,aAGH;CACH"}
1
+ {"version":3,"file":"image-gallery-state-store.d.ts","sourceRoot":"","sources":["../../../src/state-store/image-gallery-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAgBF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAUF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;CACvD,CAAC;AAOF,qBAAa,sBAAsB;IACjC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;OAKG;IACH,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE5B,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAQtD,IAAI,QAAQ,IAuEW,YAAY,EAAE,CArEpC;IAED,IAAI,qBAAqB,IAuEwB,MAAM,GAAG,SAAS,CArElE;IAED,IAAI,aAAa,IAyFgB,MAAM,GAAG,IAAI,CAvF7C;IAED,IAAI,sBAAsB;;;QAsBzB;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAI9C,IAAI,MAAM;;;;;;;;;;;;;QA4BT;IAGD,IAAI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAEpC;IAED,IAAI,qBAAqB,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,EAElE;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,EAgBpC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAE7C;IAGD,cAAc,GAAI,UAAU,YAAY,EAAE,UAExC;IAEF,cAAc,GAAI,UAAU,YAAY,EAAE,UAIxC;IAEF,gBAAgB,GAAI,qDAIjB;QACD,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,UAEC;IAEF,mBAAmB,oBAYjB;IAEF,gCAAgC,oBAoB9B;IAEF,qBAAqB,mBASnB;IAEF,KAAK,aAIH;CACH"}
@@ -208,6 +208,7 @@ export declare class Streami18n {
208
208
  "Loading threads...": string;
209
209
  "Loading...": string;
210
210
  Location: string;
211
+ "Long-press a message to pin it to the chat": string;
211
212
  "Mark as Unread": string;
212
213
  "Maximum number of files reached": string;
213
214
  "Message Reactions": string;
@@ -232,7 +233,10 @@ export declare class Streami18n {
232
233
  "Failed to remove members": string;
233
234
  Muted: string;
234
235
  "No chats here yet\u2026": string;
236
+ "No files": string;
235
237
  "No items exist": string;
238
+ "No photos or videos": string;
239
+ "No pinned messages": string;
236
240
  "No threads here yet": string;
237
241
  "No user found": string;
238
242
  "Not supported": string;
@@ -246,6 +250,7 @@ export declare class Streami18n {
246
250
  Options: string;
247
251
  Photo: string;
248
252
  "Photos and Videos": string;
253
+ "Share a photo or video to see it here": string;
249
254
  "Pin to Conversation": string;
250
255
  "Pinned by": string;
251
256
  "Please allow Audio permissions in settings.": string;
@@ -306,6 +311,7 @@ export declare class Streami18n {
306
311
  "duration/Remind Me": string;
307
312
  "replied to": string;
308
313
  "timestamp/ChannelPreviewStatus": string;
314
+ "timestamp/FileAttachmentListSection": string;
309
315
  "timestamp/ImageGalleryHeader": string;
310
316
  "timestamp/InlineDateSeparator": string;
311
317
  "timestamp/MessageEditedTimestamp": string;
@@ -480,6 +486,7 @@ export declare class Streami18n {
480
486
  "a11y/Select image": string;
481
487
  "a11y/Select video": string;
482
488
  "a11y/Send voice recording": string;
489
+ "a11y/Search pinned messages": string;
483
490
  "a11y/Search users to add": string;
484
491
  "a11y/Select {{name}}": string;
485
492
  "a11y/{{name}} is already a member": string;
@@ -491,6 +498,7 @@ export declare class Streami18n {
491
498
  "Contact Info": string;
492
499
  Edit: string;
493
500
  Files: string;
501
+ "Share a file to see it here": string;
494
502
  "Group Info": string;
495
503
  "timestamp/UserActivityStatus": string;
496
504
  "Photos & Videos": string;
@@ -541,7 +549,10 @@ export declare class Streami18n {
541
549
  "Failed to block user": string;
542
550
  "Failed to delete channel": string;
543
551
  "Failed to leave channel": string;
552
+ "Failed to load files": string;
553
+ "Failed to load media": string;
544
554
  "Failed to load members": string;
555
+ "Failed to load pinned messages": string;
545
556
  "Failed to load users": string;
546
557
  "Failed to play the recording": string;
547
558
  "Failed to update channel archive status": string;
@@ -1 +1 @@
1
- {"version":3,"file":"Streami18n.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/Streami18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Streami18n.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/Streami18n.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "9.4.0-beta.11",
4
+ "version": "9.4.0-beta.13",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -3,6 +3,8 @@ import { ScrollView, StyleSheet, View } from 'react-native';
3
3
 
4
4
  import type { Channel, ChannelMemberResponse } from 'stream-chat';
5
5
 
6
+ import type { GetChannelDetailsNavigationItems } from './hooks/useChannelDetailsNavigationItems';
7
+
6
8
  import {
7
9
  ChannelDetailsContextProvider,
8
10
  type ChannelDetailsContextValue,
@@ -59,6 +61,15 @@ export type ChannelDetailsProps = {
59
61
  * or add items — for example, to inject a "Send Direct Message" action in your app.
60
62
  */
61
63
  getChannelMemberActionItems?: GetChannelMemberActionItems;
64
+ /**
65
+ * Customize the navigation rows rendered in the channel details navigation section.
66
+ *
67
+ * Receives the built-in `defaultItems` (and a `context`) and returns the rows to render.
68
+ * Map over `defaultItems` to override a row's `onPress` (e.g. to push your own screen) or
69
+ * to add/remove rows. Any row whose `onPress` you leave untouched keeps its built-in
70
+ * behavior (opening the built-in modal), including sections added in future SDK versions.
71
+ */
72
+ getNavigationItems?: GetChannelDetailsNavigationItems;
62
73
  /**
63
74
  * Override the role label shown next to each member in the channel details screen.
64
75
  *
@@ -112,6 +123,7 @@ export const ChannelDetailsContent = () => {
112
123
  } = useTheme();
113
124
  const {
114
125
  ChannelDetailsActionsSection,
126
+ ChannelDetailsEditButton,
115
127
  ChannelDetailsMemberSection,
116
128
  ChannelDetailsNavigationSection,
117
129
  ChannelDetailsProfile,
@@ -128,10 +140,10 @@ export const ChannelDetailsContent = () => {
128
140
  containerOverride,
129
141
  ]}
130
142
  >
131
- <ChannelDetailsNavHeader />
143
+ <ChannelDetailsNavHeader action={<ChannelDetailsEditButton />} />
132
144
  <ScrollView contentContainerStyle={[styles.scrollContent, scrollContentOverride]}>
133
145
  <ChannelDetailsProfile />
134
- {ChannelDetailsNavigationSection ? <ChannelDetailsNavigationSection /> : null}
146
+ <ChannelDetailsNavigationSection />
135
147
  {isDirect ? null : <ChannelDetailsMemberSection />}
136
148
  <ChannelDetailsActionsSection />
137
149
  </ScrollView>
@@ -149,6 +161,7 @@ export const ChannelDetails = ({
149
161
  getChannelActionItems,
150
162
  getChannelMemberActionItems,
151
163
  getMemberRoleLabel,
164
+ getNavigationItems,
152
165
  onAddMembersPress,
153
166
  onBack,
154
167
  onChannelDismiss,
@@ -165,6 +178,7 @@ export const ChannelDetails = ({
165
178
  getChannelActionItems,
166
179
  getChannelMemberActionItems,
167
180
  getMemberRoleLabel,
181
+ getNavigationItems,
168
182
  onAddMembersPress,
169
183
  onBack,
170
184
  onChannelDismiss,
@@ -179,6 +193,7 @@ export const ChannelDetails = ({
179
193
  getChannelActionItems,
180
194
  getChannelMemberActionItems,
181
195
  getMemberRoleLabel,
196
+ getNavigationItems,
182
197
  onAddMembersPress,
183
198
  onBack,
184
199
  onChannelDismiss,
@@ -52,6 +52,15 @@ const channel = {
52
52
  on: jest.fn(() => ({ unsubscribe: jest.fn() })),
53
53
  } as unknown as Channel;
54
54
 
55
+ const buildChannel = (capabilities: string[] = []) =>
56
+ ({
57
+ cid: 'messaging:test',
58
+ data: { own_capabilities: capabilities },
59
+ id: 'test',
60
+ on: jest.fn(() => ({ unsubscribe: jest.fn() })),
61
+ state: { members: {} },
62
+ }) as unknown as Channel;
63
+
55
64
  const renderContent = () =>
56
65
  render(
57
66
  <Providers>
@@ -94,6 +103,26 @@ describe('ChannelDetailsContent', () => {
94
103
  renderContent();
95
104
  expect(screen.queryByTestId('probe-member')).toBeNull();
96
105
  });
106
+
107
+ it('displays the edit button in the header for a group channel with the update-channel capability', () => {
108
+ useIsDirectChatSpy.mockReturnValue(false);
109
+ render(
110
+ <Providers>
111
+ <WithComponents
112
+ overrides={{
113
+ ChannelDetailsActionsSection: ActionsProbe,
114
+ ChannelDetailsMemberSection: MemberProbe,
115
+ ChannelDetailsNavigationSection: NavigationProbe,
116
+ ChannelDetailsProfile: ProfileProbe,
117
+ }}
118
+ >
119
+ <ChannelDetails channel={buildChannel(['update-channel'])} />
120
+ </WithComponents>
121
+ </Providers>,
122
+ );
123
+
124
+ expect(screen.getByTestId('channel-details-edit-button')).toBeTruthy();
125
+ });
97
126
  });
98
127
  });
99
128
 
@@ -0,0 +1,127 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { Text, View } from 'react-native';
3
+
4
+ import { fireEvent, render, screen } from '@testing-library/react-native';
5
+ import { NotificationManager } from 'stream-chat';
6
+ import type { Channel } from 'stream-chat';
7
+
8
+ import { AccessibilityProvider } from '../../../contexts/accessibilityContext/AccessibilityContext';
9
+ import { ChannelDetailsContextProvider } from '../../../contexts/channelDetailsContext/channelDetailsContext';
10
+ import { ChatContext } from '../../../contexts/chatContext/ChatContext';
11
+ import { WithComponents } from '../../../contexts/componentsContext/ComponentsContext';
12
+ import { ThemeProvider } from '../../../contexts/themeContext/ThemeContext';
13
+ import { defaultTheme } from '../../../contexts/themeContext/utils/theme';
14
+ import { TranslationProvider } from '../../../contexts/translationContext/TranslationContext';
15
+ import { useChannelActions } from '../../../hooks/actions/useChannelActions';
16
+ import * as useIsDirectChatModule from '../../../hooks/useIsDirectChat';
17
+ import { ChannelDetailsEditButton } from '../components/ChannelDetailsEditButton';
18
+
19
+ jest.mock('../../../hooks/actions/useChannelActions');
20
+ const mockedUseChannelActions = jest.mocked(useChannelActions);
21
+
22
+ const EditDetailsProbe = () => (
23
+ <View testID='channel-edit-details-probe'>
24
+ <Text>edit-details</Text>
25
+ </View>
26
+ );
27
+
28
+ const buildChannel = (capabilities: string[] = []): Channel =>
29
+ ({
30
+ cid: 'messaging:test',
31
+ data: { own_capabilities: capabilities },
32
+ on: () => ({ unsubscribe: () => undefined }),
33
+ state: { members: {} },
34
+ }) as unknown as Channel;
35
+
36
+ const Providers = ({ children }: PropsWithChildren) => (
37
+ <ThemeProvider theme={defaultTheme}>
38
+ <AccessibilityProvider value={{ enabled: true }}>
39
+ <TranslationProvider
40
+ value={{
41
+ t: ((key: string) => key) as never,
42
+ tDateTimeParser: ((input: unknown) => input) as never,
43
+ userLanguage: 'en',
44
+ }}
45
+ >
46
+ <ChatContext.Provider
47
+ value={{ client: { notifications: new NotificationManager(), userID: 'me' } } as never}
48
+ >
49
+ {children}
50
+ </ChatContext.Provider>
51
+ </TranslationProvider>
52
+ </AccessibilityProvider>
53
+ </ThemeProvider>
54
+ );
55
+
56
+ const renderEditButton = ({
57
+ channel,
58
+ onEditChannelPress,
59
+ }: {
60
+ channel: Channel;
61
+ onEditChannelPress?: () => void;
62
+ }) =>
63
+ render(
64
+ <Providers>
65
+ <WithComponents overrides={{ ChannelEditDetails: EditDetailsProbe }}>
66
+ <ChannelDetailsContextProvider value={{ channel, onEditChannelPress }}>
67
+ <ChannelDetailsEditButton />
68
+ </ChannelDetailsContextProvider>
69
+ </WithComponents>
70
+ </Providers>,
71
+ );
72
+
73
+ describe('ChannelDetailsEditButton', () => {
74
+ beforeEach(() => {
75
+ jest.spyOn(useIsDirectChatModule, 'useIsDirectChat').mockReturnValue(false);
76
+ mockedUseChannelActions.mockReturnValue({
77
+ updateImage: jest.fn(),
78
+ updateName: jest.fn(),
79
+ } as unknown as ReturnType<typeof useChannelActions>);
80
+ });
81
+
82
+ afterEach(() => {
83
+ jest.restoreAllMocks();
84
+ mockedUseChannelActions.mockReset();
85
+ });
86
+
87
+ it('does not render the Edit button when the user lacks the update-channel capability', () => {
88
+ renderEditButton({ channel: buildChannel([]) });
89
+
90
+ expect(screen.queryByTestId('channel-details-edit-button')).toBeNull();
91
+ });
92
+
93
+ it('renders the Edit button when the user has the update-channel capability', () => {
94
+ renderEditButton({ channel: buildChannel(['update-channel']) });
95
+
96
+ const button = screen.getByTestId('channel-details-edit-button');
97
+ expect(button).toBeTruthy();
98
+ expect(screen.getByText('Edit')).toBeTruthy();
99
+ });
100
+
101
+ it('does not render the Edit button in a direct (1:1) channel even with the update-channel capability', () => {
102
+ jest.spyOn(useIsDirectChatModule, 'useIsDirectChat').mockReturnValue(true);
103
+
104
+ renderEditButton({ channel: buildChannel(['update-channel']) });
105
+
106
+ expect(screen.queryByTestId('channel-details-edit-button')).toBeNull();
107
+ });
108
+
109
+ it('invokes onEditChannelPress when the Edit button is pressed', () => {
110
+ const onEditChannelPress = jest.fn();
111
+ renderEditButton({ channel: buildChannel(['update-channel']), onEditChannelPress });
112
+
113
+ fireEvent.press(screen.getByTestId('channel-details-edit-button'));
114
+
115
+ expect(onEditChannelPress).toHaveBeenCalledTimes(1);
116
+ });
117
+
118
+ it('opens the edit modal when the Edit button is pressed and onEditChannelPress is not provided', () => {
119
+ renderEditButton({ channel: buildChannel(['update-channel']) });
120
+
121
+ expect(screen.queryByTestId('channel-edit-details-probe')).toBeNull();
122
+
123
+ fireEvent.press(screen.getByTestId('channel-details-edit-button'));
124
+
125
+ expect(screen.getByTestId('channel-edit-details-probe')).toBeTruthy();
126
+ });
127
+ });
@@ -1,27 +1,22 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import { Text, View } from 'react-native';
3
3
 
4
- import { fireEvent, render, screen } from '@testing-library/react-native';
4
+ import { render, screen } from '@testing-library/react-native';
5
5
  import { NotificationManager } from 'stream-chat';
6
6
  import type { Channel } from 'stream-chat';
7
7
 
8
8
  import { AccessibilityProvider } from '../../../contexts/accessibilityContext/AccessibilityContext';
9
9
  import { ChannelDetailsContextProvider } from '../../../contexts/channelDetailsContext/channelDetailsContext';
10
10
  import { ChatContext } from '../../../contexts/chatContext/ChatContext';
11
- import { WithComponents } from '../../../contexts/componentsContext/ComponentsContext';
12
11
  import { ThemeProvider } from '../../../contexts/themeContext/ThemeContext';
13
12
  import { defaultTheme } from '../../../contexts/themeContext/utils/theme';
14
13
  import { TranslationProvider } from '../../../contexts/translationContext/TranslationContext';
15
- import { useChannelActions } from '../../../hooks/actions/useChannelActions';
16
14
  import * as useIsDirectChatModule from '../../../hooks/useIsDirectChat';
17
15
  import { ChannelDetailsNavHeader } from '../components/ChannelDetailsNavHeader';
18
16
 
19
- jest.mock('../../../hooks/actions/useChannelActions');
20
- const mockedUseChannelActions = jest.mocked(useChannelActions);
21
-
22
- const EditDetailsProbe = () => (
23
- <View testID='channel-edit-details-probe'>
24
- <Text>edit-details</Text>
17
+ const ActionProbe = () => (
18
+ <View testID='channel-details-action-probe'>
19
+ <Text>action</Text>
25
20
  </View>
26
21
  );
27
22
 
@@ -54,77 +49,49 @@ const Providers = ({ children }: PropsWithChildren) => (
54
49
  );
55
50
 
56
51
  const renderHeader = ({
52
+ action,
57
53
  channel,
58
54
  onBack,
59
- onEditChannelPress,
60
55
  }: {
56
+ action?: React.ReactNode;
61
57
  channel: Channel;
62
58
  onBack?: () => void;
63
- onEditChannelPress?: () => void;
64
59
  }) =>
65
60
  render(
66
61
  <Providers>
67
- <WithComponents overrides={{ ChannelEditDetails: EditDetailsProbe }}>
68
- <ChannelDetailsContextProvider value={{ channel, onBack, onEditChannelPress }}>
69
- <ChannelDetailsNavHeader />
70
- </ChannelDetailsContextProvider>
71
- </WithComponents>
62
+ <ChannelDetailsContextProvider value={{ channel, onBack }}>
63
+ <ChannelDetailsNavHeader action={action} />
64
+ </ChannelDetailsContextProvider>
72
65
  </Providers>,
73
66
  );
74
67
 
75
68
  describe('ChannelDetailsNavHeader', () => {
76
69
  beforeEach(() => {
77
70
  jest.spyOn(useIsDirectChatModule, 'useIsDirectChat').mockReturnValue(false);
78
- mockedUseChannelActions.mockReturnValue({
79
- updateImage: jest.fn(),
80
- updateName: jest.fn(),
81
- } as unknown as ReturnType<typeof useChannelActions>);
82
71
  });
83
72
 
84
73
  afterEach(() => {
85
74
  jest.restoreAllMocks();
86
- mockedUseChannelActions.mockReset();
87
75
  });
88
76
 
89
- it('does not render the Edit button when the user lacks the update-channel capability', () => {
90
- renderHeader({ channel: buildChannel([]) });
77
+ it('renders the action node passed via the action slot', () => {
78
+ renderHeader({ action: <ActionProbe />, channel: buildChannel([]) });
91
79
 
92
- expect(screen.queryByTestId('channel-details-edit-button')).toBeNull();
80
+ expect(screen.getByTestId('channel-details-action-probe')).toBeTruthy();
93
81
  });
94
82
 
95
- it('renders the Edit button when the user has the update-channel capability', () => {
96
- renderHeader({ channel: buildChannel(['update-channel']) });
83
+ it('resolves the group info title for a non-direct channel', () => {
84
+ renderHeader({ channel: buildChannel([]) });
97
85
 
98
- const button = screen.getByTestId('channel-details-edit-button');
99
- expect(button).toBeTruthy();
100
- expect(screen.getByText('Edit')).toBeTruthy();
86
+ expect(screen.getByText('Group Info')).toBeTruthy();
101
87
  });
102
88
 
103
- it('does not render the Edit button in a direct (1:1) channel even with the update-channel capability', () => {
89
+ it('resolves the contact info title for a direct (1:1) channel', () => {
104
90
  jest.spyOn(useIsDirectChatModule, 'useIsDirectChat').mockReturnValue(true);
105
91
 
106
- renderHeader({ channel: buildChannel(['update-channel']) });
107
-
108
- expect(screen.queryByTestId('channel-details-edit-button')).toBeNull();
109
- });
110
-
111
- it('invokes onEditChannelPress when the Edit button is pressed', () => {
112
- const onEditChannelPress = jest.fn();
113
- renderHeader({ channel: buildChannel(['update-channel']), onEditChannelPress });
114
-
115
- fireEvent.press(screen.getByTestId('channel-details-edit-button'));
116
-
117
- expect(onEditChannelPress).toHaveBeenCalledTimes(1);
118
- });
119
-
120
- it('opens the edit modal when the Edit button is pressed and onEditChannelPress is not provided', () => {
121
- renderHeader({ channel: buildChannel(['update-channel']) });
122
-
123
- expect(screen.queryByTestId('channel-edit-details-probe')).toBeNull();
124
-
125
- fireEvent.press(screen.getByTestId('channel-details-edit-button'));
92
+ renderHeader({ channel: buildChannel([]) });
126
93
 
127
- expect(screen.getByTestId('channel-edit-details-probe')).toBeTruthy();
94
+ expect(screen.getByText('Contact Info')).toBeTruthy();
128
95
  });
129
96
 
130
97
  it('renders the back button only when onBack is provided', () => {
@@ -133,11 +100,9 @@ describe('ChannelDetailsNavHeader', () => {
133
100
 
134
101
  rerender(
135
102
  <Providers>
136
- <WithComponents overrides={{ ChannelEditDetails: EditDetailsProbe }}>
137
- <ChannelDetailsContextProvider value={{ channel: buildChannel([]), onBack: jest.fn() }}>
138
- <ChannelDetailsNavHeader />
139
- </ChannelDetailsContextProvider>
140
- </WithComponents>
103
+ <ChannelDetailsContextProvider value={{ channel: buildChannel([]), onBack: jest.fn() }}>
104
+ <ChannelDetailsNavHeader />
105
+ </ChannelDetailsContextProvider>
141
106
  </Providers>,
142
107
  );
143
108