@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
@@ -1,51 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { Icon, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
-
6
- import { useLocalization } from '../../../hooks/useContext';
7
- import type { FileMessageProps } from './index';
8
-
9
- const iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;
10
-
11
- type Props = FileMessageProps & {
12
- type: 'image' | 'audio' | 'video' | 'file';
13
- };
14
- const BaseFileMessage = ({ message, variant, pressed, type, children }: Props) => {
15
- const { STRINGS } = useLocalization();
16
- const { colors } = useUIKitTheme();
17
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
18
- return (
19
- <View style={[styles.bubbleContainer, { backgroundColor: color.background }]}>
20
- <View style={styles.container}>
21
- <Icon
22
- icon={iconMapper[type]}
23
- size={24}
24
- containerStyle={{ backgroundColor: colors.background, padding: 2, borderRadius: 8, marginRight: 8 }}
25
- />
26
- <Text body3 ellipsizeMode={'middle'} numberOfLines={1} color={color.textMsg} style={styles.name}>
27
- {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message)}
28
- </Text>
29
- </View>
30
- {children}
31
- </View>
32
- );
33
- };
34
-
35
- const styles = createStyleSheet({
36
- bubbleContainer: {
37
- borderRadius: 16,
38
- overflow: 'hidden',
39
- },
40
- container: {
41
- flexDirection: 'row',
42
- alignItems: 'center',
43
- paddingHorizontal: 12,
44
- paddingVertical: 6,
45
- },
46
- name: {
47
- flexShrink: 1,
48
- },
49
- });
50
-
51
- export default BaseFileMessage;
@@ -1,98 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { Platform, StyleSheet, View } from 'react-native';
3
-
4
- import { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import { getAvailableUriFromFileMessage, useForceUpdate } from '@sendbird/uikit-utils';
6
-
7
- import type { FileMessageProps } from './index';
8
-
9
- const useRetry = (hasError: boolean, retryCount = 5) => {
10
- if (Platform.OS === 'android') return '';
11
-
12
- const forceUpdate = useForceUpdate();
13
- const retryCountRef = useRef(1);
14
- const retryTimeoutRef = useRef<NodeJS.Timeout>();
15
-
16
- useEffect(() => {
17
- if (hasError) {
18
- const reloadReservation = () => {
19
- if (retryCountRef.current < retryCount) {
20
- retryTimeoutRef.current = setTimeout(() => {
21
- retryCountRef.current++;
22
- reloadReservation();
23
- forceUpdate();
24
- }, retryCountRef.current * 5000);
25
- }
26
- };
27
-
28
- return reloadReservation();
29
- } else {
30
- return clearTimeout(retryTimeoutRef.current);
31
- }
32
- }, [hasError]);
33
-
34
- return retryCountRef.current;
35
- };
36
-
37
- const ImageFileMessage = ({ message, children, variant }: FileMessageProps) => {
38
- const { colors } = useUIKitTheme();
39
- const [imageNotFound, setImageNotFound] = useState(false);
40
-
41
- const fileUrl = getAvailableUriFromFileMessage(message);
42
- const style = [styles.image, { backgroundColor: colors.onBackground04 }];
43
-
44
- const key = useRetry(imageNotFound);
45
-
46
- return (
47
- <View
48
- style={[
49
- styles.bubbleContainer,
50
- {
51
- backgroundColor: imageNotFound
52
- ? colors.onBackground04
53
- : colors.ui.groupChannelMessage[variant].enabled.background,
54
- },
55
- ]}
56
- >
57
- <View style={style}>
58
- <Image
59
- key={key}
60
- source={{ uri: fileUrl }}
61
- style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}
62
- resizeMode={'cover'}
63
- resizeMethod={'resize'}
64
- onError={() => setImageNotFound(true)}
65
- onLoad={() => setImageNotFound(false)}
66
- />
67
- {imageNotFound && (
68
- <Icon
69
- containerStyle={StyleSheet.absoluteFill}
70
- icon={'thumbnail-none'}
71
- size={48}
72
- color={colors.onBackground02}
73
- />
74
- )}
75
- </View>
76
- {children}
77
- </View>
78
- );
79
- };
80
-
81
- const styles = createStyleSheet({
82
- bubbleContainer: {
83
- borderRadius: 16,
84
- overflow: 'hidden',
85
- },
86
- image: {
87
- width: 240,
88
- maxWidth: 240,
89
- height: 160,
90
- borderRadius: 16,
91
- overflow: 'hidden',
92
- },
93
- hide: {
94
- display: 'none',
95
- },
96
- });
97
-
98
- export default ImageFileMessage;
@@ -1,113 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';
6
-
7
- import { usePlatformService } from '../../../hooks/useContext';
8
- import type { FileMessageProps } from './index';
9
-
10
- const useRetry = (videoFileUrl: string, retryCount = 5) => {
11
- const [state, setState] = useState({ thumbnail: null as null | string, loading: true });
12
- const retryCountRef = useRef(0);
13
- const retryTimeoutRef = useRef<NodeJS.Timeout>();
14
-
15
- const { mediaService } = usePlatformService();
16
-
17
- const fetchThumbnail = () => {
18
- return mediaService.getVideoThumbnail({ url: videoFileUrl, timeMills: 1000 }).then((result) => {
19
- setState({ loading: false, thumbnail: result?.path ?? null });
20
- });
21
- };
22
-
23
- useEffect(() => {
24
- if (!state.thumbnail) {
25
- const reloadReservation = () => {
26
- if (retryCountRef.current < retryCount) {
27
- retryTimeoutRef.current = setTimeout(() => {
28
- retryCountRef.current++;
29
- reloadReservation();
30
- fetchThumbnail();
31
- }, retryCountRef.current * 5000);
32
- }
33
- };
34
-
35
- return reloadReservation();
36
- } else {
37
- return clearTimeout(retryTimeoutRef.current);
38
- }
39
- }, [state.thumbnail]);
40
-
41
- return state;
42
- };
43
-
44
- const VideoFileMessage = ({ message, variant, children }: FileMessageProps) => {
45
- const { colors } = useUIKitTheme();
46
-
47
- const fileUrl = getAvailableUriFromFileMessage(message);
48
- const style = [styles.video, { backgroundColor: colors.onBackground04 }];
49
-
50
- const { loading, thumbnail } = useRetry(fileUrl);
51
-
52
- if (loading) {
53
- return (
54
- <View
55
- style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}
56
- >
57
- <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>
58
- <View style={style} />
59
- <PlayIcon />
60
- </View>
61
- {children}
62
- </View>
63
- );
64
- }
65
-
66
- return (
67
- <View
68
- style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}
69
- >
70
- <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>
71
- <Image source={{ uri: thumbnail || fileUrl }} style={style} resizeMode={'cover'} resizeMethod={'resize'} />
72
- <PlayIcon />
73
- </View>
74
- {children}
75
- </View>
76
- );
77
- };
78
-
79
- const PlayIcon = () => {
80
- const { colors } = useUIKitTheme();
81
-
82
- return (
83
- <Icon
84
- icon={'play'}
85
- size={28}
86
- color={colors.onBackground02}
87
- containerStyle={[styles.playIcon, { backgroundColor: colors.onBackgroundReverse01 }]}
88
- />
89
- );
90
- };
91
-
92
- const styles = createStyleSheet({
93
- bubbleContainer: {
94
- borderRadius: 16,
95
- overflow: 'hidden',
96
- },
97
- bubbleInnerContainer: {
98
- alignItems: 'center',
99
- justifyContent: 'center',
100
- },
101
- video: {
102
- width: 240,
103
- maxWidth: 240,
104
- height: 160,
105
- },
106
- playIcon: {
107
- position: 'absolute',
108
- padding: 10,
109
- borderRadius: 50,
110
- },
111
- });
112
-
113
- export default VideoFileMessage;
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
-
3
- import { SendbirdFileMessage, getFileExtension, getFileType } from '@sendbird/uikit-utils';
4
-
5
- import type { MessageRendererInterface } from '../index';
6
- import BaseFileMessage from './BaseFileMessage';
7
- import ImageFileMessage from './ImageFileMessage';
8
- import VideoFileMessage from './VideoFileMessage';
9
-
10
- export type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;
11
- const FileMessage = (props: FileMessageProps) => {
12
- const fileType = getFileType(props.message.type || getFileExtension(props.message.name));
13
-
14
- if (fileType === 'image') return <ImageFileMessage {...props} />;
15
- if (fileType === 'video') return <VideoFileMessage {...props} />;
16
-
17
- return <BaseFileMessage {...props} type={fileType} />;
18
- };
19
-
20
- export default React.memo(FileMessage);
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { createStyleSheet } from '@sendbird/uikit-react-native-foundation';
5
-
6
- const MessageContainer = ({ children }: React.PropsWithChildren) => {
7
- return <View style={styles.container}>{children}</View>;
8
- };
9
-
10
- const styles = createStyleSheet({
11
- container: {
12
- flexDirection: 'column',
13
- paddingHorizontal: 16,
14
- },
15
- });
16
-
17
- export default MessageContainer;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { Pressable, View } from 'react-native';
3
-
4
- import { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
5
- import type { SendbirdMessage } from '@sendbird/uikit-utils';
6
-
7
- import { useUserProfile } from '../../hooks/useContext';
8
-
9
- type Props = {
10
- message: SendbirdMessage;
11
- grouping: boolean;
12
- };
13
- const MessageIncomingAvatar = ({ message, grouping }: Props) => {
14
- const { show } = useUserProfile();
15
- if (grouping) return <View style={styles.avatar} />;
16
- return (
17
- <View style={styles.avatar}>
18
- {(message.isFileMessage() || message.isUserMessage()) && (
19
- <Pressable onPress={() => show(message.sender)}>
20
- <Avatar size={26} uri={message.sender?.profileUrl} />
21
- </Pressable>
22
- )}
23
- </View>
24
- );
25
- };
26
-
27
- const styles = createStyleSheet({
28
- avatar: {
29
- width: 26,
30
- marginRight: 12,
31
- },
32
- });
33
-
34
- export default MessageIncomingAvatar;
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import type { SendbirdMessage } from '@sendbird/uikit-utils';
6
-
7
- import { useLocalization } from '../../hooks/useContext';
8
-
9
- type Props = {
10
- message: SendbirdMessage;
11
- grouping: boolean;
12
- };
13
- const MessageIncomingSenderName = ({ message, grouping }: Props) => {
14
- const { colors } = useUIKitTheme();
15
- const { STRINGS } = useLocalization();
16
- if (grouping) return null;
17
-
18
- return (
19
- <View style={styles.sender}>
20
- {(message.isFileMessage() || message.isUserMessage()) && (
21
- <Text caption1 color={colors.ui.groupChannelMessage.incoming.enabled.textSenderName} numberOfLines={1}>
22
- {message.sender?.nickname || STRINGS.LABELS.USER_NO_NAME}
23
- </Text>
24
- )}
25
- </View>
26
- );
27
- };
28
-
29
- const styles = createStyleSheet({
30
- sender: {
31
- marginLeft: 12,
32
- marginBottom: 4,
33
- },
34
- });
35
-
36
- export default MessageIncomingSenderName;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { StyleProp, View, ViewStyle } from 'react-native';
3
-
4
- import { Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import type { SendbirdMessage } from '@sendbird/uikit-utils';
6
-
7
- import { useLocalization } from '../../hooks/useContext';
8
-
9
- type Props = {
10
- message: SendbirdMessage;
11
- grouping: boolean;
12
- style?: StyleProp<ViewStyle>;
13
- };
14
- const MessageTime = ({ message, grouping, style }: Props) => {
15
- const { STRINGS } = useLocalization();
16
- const { colors } = useUIKitTheme();
17
- if (grouping) return null;
18
-
19
- return (
20
- <View style={style}>
21
- <Text caption4 color={colors.ui.groupChannelMessage.incoming.enabled.textTime}>
22
- {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message)}
23
- </Text>
24
- </View>
25
- );
26
- };
27
-
28
- export default MessageTime;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
-
6
- import { useLocalization } from '../../../hooks/useContext';
7
- import type { MessageRendererInterface } from '../index';
8
-
9
- export type UnknownMessageProps = MessageRendererInterface;
10
- const UnknownMessage = ({ message, variant, pressed }: UnknownMessageProps) => {
11
- const { STRINGS } = useLocalization();
12
- const { colors } = useUIKitTheme();
13
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
14
- return (
15
- <View style={[styles.container, { backgroundColor: color.background }]}>
16
- <Text body3 color={colors.onBackground01}>
17
- {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message)}
18
- </Text>
19
- <Text body3 color={colors.onBackground02}>
20
- {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)}
21
- </Text>
22
- </View>
23
- );
24
- };
25
-
26
- const styles = createStyleSheet({
27
- container: {
28
- paddingHorizontal: 12,
29
- paddingVertical: 6,
30
- borderRadius: 16,
31
- },
32
- });
33
-
34
- export default UnknownMessage;
@@ -1,102 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
-
4
- import { RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import { urlRegexStrict } from '@sendbird/uikit-utils';
6
-
7
- import { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';
8
- import SBUUtils from '../../../libs/SBUUtils';
9
- import type { UserMessageProps } from './index';
10
-
11
- const BaseUserMessage = ({
12
- message,
13
- variant,
14
- pressed,
15
- children,
16
- onLongPressMentionedUser,
17
- onLongPressURL,
18
- }: UserMessageProps) => {
19
- const { mentionManager, currentUser } = useSendbirdChat();
20
- const { show } = useUserProfile();
21
- const { STRINGS } = useLocalization();
22
- const { colors, palette } = useUIKitTheme();
23
-
24
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
25
-
26
- return (
27
- <View style={[styles.container, { backgroundColor: color.background }]}>
28
- <View style={styles.wrapper}>
29
- <Text body3 color={color.textMsg}>
30
- <RegexText
31
- body3
32
- color={color.textMsg}
33
- patterns={[
34
- {
35
- regex: mentionManager.templateRegex,
36
- replacer({ match, groups, parentProps, index, keyPrefix }) {
37
- const user = message.mentionedUsers?.find((it) => it.userId === groups[2]);
38
- if (user) {
39
- return (
40
- <Text
41
- {...parentProps}
42
- key={`${keyPrefix}-${index}`}
43
- onPress={() => show(user)}
44
- onLongPress={onLongPressMentionedUser}
45
- style={[
46
- parentProps?.style,
47
- { fontWeight: 'bold' },
48
- user.userId === currentUser?.userId && { backgroundColor: palette.highlight },
49
- ]}
50
- >
51
- {`${mentionManager.asMentionedMessageText(user)}`}
52
- </Text>
53
- );
54
- }
55
- return match;
56
- },
57
- },
58
- {
59
- regex: urlRegexStrict,
60
- replacer({ match, parentProps, index, keyPrefix }) {
61
- return (
62
- <Text
63
- {...parentProps}
64
- key={`${keyPrefix}-${index}`}
65
- onPress={() => SBUUtils.openURL(match)}
66
- onLongPress={onLongPressURL}
67
- style={[parentProps?.style, { textDecorationLine: 'underline' }]}
68
- >
69
- {match}
70
- </Text>
71
- );
72
- },
73
- },
74
- ]}
75
- >
76
- {mentionManager.shouldUseMentionedMessageTemplate(message)
77
- ? message.mentionedMessageTemplate
78
- : message.message}
79
- </RegexText>
80
- {Boolean(message.updatedAt) && (
81
- <Text body3 color={color.textEdited}>
82
- {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX}
83
- </Text>
84
- )}
85
- </Text>
86
- </View>
87
- {children}
88
- </View>
89
- );
90
- };
91
- const styles = createStyleSheet({
92
- container: {
93
- borderRadius: 16,
94
- overflow: 'hidden',
95
- },
96
- wrapper: {
97
- paddingHorizontal: 12,
98
- paddingVertical: 6,
99
- },
100
- });
101
-
102
- export default BaseUserMessage;