@sendbird/uikit-react-native 2.5.0 → 3.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +6 -1
  2. package/lib/commonjs/components/{MessageRenderer/MessageTime.js → ChannelInput/AttachmentsButton.js} +20 -17
  3. package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -0
  4. package/lib/commonjs/components/ChannelInput/EditInput.js +10 -18
  5. package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
  6. package/lib/commonjs/components/ChannelInput/SendInput.js +220 -163
  7. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  8. package/lib/commonjs/components/ChannelInput/index.js +5 -3
  9. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  10. package/lib/commonjs/components/ChannelMessageList/index.js +27 -27
  11. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  12. package/lib/commonjs/components/ChatFlatList/FlatListInternal.js +33 -0
  13. package/lib/commonjs/components/ChatFlatList/FlatListInternal.js.map +1 -0
  14. package/lib/commonjs/components/{ChatFlatList.js → ChatFlatList/index.js} +5 -7
  15. package/lib/commonjs/components/ChatFlatList/index.js.map +1 -0
  16. package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  17. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  18. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
  19. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  20. package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
  21. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  22. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
  23. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
  24. package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
  25. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
  26. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
  27. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
  28. package/lib/commonjs/constants.js +1 -7
  29. package/lib/commonjs/constants.js.map +1 -1
  30. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
  31. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  32. package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
  33. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  34. package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
  35. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  36. package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
  37. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  38. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
  39. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  40. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  41. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
  42. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  43. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  44. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  45. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  46. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  47. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  48. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
  49. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  50. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  51. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
  52. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  53. package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
  54. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
  55. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  56. package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
  57. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  58. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
  59. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  60. package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
  61. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  62. package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
  63. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
  64. package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
  65. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  66. package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
  67. package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
  68. package/lib/commonjs/hooks/useConnection.js +11 -7
  69. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  70. package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
  71. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
  72. package/lib/commonjs/index.js +20 -4
  73. package/lib/commonjs/index.js.map +1 -1
  74. package/lib/commonjs/libs/MentionManager.js +8 -9
  75. package/lib/commonjs/libs/MentionManager.js.map +1 -1
  76. package/lib/commonjs/libs/SBUUtils.js +7 -3
  77. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  78. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  79. package/lib/commonjs/localization/createBaseStringSet.js +20 -62
  80. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  81. package/lib/commonjs/version.js +1 -1
  82. package/lib/commonjs/version.js.map +1 -1
  83. package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
  84. package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
  85. package/lib/module/components/ChannelInput/EditInput.js +10 -18
  86. package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
  87. package/lib/module/components/ChannelInput/SendInput.js +221 -164
  88. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  89. package/lib/module/components/ChannelInput/index.js +5 -3
  90. package/lib/module/components/ChannelInput/index.js.map +1 -1
  91. package/lib/module/components/ChannelMessageList/index.js +28 -28
  92. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  93. package/lib/module/components/ChatFlatList/FlatListInternal.js +26 -0
  94. package/lib/module/components/ChatFlatList/FlatListInternal.js.map +1 -0
  95. package/lib/module/components/{ChatFlatList.js → ChatFlatList/index.js} +4 -7
  96. package/lib/module/components/ChatFlatList/index.js.map +1 -0
  97. package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  98. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  99. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
  100. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  101. package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
  102. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  103. package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
  104. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
  105. package/lib/module/components/MessageSearchResultItem.js +2 -1
  106. package/lib/module/components/MessageSearchResultItem.js.map +1 -1
  107. package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
  108. package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
  109. package/lib/module/constants.js +0 -5
  110. package/lib/module/constants.js.map +1 -1
  111. package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
  112. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  113. package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
  114. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  115. package/lib/module/contexts/SendbirdChatCtx.js +17 -14
  116. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  117. package/lib/module/contexts/UserProfileCtx.js +6 -4
  118. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  119. package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
  120. package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  121. package/lib/module/domain/groupChannel/types.js.map +1 -1
  122. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
  123. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  124. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  125. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  126. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  127. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  128. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  129. package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
  130. package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  131. package/lib/module/domain/openChannel/types.js.map +1 -1
  132. package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
  133. package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  134. package/lib/module/domain/openChannelList/types.js.map +1 -1
  135. package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
  136. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  137. package/lib/module/fragments/createGroupChannelFragment.js +24 -102
  138. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  139. package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
  140. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  141. package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
  142. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  143. package/lib/module/fragments/createMessageSearchFragment.js +1 -1
  144. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
  145. package/lib/module/fragments/createOpenChannelFragment.js +2 -8
  146. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  147. package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
  148. package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
  149. package/lib/module/hooks/useConnection.js +11 -7
  150. package/lib/module/hooks/useConnection.js.map +1 -1
  151. package/lib/module/hooks/useMentionTextInput.js +3 -2
  152. package/lib/module/hooks/useMentionTextInput.js.map +1 -1
  153. package/lib/module/index.js +5 -2
  154. package/lib/module/index.js.map +1 -1
  155. package/lib/module/libs/MentionManager.js +8 -9
  156. package/lib/module/libs/MentionManager.js.map +1 -1
  157. package/lib/module/libs/SBUUtils.js +7 -3
  158. package/lib/module/libs/SBUUtils.js.map +1 -1
  159. package/lib/module/localization/StringSet.type.js.map +1 -1
  160. package/lib/module/localization/createBaseStringSet.js +20 -62
  161. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  162. package/lib/module/version.js +1 -1
  163. package/lib/module/version.js.map +1 -1
  164. package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
  165. package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
  166. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
  167. package/lib/typescript/src/components/ChatFlatList/FlatListInternal.d.ts +20 -0
  168. package/lib/typescript/src/components/{ChatFlatList.d.ts → ChatFlatList/index.d.ts} +1 -5
  169. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
  170. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
  171. package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
  172. package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
  173. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
  174. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
  175. package/lib/typescript/src/constants.d.ts +0 -5
  176. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +16 -11
  177. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
  178. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
  179. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
  180. package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
  181. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
  182. package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
  183. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  184. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
  185. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
  186. package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
  187. package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
  188. package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
  189. package/lib/typescript/src/index.d.ts +4 -1
  190. package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
  191. package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
  192. package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
  193. package/lib/typescript/src/version.d.ts +1 -1
  194. package/package.json +14 -10
  195. package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
  196. package/src/components/ChannelInput/EditInput.tsx +17 -18
  197. package/src/components/ChannelInput/SendInput.tsx +237 -181
  198. package/src/components/ChannelInput/index.tsx +8 -21
  199. package/src/components/ChannelMessageList/index.tsx +33 -41
  200. package/src/components/ChatFlatList/FlatListInternal.tsx +40 -0
  201. package/src/components/{ChatFlatList.tsx → ChatFlatList/index.tsx} +7 -12
  202. package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
  203. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
  204. package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
  205. package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
  206. package/src/components/MessageSearchResultItem.tsx +3 -1
  207. package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
  208. package/src/constants.ts +0 -5
  209. package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
  210. package/src/containers/SendbirdUIKitContainer.tsx +98 -90
  211. package/src/contexts/SendbirdChatCtx.tsx +49 -36
  212. package/src/contexts/UserProfileCtx.tsx +10 -5
  213. package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
  214. package/src/domain/groupChannel/types.ts +1 -14
  215. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
  216. package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
  217. package/src/domain/groupChannelList/types.ts +8 -30
  218. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
  219. package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
  220. package/src/domain/openChannel/types.ts +1 -1
  221. package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
  222. package/src/domain/openChannelList/types.ts +6 -13
  223. package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
  224. package/src/fragments/createGroupChannelFragment.tsx +21 -97
  225. package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
  226. package/src/fragments/createGroupChannelListFragment.tsx +9 -15
  227. package/src/fragments/createMessageSearchFragment.tsx +1 -1
  228. package/src/fragments/createOpenChannelFragment.tsx +2 -3
  229. package/src/fragments/createOpenChannelListFragment.tsx +2 -1
  230. package/src/hooks/useConnection.ts +9 -7
  231. package/src/hooks/useMentionTextInput.ts +7 -2
  232. package/src/index.ts +4 -2
  233. package/src/libs/MentionManager.tsx +8 -7
  234. package/src/libs/SBUUtils.ts +7 -3
  235. package/src/localization/StringSet.type.ts +2 -46
  236. package/src/localization/createBaseStringSet.ts +19 -71
  237. package/src/version.ts +1 -1
  238. package/lib/commonjs/components/ChatFlatList.js.map +0 -1
  239. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
  240. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  241. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
  242. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  243. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
  244. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  245. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
  246. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  247. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
  248. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
  249. package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
  250. package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
  251. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  252. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
  253. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  254. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
  255. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  256. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  257. package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
  258. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
  259. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  260. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
  261. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  262. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
  263. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  264. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
  265. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
  266. package/lib/commonjs/components/MessageRenderer/index.js +0 -186
  267. package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
  268. package/lib/module/components/ChatFlatList.js.map +0 -1
  269. package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
  270. package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  271. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
  272. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  273. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
  274. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  275. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
  276. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  277. package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
  278. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
  279. package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
  280. package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
  281. package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  282. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
  283. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  284. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
  285. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  286. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  287. package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
  288. package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
  289. package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
  290. package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  291. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
  292. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  293. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
  294. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  295. package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
  296. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
  297. package/lib/module/components/MessageRenderer/index.js +0 -178
  298. package/lib/module/components/MessageRenderer/index.js.map +0 -1
  299. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
  300. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
  301. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
  302. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
  303. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
  304. package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
  305. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
  306. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
  307. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
  308. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
  309. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
  310. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
  311. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
  312. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
  313. package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
  314. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
  315. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
  316. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
  317. package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
  318. package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
  319. package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
  320. package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
  321. package/src/components/MessageRenderer/MessageTime.tsx +0 -28
  322. package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
  323. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
  324. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
  325. package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
  326. package/src/components/MessageRenderer/index.tsx +0 -198
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_FlatListInternal","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ANDROID_BUG_ALERT_SHOWED","Platform","OS","BOTTOM_DETECT_THRESHOLD","UNREACHABLE_THRESHOLD","Number","MIN_SAFE_INTEGER","ChatFlatList","forwardRef","CustomFlatList","_ref","ref","_props$data","onTopReached","onBottomReached","onScrolledAwayFromBottom","onScroll","props","select","useUIKitTheme","contentOffsetY","useRef","_onScroll","useFreshCallback","event","contentOffset","nativeEvent","prevOffsetY","current","currOffsetY","y","__DEV__","console","warn","createElement","bounces","removeClippedSubviews","keyboardDismissMode","keyboardShouldPersistTaps","indicatorStyle","light","dark","inverted","Boolean","data","onEndReached","onScrollToIndexFailed","NOOP","onStartReached","scrollEventThrottle","keyExtractor","getMessageUniqId","style","flex","StyleSheet","flatten","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FlatListProps, Platform, FlatList as RNFlatList, StyleSheet } from 'react-native';\n\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP, SendbirdMessage, getMessageUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport FlatListInternal from './FlatListInternal';\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android';\nconst BOTTOM_DETECT_THRESHOLD = 25;\nconst UNREACHABLE_THRESHOLD = Number.MIN_SAFE_INTEGER;\n\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n onBottomReached: () => void;\n onTopReached: () => void;\n onScrolledAwayFromBottom: (value: boolean) => void;\n};\n// FIXME: Inverted FlatList performance issue on Android {@link https://github.com/facebook/react-native/issues/30034}\nconst ChatFlatList = forwardRef<RNFlatList, Props>(function CustomFlatList(\n { onTopReached, onBottomReached, onScrolledAwayFromBottom, onScroll, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const contentOffsetY = useRef(0);\n\n const _onScroll = useFreshCallback<NonNullable<Props['onScroll']>>((event) => {\n onScroll?.(event);\n\n const { contentOffset } = event.nativeEvent;\n\n const prevOffsetY = contentOffsetY.current;\n const currOffsetY = contentOffset.y;\n\n if (BOTTOM_DETECT_THRESHOLD < prevOffsetY && currOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(false);\n } else if (BOTTOM_DETECT_THRESHOLD < currOffsetY && prevOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(true);\n }\n\n contentOffsetY.current = contentOffset.y;\n });\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: The inverted FlatList has a performance issue on Android. Maybe this is a bug.\\n' +\n 'Please refer to the link: https://github.com/facebook/react-native/issues/30034',\n );\n }\n\n return (\n <FlatListInternal\n bounces={false}\n removeClippedSubviews\n keyboardDismissMode={'on-drag'}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n ref={ref}\n onEndReached={onTopReached}\n onScrollToIndexFailed={NOOP}\n onStartReached={onBottomReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n keyExtractor={getMessageUniqId}\n style={{ flex: 1, ...StyleSheet.flatten(props.style) }}\n maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: UNREACHABLE_THRESHOLD }}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ var _reactNative = require("react-native");
10
10
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
11
11
  var _useContext = require("../../hooks/useContext");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- const MessageDateSeparator = _ref => {
13
+ const GroupChannelMessageDateSeparator = _ref => {
14
14
  let {
15
15
  message,
16
16
  prevMessage
@@ -45,6 +45,6 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
45
45
  paddingHorizontal: 10
46
46
  }
47
47
  });
48
- var _default = MessageDateSeparator;
48
+ var _default = GroupChannelMessageDateSeparator;
49
49
  exports.default = _default;
50
- //# sourceMappingURL=MessageDateSeparator.js.map
50
+ //# sourceMappingURL=GroupChannelMessageDateSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_isSameDay","_interopRequireDefault","require","_react","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","GroupChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","useLocalization","colors","useUIKitTheme","sameDay","isSameDay","createdAt","createElement","View","style","styles","container","view","backgroundColor","ui","dateSeparator","none","background","Text","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","createStyleSheet","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal","_default","exports"],"sources":["GroupChannelMessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst GroupChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default GroupChannelMessageDateSeparator;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAJ,OAAA;AAAyD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,gCAAgC,GAAGC,IAAA,IAMnC;EAAA,IANoC;IACxCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,OAAO,GAAG,IAAAC,kBAAS,EAACP,OAAO,CAACQ,SAAS,EAAE,CAAAP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,SAAS,KAAI,CAAC,CAAC;EACzE,IAAIF,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEf,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BtB,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAEX,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/F5B,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAAChB,2BAAA,CAAA2B,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAElB,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACK;EAAK,GAC7DrB,OAAO,CAACsB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC1B,OAAO,CAACQ,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMI,MAAM,GAAG,IAAAe,4CAAgB,EAAC;EAC9Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,gCAAgC;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _constants = require("../../constants");
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ const GroupChannelMessageFocusAnimation = props => {
13
+ const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
14
+ (0, _react.useEffect)(() => {
15
+ if (props.focused) {
16
+ setTimeout(() => {
17
+ _reactNative.Animated.sequence([{
18
+ toValue: -10,
19
+ duration: 500
20
+ }, {
21
+ toValue: 0,
22
+ duration: 100
23
+ }, {
24
+ toValue: -10,
25
+ duration: 200
26
+ }, {
27
+ toValue: 0,
28
+ duration: 100
29
+ }].map(value => _reactNative.Animated.timing(translateY, {
30
+ ...value,
31
+ useNativeDriver: true,
32
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.ease)
33
+ }))).start();
34
+ }, _constants.MESSAGE_SEARCH_SAFE_SCROLL_DELAY + _constants.MESSAGE_FOCUS_ANIMATION_DELAY);
35
+ }
36
+ }, [props.focused]);
37
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
38
+ style: {
39
+ transform: [{
40
+ translateY
41
+ }]
42
+ }
43
+ }, props.children);
44
+ };
45
+ var _default = GroupChannelMessageFocusAnimation;
46
+ exports.default = _default;
47
+ //# sourceMappingURL=GroupChannelMessageFocusAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupChannelMessageFocusAnimation","props","translateY","useRef","Animated","Value","current","useEffect","focused","setTimeout","sequence","toValue","duration","map","value","timing","useNativeDriver","easing","Easing","inOut","ease","start","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","createElement","View","style","transform","children","_default","exports"],"sources":["GroupChannelMessageFocusAnimation.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../constants';\n\nconst GroupChannelMessageFocusAnimation = (props: React.PropsWithChildren<{ focused: boolean }>) => {\n const translateY = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n if (props.focused) {\n setTimeout(() => {\n Animated.sequence(\n [\n { toValue: -10, duration: 500 },\n { toValue: 0, duration: 100 },\n { toValue: -10, duration: 200 },\n { toValue: 0, duration: 100 },\n ].map((value) =>\n Animated.timing(translateY, { ...value, useNativeDriver: true, easing: Easing.inOut(Easing.ease) }),\n ),\n ).start();\n }, MESSAGE_SEARCH_SAFE_SCROLL_DELAY + MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n }, [props.focused]);\n\n return <Animated.View style={{ transform: [{ translateY }] }}>{props.children}</Animated.View>;\n};\n\nexport default GroupChannelMessageFocusAnimation;\n"],"mappings":"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"}
@@ -10,12 +10,14 @@ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundati
10
10
  var _useContext = require("../../hooks/useContext");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  const SIZE = 16;
13
- const MessageOutgoingStatus = _ref => {
13
+ const GroupChannelMessageOutgoingStatus = _ref => {
14
14
  let {
15
15
  channel,
16
- message
16
+ message,
17
+ style
17
18
  } = _ref;
18
19
  if (!message.isUserMessage() && !message.isFileMessage()) return null;
20
+ if (channel.isEphemeral) return null;
19
21
  const {
20
22
  sdk
21
23
  } = (0, _useContext.useSendbirdChat)();
@@ -26,7 +28,7 @@ const MessageOutgoingStatus = _ref => {
26
28
  if (outgoingStatus === 'PENDING') {
27
29
  return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.LoadingSpinner, {
28
30
  size: SIZE,
29
- style: styles.container
31
+ style: style
30
32
  });
31
33
  }
32
34
  if (outgoingStatus === 'FAILED') {
@@ -34,7 +36,7 @@ const MessageOutgoingStatus = _ref => {
34
36
  icon: 'error',
35
37
  size: SIZE,
36
38
  color: colors.error,
37
- style: styles.container
39
+ style: style
38
40
  });
39
41
  }
40
42
  if (outgoingStatus === 'READ') {
@@ -42,7 +44,7 @@ const MessageOutgoingStatus = _ref => {
42
44
  icon: 'done-all',
43
45
  size: SIZE,
44
46
  color: colors.secondary,
45
- style: styles.container
47
+ style: style
46
48
  });
47
49
  }
48
50
  if (outgoingStatus === 'UNREAD' || outgoingStatus === 'DELIVERED') {
@@ -50,7 +52,7 @@ const MessageOutgoingStatus = _ref => {
50
52
  icon: 'done-all',
51
53
  size: SIZE,
52
54
  color: colors.onBackground03,
53
- style: styles.container
55
+ style: style
54
56
  });
55
57
  }
56
58
  if (outgoingStatus === 'UNDELIVERED') {
@@ -58,16 +60,11 @@ const MessageOutgoingStatus = _ref => {
58
60
  icon: 'done',
59
61
  size: SIZE,
60
62
  color: colors.onBackground03,
61
- style: styles.container
63
+ style: style
62
64
  });
63
65
  }
64
66
  return null;
65
67
  };
66
- const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
67
- container: {
68
- marginRight: 4
69
- }
70
- });
71
- var _default = /*#__PURE__*/_react.default.memo(MessageOutgoingStatus);
68
+ var _default = /*#__PURE__*/_react.default.memo(GroupChannelMessageOutgoingStatus);
72
69
  exports.default = _default;
73
- //# sourceMappingURL=MessageOutgoingStatus.js.map
70
+ //# sourceMappingURL=GroupChannelMessageOutgoingStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitChatHooks","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","SIZE","GroupChannelMessageOutgoingStatus","_ref","channel","message","style","isUserMessage","isFileMessage","isEphemeral","sdk","useSendbirdChat","colors","useUIKitTheme","outgoingStatus","useMessageOutgoingStatus","createElement","LoadingSpinner","size","Icon","icon","color","error","secondary","onBackground03","_default","React","memo","exports"],"sources":["GroupChannelMessageOutgoingStatus.tsx"],"sourcesContent":["import React from 'react';\nimport type { ImageStyle, StyleProp } from 'react-native';\n\nimport { useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport { Icon, LoadingSpinner, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel, SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\n\nconst SIZE = 16;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n message: SendbirdMessage;\n style?: StyleProp<ImageStyle>;\n};\nconst GroupChannelMessageOutgoingStatus = ({ channel, message, style }: Props) => {\n if (!message.isUserMessage() && !message.isFileMessage()) return null;\n if (channel.isEphemeral) return null;\n\n const { sdk } = useSendbirdChat();\n const { colors } = useUIKitTheme();\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, message);\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={SIZE} style={style} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={SIZE} color={colors.error} style={style} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.secondary} style={style} />;\n }\n\n if (outgoingStatus === 'UNREAD' || outgoingStatus === 'DELIVERED') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.onBackground03} style={style} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={SIZE} color={colors.onBackground03} style={style} />;\n }\n\n return null;\n};\n\nexport default React.memo(GroupChannelMessageOutgoingStatus);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AAGA,IAAAG,WAAA,GAAAH,OAAA;AAAyD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,IAAI,GAAG,EAAE;AAOf,MAAMC,iCAAiC,GAAGC,IAAA,IAAwC;EAAA,IAAvC;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAAa,CAAC,GAAAH,IAAA;EAC3E,IAAI,CAACE,OAAO,CAACE,aAAa,EAAE,IAAI,CAACF,OAAO,CAACG,aAAa,EAAE,EAAE,OAAO,IAAI;EACrE,IAAIJ,OAAO,CAACK,WAAW,EAAE,OAAO,IAAI;EAEpC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACjC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAMC,cAAc,GAAG,IAAAC,wCAAwB,EAACL,GAAG,EAAEN,OAAO,EAAEC,OAAO,CAAC;EAEtE,IAAIS,cAAc,KAAK,SAAS,EAAE;IAChC,oBAAOtB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACpB,2BAAA,CAAAqB,cAAc;MAACC,IAAI,EAAEjB,IAAK;MAACK,KAAK,EAAEA;IAAM,EAAG;EACrD;EAEA,IAAIQ,cAAc,KAAK,QAAQ,EAAE;IAC/B,oBAAOtB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACpB,2BAAA,CAAAuB,IAAI;MAACC,IAAI,EAAE,OAAQ;MAACF,IAAI,EAAEjB,IAAK;MAACoB,KAAK,EAAET,MAAM,CAACU,KAAM;MAAChB,KAAK,EAAEA;IAAM,EAAG;EAC/E;EAEA,IAAIQ,cAAc,KAAK,MAAM,EAAE;IAC7B,oBAAOtB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACpB,2BAAA,CAAAuB,IAAI;MAACC,IAAI,EAAE,UAAW;MAACF,IAAI,EAAEjB,IAAK;MAACoB,KAAK,EAAET,MAAM,CAACW,SAAU;MAACjB,KAAK,EAAEA;IAAM,EAAG;EACtF;EAEA,IAAIQ,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,WAAW,EAAE;IACjE,oBAAOtB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACpB,2BAAA,CAAAuB,IAAI;MAACC,IAAI,EAAE,UAAW;MAACF,IAAI,EAAEjB,IAAK;MAACoB,KAAK,EAAET,MAAM,CAACY,cAAe;MAAClB,KAAK,EAAEA;IAAM,EAAG;EAC3F;EAEA,IAAIQ,cAAc,KAAK,aAAa,EAAE;IACpC,oBAAOtB,MAAA,CAAAQ,OAAA,CAAAgB,aAAA,CAACpB,2BAAA,CAAAuB,IAAI;MAACC,IAAI,EAAE,MAAO;MAACF,IAAI,EAAEjB,IAAK;MAACoB,KAAK,EAAET,MAAM,CAACY,cAAe;MAAClB,KAAK,EAAEA;IAAM,EAAG;EACvF;EAEA,OAAO,IAAI;AACb,CAAC;AAAC,IAAAmB,QAAA,gBAEaC,cAAK,CAACC,IAAI,CAACzB,iCAAiC,CAAC;AAAA0B,OAAA,CAAA5B,OAAA,GAAAyB,QAAA"}
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
+ var _uikitUtils = require("@sendbird/uikit-utils");
10
+ var _useContext = require("../../hooks/useContext");
11
+ var _SBUUtils = _interopRequireDefault(require("../../libs/SBUUtils"));
12
+ var _ReactionAddons = require("../ReactionAddons");
13
+ var _GroupChannelMessageDateSeparator = _interopRequireDefault(require("./GroupChannelMessageDateSeparator"));
14
+ var _GroupChannelMessageFocusAnimation = _interopRequireDefault(require("./GroupChannelMessageFocusAnimation"));
15
+ var _GroupChannelMessageOutgoingStatus = _interopRequireDefault(require("./GroupChannelMessageOutgoingStatus"));
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
+ const GroupChannelMessageRenderer = _ref => {
19
+ let {
20
+ channel,
21
+ message,
22
+ onPress,
23
+ onLongPress,
24
+ onShowUserProfile,
25
+ enableMessageGrouping,
26
+ focused,
27
+ prevMessage,
28
+ nextMessage
29
+ } = _ref;
30
+ const {
31
+ palette
32
+ } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
33
+ const {
34
+ sbOptions,
35
+ currentUser,
36
+ mentionManager
37
+ } = (0, _useContext.useSendbirdChat)();
38
+ const {
39
+ STRINGS
40
+ } = (0, _useContext.useLocalization)();
41
+ const {
42
+ mediaService
43
+ } = (0, _useContext.usePlatformService)();
44
+ const {
45
+ groupWithPrev,
46
+ groupWithNext
47
+ } = (0, _uikitUtils.calcMessageGrouping)(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);
48
+ const reactionChildren = (0, _uikitUtils.useIIFE)(() => {
49
+ if ((0, _uikitUtils.shouldRenderReaction)(channel, sbOptions.uikitWithAppInfo.groupChannel.channel.enableReactions) && message.reactions && message.reactions.length > 0) {
50
+ return /*#__PURE__*/_react.default.createElement(_ReactionAddons.ReactionAddons.Message, {
51
+ channel: channel,
52
+ message: message
53
+ });
54
+ }
55
+ return null;
56
+ });
57
+ const messageProps = {
58
+ channel,
59
+ variant: (0, _uikitUtils.isMyMessage)(message, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ? 'outgoing' : 'incoming',
60
+ onPress,
61
+ onLongPress,
62
+ onPressURL: url => _SBUUtils.default.openURL(url),
63
+ onPressAvatar: () => {
64
+ if ('sender' in message) onShowUserProfile === null || onShowUserProfile === void 0 ? void 0 : onShowUserProfile(message.sender);
65
+ },
66
+ onPressMentionedUser: mentionedUser => {
67
+ if (mentionedUser) onShowUserProfile === null || onShowUserProfile === void 0 ? void 0 : onShowUserProfile(mentionedUser);
68
+ },
69
+ groupedWithPrev: groupWithPrev,
70
+ groupedWithNext: groupWithNext,
71
+ children: reactionChildren,
72
+ sendingStatus: (0, _uikitUtils.isMyMessage)(message, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ? /*#__PURE__*/_react.default.createElement(_GroupChannelMessageOutgoingStatus.default, {
73
+ channel: channel,
74
+ message: message
75
+ }) : null,
76
+ strings: {
77
+ edited: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,
78
+ senderName: 'sender' in message && message.sender.nickname || STRINGS.LABELS.USER_NO_NAME,
79
+ sentDate: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message),
80
+ fileName: message.isFileMessage() ? STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',
81
+ unknownTitle: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),
82
+ unknownDescription: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)
83
+ }
84
+ };
85
+ const userMessageProps = {
86
+ renderRegexTextChildren: message => {
87
+ if (mentionManager.shouldUseMentionedMessageTemplate(message, sbOptions.uikit.groupChannel.channel.enableMention)) {
88
+ return message.mentionedMessageTemplate;
89
+ } else {
90
+ return message.message;
91
+ }
92
+ },
93
+ regexTextPatterns: [{
94
+ regex: mentionManager.templateRegex,
95
+ replacer(_ref2) {
96
+ var _message$mentionedUse;
97
+ let {
98
+ match,
99
+ groups,
100
+ parentProps,
101
+ index,
102
+ keyPrefix
103
+ } = _ref2;
104
+ const user = (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.find(it => it.userId === groups[2]);
105
+ if (user) {
106
+ const mentionColor = !(0, _uikitUtils.isMyMessage)(message, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) && user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) ? palette.onBackgroundLight01 : parentProps === null || parentProps === void 0 ? void 0 : parentProps.color;
107
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, _extends({}, parentProps, {
108
+ key: `${keyPrefix}-${index}`,
109
+ color: mentionColor,
110
+ onPress: () => {
111
+ var _messageProps$onPress;
112
+ return (_messageProps$onPress = messageProps.onPressMentionedUser) === null || _messageProps$onPress === void 0 ? void 0 : _messageProps$onPress.call(messageProps, user);
113
+ },
114
+ onLongPress: messageProps.onLongPress,
115
+ style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, {
116
+ fontWeight: '700'
117
+ }, user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) && {
118
+ backgroundColor: palette.highlight
119
+ }]
120
+ }), `${mentionManager.asMentionedMessageText(user)}`);
121
+ }
122
+ return match;
123
+ }
124
+ }]
125
+ };
126
+ const renderMessage = () => {
127
+ switch ((0, _uikitUtils.getMessageType)(message)) {
128
+ case 'admin':
129
+ {
130
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.Admin, _extends({
131
+ message: message
132
+ }, messageProps));
133
+ }
134
+ case 'user':
135
+ case 'user.opengraph':
136
+ {
137
+ if (message.ogMetaData && sbOptions.uikitWithAppInfo.groupChannel.channel.enableOgtag) {
138
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.OpenGraphUser, _extends({
139
+ message: message
140
+ }, userMessageProps, messageProps));
141
+ } else {
142
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.User, _extends({
143
+ message: message
144
+ }, userMessageProps, messageProps));
145
+ }
146
+ }
147
+ case 'file':
148
+ case 'file.audio':
149
+ {
150
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.File, _extends({
151
+ message: message
152
+ }, messageProps));
153
+ }
154
+ case 'file.image':
155
+ {
156
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.ImageFile, _extends({
157
+ message: message
158
+ }, messageProps));
159
+ }
160
+ case 'file.video':
161
+ {
162
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.VideoFile, _extends({
163
+ message: message,
164
+ fetchThumbnailFromVideoSource: uri => mediaService.getVideoThumbnail({
165
+ url: uri,
166
+ timeMills: 1000
167
+ })
168
+ }, messageProps));
169
+ }
170
+ case 'unknown':
171
+ default:
172
+ {
173
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.GroupChannelMessage.Unknown, _extends({
174
+ message: message
175
+ }, messageProps));
176
+ }
177
+ }
178
+ };
179
+ const messageGap = (0, _uikitUtils.useIIFE)(() => {
180
+ if (message.isAdminMessage()) {
181
+ if (nextMessage !== null && nextMessage !== void 0 && nextMessage.isAdminMessage()) {
182
+ return 8;
183
+ } else {
184
+ return 16;
185
+ }
186
+ } else if (groupWithNext) {
187
+ return 2;
188
+ } else {
189
+ return 16;
190
+ }
191
+ });
192
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
193
+ paddingHorizontal: 16,
194
+ marginBottom: messageGap
195
+ }, /*#__PURE__*/_react.default.createElement(_GroupChannelMessageDateSeparator.default, {
196
+ message: message,
197
+ prevMessage: prevMessage
198
+ }), /*#__PURE__*/_react.default.createElement(_GroupChannelMessageFocusAnimation.default, {
199
+ focused: focused
200
+ }, renderMessage()));
201
+ };
202
+ var _default = /*#__PURE__*/_react.default.memo(GroupChannelMessageRenderer);
203
+ exports.default = _default;
204
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","_SBUUtils","_ReactionAddons","_GroupChannelMessageDateSeparator","_GroupChannelMessageFocusAnimation","_GroupChannelMessageOutgoingStatus","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","GroupChannelMessageRenderer","_ref","channel","message","onPress","onLongPress","onShowUserProfile","enableMessageGrouping","focused","prevMessage","nextMessage","palette","useUIKitTheme","sbOptions","currentUser","mentionManager","useSendbirdChat","STRINGS","useLocalization","mediaService","usePlatformService","groupWithPrev","groupWithNext","calcMessageGrouping","Boolean","reactionChildren","useIIFE","shouldRenderReaction","uikitWithAppInfo","groupChannel","enableReactions","reactions","createElement","ReactionAddons","Message","messageProps","variant","isMyMessage","userId","onPressURL","url","SBUUtils","openURL","onPressAvatar","sender","onPressMentionedUser","mentionedUser","groupedWithPrev","groupedWithNext","children","sendingStatus","strings","edited","GROUP_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","senderName","nickname","LABELS","USER_NO_NAME","sentDate","MESSAGE_BUBBLE_TIME","fileName","isFileMessage","MESSAGE_BUBBLE_FILE_TITLE","unknownTitle","MESSAGE_BUBBLE_UNKNOWN_TITLE","unknownDescription","MESSAGE_BUBBLE_UNKNOWN_DESC","userMessageProps","renderRegexTextChildren","shouldUseMentionedMessageTemplate","uikit","enableMention","mentionedMessageTemplate","regexTextPatterns","regex","templateRegex","replacer","_ref2","_message$mentionedUse","match","groups","parentProps","index","keyPrefix","user","mentionedUsers","find","it","mentionColor","onBackgroundLight01","color","Text","_messageProps$onPress","style","fontWeight","backgroundColor","highlight","asMentionedMessageText","renderMessage","getMessageType","GroupChannelMessage","Admin","ogMetaData","enableOgtag","OpenGraphUser","User","File","ImageFile","VideoFile","fetchThumbnailFromVideoSource","uri","getVideoThumbnail","timeMills","Unknown","messageGap","isAdminMessage","Box","paddingHorizontal","marginBottom","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { GroupChannelMessageProps, RegexTextPattern } from '@sendbird/uikit-react-native-foundation';\nimport { Box, GroupChannelMessage, Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdAdminMessage,\n SendbirdFileMessage,\n SendbirdMessage,\n SendbirdUserMessage,\n calcMessageGrouping,\n getMessageType,\n isMyMessage,\n shouldRenderReaction,\n useIIFE,\n} from '@sendbird/uikit-utils';\n\nimport type { GroupChannelProps } from '../../domain/groupChannel/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport { ReactionAddons } from '../ReactionAddons';\nimport GroupChannelMessageDateSeparator from './GroupChannelMessageDateSeparator';\nimport GroupChannelMessageFocusAnimation from './GroupChannelMessageFocusAnimation';\nimport GroupChannelMessageOutgoingStatus from './GroupChannelMessageOutgoingStatus';\n\nconst GroupChannelMessageRenderer: GroupChannelProps['Fragment']['renderMessage'] = ({\n channel,\n message,\n onPress,\n onLongPress,\n onShowUserProfile,\n enableMessageGrouping,\n focused,\n prevMessage,\n nextMessage,\n}) => {\n const { palette } = useUIKitTheme();\n const { sbOptions, currentUser, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { mediaService } = usePlatformService();\n const { groupWithPrev, groupWithNext } = calcMessageGrouping(\n Boolean(enableMessageGrouping),\n message,\n prevMessage,\n nextMessage,\n );\n\n const reactionChildren = useIIFE(() => {\n if (\n shouldRenderReaction(channel, sbOptions.uikitWithAppInfo.groupChannel.channel.enableReactions) &&\n message.reactions &&\n message.reactions.length > 0\n ) {\n return <ReactionAddons.Message channel={channel} message={message} />;\n }\n return null;\n });\n\n const messageProps: Omit<GroupChannelMessageProps<SendbirdMessage>, 'message'> = {\n channel,\n variant: isMyMessage(message, currentUser?.userId) ? 'outgoing' : 'incoming',\n onPress,\n onLongPress,\n onPressURL: (url) => SBUUtils.openURL(url),\n onPressAvatar: () => {\n if ('sender' in message) onShowUserProfile?.(message.sender);\n },\n onPressMentionedUser: (mentionedUser) => {\n if (mentionedUser) onShowUserProfile?.(mentionedUser);\n },\n groupedWithPrev: groupWithPrev,\n groupedWithNext: groupWithNext,\n children: reactionChildren,\n sendingStatus: isMyMessage(message, currentUser?.userId) ? (\n <GroupChannelMessageOutgoingStatus channel={channel} message={message} />\n ) : null,\n strings: {\n edited: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,\n senderName: ('sender' in message && message.sender.nickname) || STRINGS.LABELS.USER_NO_NAME,\n sentDate: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message),\n fileName: message.isFileMessage() ? STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',\n unknownTitle: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),\n unknownDescription: STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message),\n },\n };\n\n const userMessageProps: {\n renderRegexTextChildren: (message: SendbirdUserMessage) => string;\n regexTextPatterns: RegexTextPattern[];\n } = {\n renderRegexTextChildren: (message) => {\n if (\n mentionManager.shouldUseMentionedMessageTemplate(message, sbOptions.uikit.groupChannel.channel.enableMention)\n ) {\n return message.mentionedMessageTemplate;\n } else {\n return message.message;\n }\n },\n regexTextPatterns: [\n {\n regex: mentionManager.templateRegex,\n replacer({ match, groups, parentProps, index, keyPrefix }) {\n const user = message.mentionedUsers?.find((it) => it.userId === groups[2]);\n if (user) {\n const mentionColor =\n !isMyMessage(message, currentUser?.userId) && user.userId === currentUser?.userId\n ? palette.onBackgroundLight01\n : parentProps?.color;\n\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n color={mentionColor}\n onPress={() => messageProps.onPressMentionedUser?.(user)}\n onLongPress={messageProps.onLongPress}\n style={[\n parentProps?.style,\n { fontWeight: '700' },\n user.userId === currentUser?.userId && { backgroundColor: palette.highlight },\n ]}\n >\n {`${mentionManager.asMentionedMessageText(user)}`}\n </Text>\n );\n }\n return match;\n },\n },\n ],\n };\n\n const renderMessage = () => {\n switch (getMessageType(message)) {\n case 'admin': {\n return <GroupChannelMessage.Admin message={message as SendbirdAdminMessage} {...messageProps} />;\n }\n case 'user':\n case 'user.opengraph': {\n if (message.ogMetaData && sbOptions.uikitWithAppInfo.groupChannel.channel.enableOgtag) {\n return (\n <GroupChannelMessage.OpenGraphUser\n message={message as SendbirdUserMessage}\n {...userMessageProps}\n {...messageProps}\n />\n );\n } else {\n return (\n <GroupChannelMessage.User\n message={message as SendbirdUserMessage}\n {...userMessageProps}\n {...messageProps}\n />\n );\n }\n }\n case 'file':\n case 'file.audio': {\n return <GroupChannelMessage.File message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.image': {\n return <GroupChannelMessage.ImageFile message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.video': {\n return (\n <GroupChannelMessage.VideoFile\n message={message as SendbirdFileMessage}\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'unknown':\n default: {\n return <GroupChannelMessage.Unknown message={message} {...messageProps} />;\n }\n }\n };\n\n const messageGap = useIIFE(() => {\n if (message.isAdminMessage()) {\n if (nextMessage?.isAdminMessage()) {\n return 8;\n } else {\n return 16;\n }\n } else if (groupWithNext) {\n return 2;\n } else {\n return 16;\n }\n });\n\n return (\n <Box paddingHorizontal={16} marginBottom={messageGap}>\n <GroupChannelMessageDateSeparator message={message} prevMessage={prevMessage} />\n <GroupChannelMessageFocusAnimation focused={focused}>{renderMessage()}</GroupChannelMessageFocusAnimation>\n </Box>\n );\n};\n\nexport default React.memo(GroupChannelMessageRenderer);\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MessageSearchResultItem = void 0;
6
+ exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
9
9
  var _uikitUtils = require("@sendbird/uikit-utils");
@@ -84,7 +84,6 @@ const MessageSearchResultItem = _ref => {
84
84
  backgroundColor: colors.onBackground04
85
85
  }))));
86
86
  };
87
- exports.MessageSearchResultItem = MessageSearchResultItem;
88
87
  function getSenderProfile(message) {
89
88
  if (message.isUserMessage() || message.isFileMessage()) {
90
89
  return message.sender.profileUrl;
@@ -129,4 +128,6 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
129
128
  height: 1
130
129
  }
131
130
  });
131
+ var _default = MessageSearchResultItem;
132
+ exports.default = _default;
132
133
  //# sourceMappingURL=MessageSearchResultItem.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","obj","__esModule","default","iconMapper","audio","image","video","file","MessageSearchResultItem","_ref","onPress","message","colors","select","palette","useUIKitTheme","STRINGS","useLocalization","fileIcon","useIIFE","isFileMessage","undefined","getFileType","type","getFileExtension","name","createElement","PressBox","Box","style","styles","container","Avatar","size","avatarSize","width","uri","getSenderProfile","containerStyle","avatar","flex","paddingRight","titleLine","marginRight","justifyContent","Text","subtitle2","color","onBackground01","numberOfLines","MESSAGE_SEARCH","SEARCH_RESULT_ITEM_TITLE","paddingTop","caption2","onBackground02","SEARCH_RESULT_ITEM_TITLE_CAPTION","alignItems","flexDirection","Icon","icon","bodyIcon","backgroundColor","light","background100","dark","background500","body3","ellipsizeMode","bodyText","onBackground03","SEARCH_RESULT_ITEM_BODY","separator","onBackground04","exports","isUserMessage","sender","profileUrl","createStyleSheet","height","marginHorizontal","marginTop","marginBottom","borderRadius","lineHeight","position","left","right","bottom"],"sources":["MessageSearchResultItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Avatar,\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdBaseMessage } from '@sendbird/uikit-utils';\nimport { getFileExtension, getFileType, useIIFE } from '@sendbird/uikit-utils';\n\nimport type { MessageSearchProps } from '../domain/messageSearch/types';\nimport { useLocalization } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\nexport const MessageSearchResultItem: MessageSearchProps['List']['renderSearchResultItem'] = ({ onPress, message }) => {\n const { colors, select, palette } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const fileIcon = useIIFE(() => {\n if (!message?.isFileMessage()) return undefined;\n return iconMapper[getFileType(message.type || getFileExtension(message.name))];\n });\n\n return (\n <PressBox onPress={onPress}>\n <Box style={styles.container}>\n <Avatar size={styles.avatarSize.width} uri={getSenderProfile(message)} containerStyle={styles.avatar} />\n\n <Box flex={1} paddingRight={16}>\n <Box style={styles.titleLine}>\n <Box flex={1} marginRight={4} justifyContent={'center'}>\n <Text subtitle2 color={colors.onBackground01} numberOfLines={1}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE(message)}\n </Text>\n </Box>\n <Box paddingTop={2}>\n <Text caption2 color={colors.onBackground02}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE_CAPTION(message)}\n </Text>\n </Box>\n </Box>\n\n <Box flex={1}>\n <Box alignItems={'center'} flexDirection={'row'}>\n {fileIcon && (\n <Icon\n size={18}\n icon={fileIcon}\n color={colors.onBackground02}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: select({ light: palette.background100, dark: palette.background500 }) },\n ]}\n />\n )}\n\n <Text\n body3\n numberOfLines={fileIcon ? 1 : 2}\n ellipsizeMode={fileIcon ? 'middle' : 'tail'}\n style={styles.bodyText}\n color={colors.onBackground03}\n >\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_BODY(message)}\n </Text>\n </Box>\n </Box>\n\n <Box style={styles.separator} backgroundColor={colors.onBackground04} />\n </Box>\n </Box>\n </PressBox>\n );\n};\n\nfunction getSenderProfile(message: SendbirdBaseMessage) {\n if (message.isUserMessage() || message.isFileMessage()) {\n return message.sender.profileUrl;\n } else {\n return undefined;\n }\n}\n\nconst styles = createStyleSheet({\n container: {\n height: 76,\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n avatar: {\n marginHorizontal: 16,\n },\n avatarSize: {\n width: 56,\n },\n titleLine: {\n flexDirection: 'row',\n marginTop: 10,\n marginBottom: 4,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n bodyText: {\n flex: 1,\n lineHeight: 16,\n },\n separator: {\n position: 'absolute',\n left: 0,\n right: -16,\n bottom: 0,\n height: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","obj","__esModule","default","iconMapper","audio","image","video","file","MessageSearchResultItem","_ref","onPress","message","colors","select","palette","useUIKitTheme","STRINGS","useLocalization","fileIcon","useIIFE","isFileMessage","undefined","getFileType","type","getFileExtension","name","createElement","PressBox","Box","style","styles","container","Avatar","size","avatarSize","width","uri","getSenderProfile","containerStyle","avatar","flex","paddingRight","titleLine","marginRight","justifyContent","Text","subtitle2","color","onBackground01","numberOfLines","MESSAGE_SEARCH","SEARCH_RESULT_ITEM_TITLE","paddingTop","caption2","onBackground02","SEARCH_RESULT_ITEM_TITLE_CAPTION","alignItems","flexDirection","Icon","icon","bodyIcon","backgroundColor","light","background100","dark","background500","body3","ellipsizeMode","bodyText","onBackground03","SEARCH_RESULT_ITEM_BODY","separator","onBackground04","isUserMessage","sender","profileUrl","createStyleSheet","height","marginHorizontal","marginTop","marginBottom","borderRadius","lineHeight","position","left","right","bottom","_default","exports"],"sources":["MessageSearchResultItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Avatar,\n Box,\n Icon,\n PressBox,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdBaseMessage } from '@sendbird/uikit-utils';\nimport { getFileExtension, getFileType, useIIFE } from '@sendbird/uikit-utils';\n\nimport type { MessageSearchProps } from '../domain/messageSearch/types';\nimport { useLocalization } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\nconst MessageSearchResultItem: MessageSearchProps['List']['renderSearchResultItem'] = ({ onPress, message }) => {\n const { colors, select, palette } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n\n const fileIcon = useIIFE(() => {\n if (!message?.isFileMessage()) return undefined;\n return iconMapper[getFileType(message.type || getFileExtension(message.name))];\n });\n\n return (\n <PressBox onPress={onPress}>\n <Box style={styles.container}>\n <Avatar size={styles.avatarSize.width} uri={getSenderProfile(message)} containerStyle={styles.avatar} />\n\n <Box flex={1} paddingRight={16}>\n <Box style={styles.titleLine}>\n <Box flex={1} marginRight={4} justifyContent={'center'}>\n <Text subtitle2 color={colors.onBackground01} numberOfLines={1}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE(message)}\n </Text>\n </Box>\n <Box paddingTop={2}>\n <Text caption2 color={colors.onBackground02}>\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_TITLE_CAPTION(message)}\n </Text>\n </Box>\n </Box>\n\n <Box flex={1}>\n <Box alignItems={'center'} flexDirection={'row'}>\n {fileIcon && (\n <Icon\n size={18}\n icon={fileIcon}\n color={colors.onBackground02}\n containerStyle={[\n styles.bodyIcon,\n { backgroundColor: select({ light: palette.background100, dark: palette.background500 }) },\n ]}\n />\n )}\n\n <Text\n body3\n numberOfLines={fileIcon ? 1 : 2}\n ellipsizeMode={fileIcon ? 'middle' : 'tail'}\n style={styles.bodyText}\n color={colors.onBackground03}\n >\n {STRINGS.MESSAGE_SEARCH.SEARCH_RESULT_ITEM_BODY(message)}\n </Text>\n </Box>\n </Box>\n\n <Box style={styles.separator} backgroundColor={colors.onBackground04} />\n </Box>\n </Box>\n </PressBox>\n );\n};\n\nfunction getSenderProfile(message: SendbirdBaseMessage) {\n if (message.isUserMessage() || message.isFileMessage()) {\n return message.sender.profileUrl;\n } else {\n return undefined;\n }\n}\n\nconst styles = createStyleSheet({\n container: {\n height: 76,\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n avatar: {\n marginHorizontal: 16,\n },\n avatarSize: {\n width: 56,\n },\n titleLine: {\n flexDirection: 'row',\n marginTop: 10,\n marginBottom: 4,\n },\n bodyIcon: {\n borderRadius: 8,\n width: 26,\n height: 26,\n marginRight: 4,\n },\n bodyText: {\n flex: 1,\n lineHeight: 16,\n },\n separator: {\n position: 'absolute',\n left: 0,\n right: -16,\n bottom: 0,\n height: 1,\n },\n});\n\nexport default MessageSearchResultItem;\n"],"mappings":"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"}
@@ -18,11 +18,14 @@ const OpenChannelMessageRenderer = _ref => {
18
18
  message,
19
19
  onPress,
20
20
  onLongPress,
21
- onPressAvatar,
21
+ onShowUserProfile,
22
22
  enableMessageGrouping,
23
23
  prevMessage,
24
24
  nextMessage
25
25
  } = _ref;
26
+ const {
27
+ sbOptions
28
+ } = (0, _useContext.useSendbirdChat)();
26
29
  const {
27
30
  STRINGS
28
31
  } = (0, _useContext.useLocalization)();
@@ -36,11 +39,8 @@ const OpenChannelMessageRenderer = _ref => {
36
39
  channel,
37
40
  onPress,
38
41
  onLongPress,
39
- onPressURL: () => {
40
- var _message$ogMetaData, _message$ogMetaData2;
41
- return ((_message$ogMetaData = message.ogMetaData) === null || _message$ogMetaData === void 0 ? void 0 : _message$ogMetaData.url) && _SBUUtils.default.openURL((_message$ogMetaData2 = message.ogMetaData) === null || _message$ogMetaData2 === void 0 ? void 0 : _message$ogMetaData2.url);
42
- },
43
- onPressAvatar: () => 'sender' in message && (onPressAvatar === null || onPressAvatar === void 0 ? void 0 : onPressAvatar(message.sender, {
42
+ onPressURL: url => _SBUUtils.default.openURL(url),
43
+ onPressAvatar: () => 'sender' in message && (onShowUserProfile === null || onShowUserProfile === void 0 ? void 0 : onShowUserProfile(message.sender, {
44
44
  hideMessageButton: true
45
45
  })),
46
46
  grouped: groupWithPrev,
@@ -69,9 +69,15 @@ const OpenChannelMessageRenderer = _ref => {
69
69
  }
70
70
  case 'user.opengraph':
71
71
  {
72
- return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.OpenChannelMessage.OpenGraphUser, _extends({
73
- message: message
74
- }, messageProps));
72
+ if (sbOptions.uikitWithAppInfo.openChannel.channel.enableOgtag) {
73
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.OpenChannelMessage.OpenGraphUser, _extends({
74
+ message: message
75
+ }, messageProps));
76
+ } else {
77
+ return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.OpenChannelMessage.User, _extends({
78
+ message: message
79
+ }, messageProps));
80
+ }
75
81
  }
76
82
  case 'file':
77
83
  case 'file.audio':
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","_SBUUtils","_OpenChannelMessageDateSeparator","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChannelMessageRenderer","_ref","channel","message","onPress","onLongPress","onPressAvatar","enableMessageGrouping","prevMessage","nextMessage","STRINGS","useLocalization","mediaService","usePlatformService","groupWithPrev","calcMessageGrouping","Boolean","messageProps","onPressURL","_message$ogMetaData","_message$ogMetaData2","ogMetaData","url","SBUUtils","openURL","sender","hideMessageButton","grouped","strings","edited","OPEN_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","senderName","nickname","LABELS","USER_NO_NAME","sentDate","MESSAGE_BUBBLE_TIME","fileName","isFileMessage","MESSAGE_BUBBLE_FILE_TITLE","unknownTitle","MESSAGE_BUBBLE_UNKNOWN_TITLE","unknownDescription","MESSAGE_BUBBLE_UNKNOWN_DESC","renderMessage","getMessageType","createElement","OpenChannelMessage","Admin","User","OpenGraphUser","File","ImageFile","VideoFile","fetchThumbnailFromVideoSource","uri","getVideoThumbnail","timeMills","Unknown","Box","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { OpenChannelMessageProps } from '@sendbird/uikit-react-native-foundation';\nimport { Box, OpenChannelMessage } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdAdminMessage,\n SendbirdFileMessage,\n SendbirdMessage,\n SendbirdUserMessage,\n calcMessageGrouping,\n getMessageType,\n} from '@sendbird/uikit-utils';\n\nimport type { OpenChannelProps } from '../../domain/openChannel/types';\nimport { useLocalization, usePlatformService } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport OpenChannelMessageDateSeparator from './OpenChannelMessageDateSeparator';\n\nconst OpenChannelMessageRenderer: OpenChannelProps['Fragment']['renderMessage'] = ({\n channel,\n message,\n onPress,\n onLongPress,\n onPressAvatar,\n enableMessageGrouping,\n prevMessage,\n nextMessage,\n}) => {\n const { STRINGS } = useLocalization();\n const { mediaService } = usePlatformService();\n const { groupWithPrev } = calcMessageGrouping(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);\n\n const messageProps: Omit<OpenChannelMessageProps<SendbirdMessage>, 'message'> = {\n channel,\n onPress,\n onLongPress,\n onPressURL: () => message.ogMetaData?.url && SBUUtils.openURL(message.ogMetaData?.url),\n onPressAvatar: () => 'sender' in message && onPressAvatar?.(message.sender, { hideMessageButton: true }),\n grouped: groupWithPrev,\n strings: {\n edited: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,\n senderName: ('sender' in message && message.sender.nickname) || STRINGS.LABELS.USER_NO_NAME,\n sentDate: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_TIME(message),\n fileName: message.isFileMessage() ? STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',\n unknownTitle: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),\n unknownDescription: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message),\n },\n };\n const renderMessage = () => {\n switch (getMessageType(message)) {\n case 'admin': {\n return <OpenChannelMessage.Admin message={message as SendbirdAdminMessage} {...messageProps} />;\n }\n case 'user': {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'user.opengraph': {\n return <OpenChannelMessage.OpenGraphUser message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'file':\n case 'file.audio': {\n return <OpenChannelMessage.File message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.image': {\n return <OpenChannelMessage.ImageFile message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.video': {\n return (\n <OpenChannelMessage.VideoFile\n message={message as SendbirdFileMessage}\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'unknown':\n default: {\n return <OpenChannelMessage.Unknown message={message} {...messageProps} />;\n }\n }\n };\n\n return (\n <Box>\n <OpenChannelMessageDateSeparator message={message} prevMessage={prevMessage} />\n {renderMessage()}\n </Box>\n );\n};\n\nexport default React.memo(OpenChannelMessageRenderer);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","_SBUUtils","_OpenChannelMessageDateSeparator","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChannelMessageRenderer","_ref","channel","message","onPress","onLongPress","onShowUserProfile","enableMessageGrouping","prevMessage","nextMessage","sbOptions","useSendbirdChat","STRINGS","useLocalization","mediaService","usePlatformService","groupWithPrev","calcMessageGrouping","Boolean","messageProps","onPressURL","url","SBUUtils","openURL","onPressAvatar","sender","hideMessageButton","grouped","strings","edited","OPEN_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","senderName","nickname","LABELS","USER_NO_NAME","sentDate","MESSAGE_BUBBLE_TIME","fileName","isFileMessage","MESSAGE_BUBBLE_FILE_TITLE","unknownTitle","MESSAGE_BUBBLE_UNKNOWN_TITLE","unknownDescription","MESSAGE_BUBBLE_UNKNOWN_DESC","renderMessage","getMessageType","createElement","OpenChannelMessage","Admin","User","uikitWithAppInfo","openChannel","enableOgtag","OpenGraphUser","File","ImageFile","VideoFile","fetchThumbnailFromVideoSource","uri","getVideoThumbnail","timeMills","Unknown","Box","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { OpenChannelMessageProps } from '@sendbird/uikit-react-native-foundation';\nimport { Box, OpenChannelMessage } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdAdminMessage,\n SendbirdFileMessage,\n SendbirdMessage,\n SendbirdUserMessage,\n calcMessageGrouping,\n getMessageType,\n} from '@sendbird/uikit-utils';\n\nimport type { OpenChannelProps } from '../../domain/openChannel/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport OpenChannelMessageDateSeparator from './OpenChannelMessageDateSeparator';\n\nconst OpenChannelMessageRenderer: OpenChannelProps['Fragment']['renderMessage'] = ({\n channel,\n message,\n onPress,\n onLongPress,\n onShowUserProfile,\n enableMessageGrouping,\n prevMessage,\n nextMessage,\n}) => {\n const { sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { mediaService } = usePlatformService();\n const { groupWithPrev } = calcMessageGrouping(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);\n\n const messageProps: Omit<OpenChannelMessageProps<SendbirdMessage>, 'message'> = {\n channel,\n onPress,\n onLongPress,\n onPressURL: (url) => SBUUtils.openURL(url),\n onPressAvatar: () => 'sender' in message && onShowUserProfile?.(message.sender, { hideMessageButton: true }),\n grouped: groupWithPrev,\n strings: {\n edited: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,\n senderName: ('sender' in message && message.sender.nickname) || STRINGS.LABELS.USER_NO_NAME,\n sentDate: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_TIME(message),\n fileName: message.isFileMessage() ? STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',\n unknownTitle: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),\n unknownDescription: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message),\n },\n };\n const renderMessage = () => {\n switch (getMessageType(message)) {\n case 'admin': {\n return <OpenChannelMessage.Admin message={message as SendbirdAdminMessage} {...messageProps} />;\n }\n case 'user': {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'user.opengraph': {\n if (sbOptions.uikitWithAppInfo.openChannel.channel.enableOgtag) {\n return <OpenChannelMessage.OpenGraphUser message={message as SendbirdUserMessage} {...messageProps} />;\n } else {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n }\n case 'file':\n case 'file.audio': {\n return <OpenChannelMessage.File message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.image': {\n return <OpenChannelMessage.ImageFile message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.video': {\n return (\n <OpenChannelMessage.VideoFile\n message={message as SendbirdFileMessage}\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'unknown':\n default: {\n return <OpenChannelMessage.Unknown message={message} {...messageProps} />;\n }\n }\n };\n\n return (\n <Box>\n <OpenChannelMessageDateSeparator message={message} prevMessage={prevMessage} />\n {renderMessage()}\n </Box>\n );\n};\n\nexport default React.memo(OpenChannelMessageRenderer);\n"],"mappings":"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"}