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

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 (313) 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.js +18 -6
  13. package/lib/commonjs/components/ChatFlatList.js.map +1 -1
  14. package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  15. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  16. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
  17. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  18. package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
  19. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  20. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
  21. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
  22. package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
  23. package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
  24. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
  25. package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
  26. package/lib/commonjs/constants.js +1 -7
  27. package/lib/commonjs/constants.js.map +1 -1
  28. package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
  29. package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
  30. package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
  31. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  32. package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
  33. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  34. package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
  35. package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
  36. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
  37. package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  38. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  39. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
  40. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  41. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  42. package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  43. package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
  44. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  45. package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  46. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
  47. package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  48. package/lib/commonjs/domain/openChannel/types.js.map +1 -1
  49. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
  50. package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  51. package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
  52. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
  53. package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
  54. package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
  55. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  56. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
  57. package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
  58. package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
  59. package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
  60. package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
  61. package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
  62. package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
  63. package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
  64. package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
  65. package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
  66. package/lib/commonjs/hooks/useConnection.js +11 -7
  67. package/lib/commonjs/hooks/useConnection.js.map +1 -1
  68. package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
  69. package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
  70. package/lib/commonjs/index.js +20 -4
  71. package/lib/commonjs/index.js.map +1 -1
  72. package/lib/commonjs/libs/MentionManager.js +8 -9
  73. package/lib/commonjs/libs/MentionManager.js.map +1 -1
  74. package/lib/commonjs/libs/SBUUtils.js +7 -3
  75. package/lib/commonjs/libs/SBUUtils.js.map +1 -1
  76. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  77. package/lib/commonjs/localization/createBaseStringSet.js +20 -62
  78. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  79. package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
  80. package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
  81. package/lib/module/components/ChannelInput/EditInput.js +10 -18
  82. package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
  83. package/lib/module/components/ChannelInput/SendInput.js +221 -164
  84. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  85. package/lib/module/components/ChannelInput/index.js +5 -3
  86. package/lib/module/components/ChannelInput/index.js.map +1 -1
  87. package/lib/module/components/ChannelMessageList/index.js +28 -28
  88. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  89. package/lib/module/components/ChatFlatList.js +17 -5
  90. package/lib/module/components/ChatFlatList.js.map +1 -1
  91. package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
  92. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
  93. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
  94. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
  95. package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
  96. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
  97. package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
  98. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
  99. package/lib/module/components/MessageSearchResultItem.js +2 -1
  100. package/lib/module/components/MessageSearchResultItem.js.map +1 -1
  101. package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
  102. package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
  103. package/lib/module/constants.js +0 -5
  104. package/lib/module/constants.js.map +1 -1
  105. package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
  106. package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
  107. package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
  108. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  109. package/lib/module/contexts/SendbirdChatCtx.js +17 -14
  110. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  111. package/lib/module/contexts/UserProfileCtx.js +6 -4
  112. package/lib/module/contexts/UserProfileCtx.js.map +1 -1
  113. package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
  114. package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
  115. package/lib/module/domain/groupChannel/types.js.map +1 -1
  116. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
  117. package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
  118. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
  119. package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
  120. package/lib/module/domain/groupChannelList/types.js.map +1 -1
  121. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
  122. package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
  123. package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
  124. package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
  125. package/lib/module/domain/openChannel/types.js.map +1 -1
  126. package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
  127. package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
  128. package/lib/module/domain/openChannelList/types.js.map +1 -1
  129. package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
  130. package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
  131. package/lib/module/fragments/createGroupChannelFragment.js +24 -102
  132. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  133. package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
  134. package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
  135. package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
  136. package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
  137. package/lib/module/fragments/createMessageSearchFragment.js +1 -1
  138. package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
  139. package/lib/module/fragments/createOpenChannelFragment.js +2 -8
  140. package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
  141. package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
  142. package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
  143. package/lib/module/hooks/useConnection.js +11 -7
  144. package/lib/module/hooks/useConnection.js.map +1 -1
  145. package/lib/module/hooks/useMentionTextInput.js +3 -2
  146. package/lib/module/hooks/useMentionTextInput.js.map +1 -1
  147. package/lib/module/index.js +5 -2
  148. package/lib/module/index.js.map +1 -1
  149. package/lib/module/libs/MentionManager.js +8 -9
  150. package/lib/module/libs/MentionManager.js.map +1 -1
  151. package/lib/module/libs/SBUUtils.js +7 -3
  152. package/lib/module/libs/SBUUtils.js.map +1 -1
  153. package/lib/module/localization/StringSet.type.js.map +1 -1
  154. package/lib/module/localization/createBaseStringSet.js +20 -62
  155. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  156. package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
  157. package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
  158. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
  159. package/lib/typescript/src/components/ChatFlatList.d.ts +1 -5
  160. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
  161. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
  162. package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
  163. package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
  164. package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
  165. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
  166. package/lib/typescript/src/constants.d.ts +0 -5
  167. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +15 -10
  168. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
  169. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
  170. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
  171. package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
  172. package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
  173. package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
  174. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  175. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
  176. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
  177. package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
  178. package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
  179. package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
  180. package/lib/typescript/src/index.d.ts +4 -1
  181. package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
  182. package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
  183. package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
  184. package/package.json +13 -10
  185. package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
  186. package/src/components/ChannelInput/EditInput.tsx +17 -18
  187. package/src/components/ChannelInput/SendInput.tsx +237 -181
  188. package/src/components/ChannelInput/index.tsx +8 -21
  189. package/src/components/ChannelMessageList/index.tsx +33 -41
  190. package/src/components/ChatFlatList.tsx +39 -13
  191. package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
  192. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
  193. package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
  194. package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
  195. package/src/components/MessageSearchResultItem.tsx +3 -1
  196. package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
  197. package/src/constants.ts +0 -5
  198. package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
  199. package/src/containers/SendbirdUIKitContainer.tsx +98 -90
  200. package/src/contexts/SendbirdChatCtx.tsx +49 -36
  201. package/src/contexts/UserProfileCtx.tsx +10 -5
  202. package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
  203. package/src/domain/groupChannel/types.ts +1 -14
  204. package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
  205. package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
  206. package/src/domain/groupChannelList/types.ts +8 -30
  207. package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
  208. package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
  209. package/src/domain/openChannel/types.ts +1 -1
  210. package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
  211. package/src/domain/openChannelList/types.ts +6 -13
  212. package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
  213. package/src/fragments/createGroupChannelFragment.tsx +21 -97
  214. package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
  215. package/src/fragments/createGroupChannelListFragment.tsx +9 -15
  216. package/src/fragments/createMessageSearchFragment.tsx +1 -1
  217. package/src/fragments/createOpenChannelFragment.tsx +2 -3
  218. package/src/fragments/createOpenChannelListFragment.tsx +2 -1
  219. package/src/hooks/useConnection.ts +9 -7
  220. package/src/hooks/useMentionTextInput.ts +7 -2
  221. package/src/index.ts +4 -2
  222. package/src/libs/MentionManager.tsx +8 -7
  223. package/src/libs/SBUUtils.ts +7 -3
  224. package/src/localization/StringSet.type.ts +2 -46
  225. package/src/localization/createBaseStringSet.ts +19 -71
  226. package/src/version.ts +1 -1
  227. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
  228. package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  229. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
  230. package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  231. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
  232. package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  233. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
  234. package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  235. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
  236. package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
  237. package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
  238. package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
  239. package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  240. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
  241. package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  242. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
  243. package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  244. package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  245. package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
  246. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
  247. package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  248. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
  249. package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  250. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
  251. package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  252. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
  253. package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
  254. package/lib/commonjs/components/MessageRenderer/index.js +0 -186
  255. package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
  256. package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
  257. package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
  258. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
  259. package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
  260. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
  261. package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
  262. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
  263. package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
  264. package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
  265. package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
  266. package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
  267. package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
  268. package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
  269. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
  270. package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
  271. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
  272. package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
  273. package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
  274. package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
  275. package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
  276. package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
  277. package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
  278. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
  279. package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
  280. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
  281. package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
  282. package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
  283. package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
  284. package/lib/module/components/MessageRenderer/index.js +0 -178
  285. package/lib/module/components/MessageRenderer/index.js.map +0 -1
  286. package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
  287. package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
  288. package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
  289. package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
  290. package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
  291. package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
  292. package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
  293. package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
  294. package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
  295. package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
  296. package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
  297. package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
  298. package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
  299. package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
  300. package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
  301. package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
  302. package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
  303. package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
  304. package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
  305. package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
  306. package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
  307. package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
  308. package/src/components/MessageRenderer/MessageTime.tsx +0 -28
  309. package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
  310. package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
  311. package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
  312. package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
  313. package/src/components/MessageRenderer/index.tsx +0 -198
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","View","Icon","Image","createStyleSheet","useUIKitTheme","getAvailableUriFromFileMessage","usePlatformService","useRetry","videoFileUrl","retryCount","arguments","length","undefined","state","setState","thumbnail","loading","retryCountRef","retryTimeoutRef","mediaService","fetchThumbnail","getVideoThumbnail","url","timeMills","then","result","path","reloadReservation","current","setTimeout","clearTimeout","VideoFileMessage","_ref","message","variant","children","colors","fileUrl","style","styles","video","backgroundColor","onBackground04","createElement","bubbleContainer","ui","groupChannelMessage","enabled","background","bubbleInnerContainer","PlayIcon","source","uri","resizeMode","resizeMethod","icon","size","color","onBackground02","containerStyle","playIcon","onBackgroundReverse01","borderRadius","overflow","alignItems","justifyContent","width","maxWidth","height","position","padding"],"sources":["VideoFileMessage.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { View } from 'react-native';\n\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';\n\nimport { usePlatformService } from '../../../hooks/useContext';\nimport type { FileMessageProps } from './index';\n\nconst useRetry = (videoFileUrl: string, retryCount = 5) => {\n const [state, setState] = useState({ thumbnail: null as null | string, loading: true });\n const retryCountRef = useRef(0);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n const { mediaService } = usePlatformService();\n\n const fetchThumbnail = () => {\n return mediaService.getVideoThumbnail({ url: videoFileUrl, timeMills: 1000 }).then((result) => {\n setState({ loading: false, thumbnail: result?.path ?? null });\n });\n };\n\n useEffect(() => {\n if (!state.thumbnail) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n fetchThumbnail();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [state.thumbnail]);\n\n return state;\n};\n\nconst VideoFileMessage = ({ message, variant, children }: FileMessageProps) => {\n const { colors } = useUIKitTheme();\n\n const fileUrl = getAvailableUriFromFileMessage(message);\n const style = [styles.video, { backgroundColor: colors.onBackground04 }];\n\n const { loading, thumbnail } = useRetry(fileUrl);\n\n if (loading) {\n return (\n <View\n style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}\n >\n <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>\n <View style={style} />\n <PlayIcon />\n </View>\n {children}\n </View>\n );\n }\n\n return (\n <View\n style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}\n >\n <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>\n <Image source={{ uri: thumbnail || fileUrl }} style={style} resizeMode={'cover'} resizeMethod={'resize'} />\n <PlayIcon />\n </View>\n {children}\n </View>\n );\n};\n\nconst PlayIcon = () => {\n const { colors } = useUIKitTheme();\n\n return (\n <Icon\n icon={'play'}\n size={28}\n color={colors.onBackground02}\n containerStyle={[styles.playIcon, { backgroundColor: colors.onBackgroundReverse01 }]}\n />\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n bubbleInnerContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n video: {\n width: 240,\n maxWidth: 240,\n height: 160,\n },\n playIcon: {\n position: 'absolute',\n padding: 10,\n borderRadius: 50,\n },\n});\n\nexport default VideoFileMessage;\n"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- 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); }
2
- import React from 'react';
3
- import { getFileExtension, getFileType } from '@sendbird/uikit-utils';
4
- import BaseFileMessage from './BaseFileMessage';
5
- import ImageFileMessage from './ImageFileMessage';
6
- import VideoFileMessage from './VideoFileMessage';
7
- const FileMessage = props => {
8
- const fileType = getFileType(props.message.type || getFileExtension(props.message.name));
9
- if (fileType === 'image') return /*#__PURE__*/React.createElement(ImageFileMessage, props);
10
- if (fileType === 'video') return /*#__PURE__*/React.createElement(VideoFileMessage, props);
11
- return /*#__PURE__*/React.createElement(BaseFileMessage, _extends({}, props, {
12
- type: fileType
13
- }));
14
- };
15
- export default /*#__PURE__*/React.memo(FileMessage);
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","getFileExtension","getFileType","BaseFileMessage","ImageFileMessage","VideoFileMessage","FileMessage","props","fileType","message","type","name","createElement","_extends","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SendbirdFileMessage, getFileExtension, getFileType } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\nimport BaseFileMessage from './BaseFileMessage';\nimport ImageFileMessage from './ImageFileMessage';\nimport VideoFileMessage from './VideoFileMessage';\n\nexport type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;\nconst FileMessage = (props: FileMessageProps) => {\n const fileType = getFileType(props.message.type || getFileExtension(props.message.name));\n\n if (fileType === 'image') return <ImageFileMessage {...props} />;\n if (fileType === 'video') return <VideoFileMessage {...props} />;\n\n return <BaseFileMessage {...props} type={fileType} />;\n};\n\nexport default React.memo(FileMessage);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAA8BC,gBAAgB,EAAEC,WAAW,QAAQ,uBAAuB;AAG1F,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AAGjD,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C,MAAMC,QAAQ,GAAGN,WAAW,CAACK,KAAK,CAACE,OAAO,CAACC,IAAI,IAAIT,gBAAgB,CAACM,KAAK,CAACE,OAAO,CAACE,IAAI,CAAC,CAAC;EAExF,IAAIH,QAAQ,KAAK,OAAO,EAAE,oBAAOR,KAAA,CAAAY,aAAA,CAACR,gBAAgB,EAAKG,KAAK,CAAI;EAChE,IAAIC,QAAQ,KAAK,OAAO,EAAE,oBAAOR,KAAA,CAAAY,aAAA,CAACP,gBAAgB,EAAKE,KAAK,CAAI;EAEhE,oBAAOP,KAAA,CAAAY,aAAA,CAACT,eAAe,EAAAU,QAAA,KAAKN,KAAK;IAAEG,IAAI,EAAEF;EAAS,GAAG;AACvD,CAAC;AAED,4BAAeR,KAAK,CAACc,IAAI,CAACR,WAAW,CAAC"}
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { createStyleSheet } from '@sendbird/uikit-react-native-foundation';
4
- const MessageContainer = _ref => {
5
- let {
6
- children
7
- } = _ref;
8
- return /*#__PURE__*/React.createElement(View, {
9
- style: styles.container
10
- }, children);
11
- };
12
- const styles = createStyleSheet({
13
- container: {
14
- flexDirection: 'column',
15
- paddingHorizontal: 16
16
- }
17
- });
18
- export default MessageContainer;
19
- //# sourceMappingURL=MessageContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","createStyleSheet","MessageContainer","_ref","children","createElement","style","styles","container","flexDirection","paddingHorizontal"],"sources":["MessageContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { createStyleSheet } from '@sendbird/uikit-react-native-foundation';\n\nconst MessageContainer = ({ children }: React.PropsWithChildren) => {\n return <View style={styles.container}>{children}</View>;\n};\n\nconst styles = createStyleSheet({\n container: {\n flexDirection: 'column',\n paddingHorizontal: 16,\n },\n});\n\nexport default MessageContainer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,gBAAgB,QAAQ,yCAAyC;AAE1E,MAAMC,gBAAgB,GAAGC,IAAA,IAA2C;EAAA,IAA1C;IAAEC;EAAkC,CAAC,GAAAD,IAAA;EAC7D,oBAAOJ,KAAA,CAAAM,aAAA,CAACL,IAAI;IAACM,KAAK,EAAEC,MAAM,CAACC;EAAU,GAAEJ,QAAQ,CAAQ;AACzD,CAAC;AAED,MAAMG,MAAM,GAAGN,gBAAgB,CAAC;EAC9BO,SAAS,EAAE;IACTC,aAAa,EAAE,QAAQ;IACvBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAeR,gBAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","MessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["MessageDateSeparator.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\ntype Props = {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n};\n\nconst MessageDateSeparator = ({ message, prevMessage }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\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 MessageDateSeparator;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAOxD,MAAMC,oBAAoB,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAAF,IAAA;EAC3D,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EACxB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,oBAAoB"}
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { Pressable, View } from 'react-native';
3
- import { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
4
- import { useUserProfile } from '../../hooks/useContext';
5
- const MessageIncomingAvatar = _ref => {
6
- var _message$sender;
7
- let {
8
- message,
9
- grouping
10
- } = _ref;
11
- const {
12
- show
13
- } = useUserProfile();
14
- if (grouping) return /*#__PURE__*/React.createElement(View, {
15
- style: styles.avatar
16
- });
17
- return /*#__PURE__*/React.createElement(View, {
18
- style: styles.avatar
19
- }, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Pressable, {
20
- onPress: () => show(message.sender)
21
- }, /*#__PURE__*/React.createElement(Avatar, {
22
- size: 26,
23
- uri: (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.profileUrl
24
- })));
25
- };
26
- const styles = createStyleSheet({
27
- avatar: {
28
- width: 26,
29
- marginRight: 12
30
- }
31
- });
32
- export default MessageIncomingAvatar;
33
- //# sourceMappingURL=MessageIncomingAvatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Pressable","View","Avatar","createStyleSheet","useUserProfile","MessageIncomingAvatar","_ref","_message$sender","message","grouping","show","createElement","style","styles","avatar","isFileMessage","isUserMessage","onPress","sender","size","uri","profileUrl","width","marginRight"],"sources":["MessageIncomingAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useUserProfile } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingAvatar = ({ message, grouping }: Props) => {\n const { show } = useUserProfile();\n if (grouping) return <View style={styles.avatar} />;\n return (\n <View style={styles.avatar}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Pressable onPress={() => show(message.sender)}>\n <Avatar size={26} uri={message.sender?.profileUrl} />\n </Pressable>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n avatar: {\n width: 26,\n marginRight: 12,\n },\n});\n\nexport default MessageIncomingAvatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAE9C,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,yCAAyC;AAGlF,SAASC,cAAc,QAAQ,wBAAwB;AAMvD,MAAMC,qBAAqB,GAAGC,IAAA,IAAkC;EAAA,IAAAC,eAAA;EAAA,IAAjC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAAH,IAAA;EACzD,MAAM;IAAEI;EAAK,CAAC,GAAGN,cAAc,EAAE;EACjC,IAAIK,QAAQ,EAAE,oBAAOV,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAO,EAAG;EACnD,oBACEf,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAO,GACxB,CAACN,OAAO,CAACO,aAAa,EAAE,IAAIP,OAAO,CAACQ,aAAa,EAAE,kBAClDjB,KAAA,CAAAY,aAAA,CAACX,SAAS;IAACiB,OAAO,EAAEA,CAAA,KAAMP,IAAI,CAACF,OAAO,CAACU,MAAM;EAAE,gBAC7CnB,KAAA,CAAAY,aAAA,CAACT,MAAM;IAACiB,IAAI,EAAE,EAAG;IAACC,GAAG,GAAAb,eAAA,GAAEC,OAAO,CAACU,MAAM,cAAAX,eAAA,uBAAdA,eAAA,CAAgBc;EAAW,EAAG,CAExD,CACI;AAEX,CAAC;AAED,MAAMR,MAAM,GAAGV,gBAAgB,CAAC;EAC9BW,MAAM,EAAE;IACNQ,KAAK,EAAE,EAAE;IACTC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAelB,qBAAqB"}
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
4
- import { useLocalization } from '../../hooks/useContext';
5
- const MessageIncomingSenderName = _ref => {
6
- var _message$sender;
7
- let {
8
- message,
9
- grouping
10
- } = _ref;
11
- const {
12
- colors
13
- } = useUIKitTheme();
14
- const {
15
- STRINGS
16
- } = useLocalization();
17
- if (grouping) return null;
18
- return /*#__PURE__*/React.createElement(View, {
19
- style: styles.sender
20
- }, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Text, {
21
- caption1: true,
22
- color: colors.ui.groupChannelMessage.incoming.enabled.textSenderName,
23
- numberOfLines: 1
24
- }, ((_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.nickname) || STRINGS.LABELS.USER_NO_NAME));
25
- };
26
- const styles = createStyleSheet({
27
- sender: {
28
- marginLeft: 12,
29
- marginBottom: 4
30
- }
31
- });
32
- export default MessageIncomingSenderName;
33
- //# sourceMappingURL=MessageIncomingSenderName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","MessageIncomingSenderName","_ref","_message$sender","message","grouping","colors","STRINGS","createElement","style","styles","sender","isFileMessage","isUserMessage","caption1","color","ui","groupChannelMessage","incoming","enabled","textSenderName","numberOfLines","nickname","LABELS","USER_NO_NAME","marginLeft","marginBottom"],"sources":["MessageIncomingSenderName.tsx"],"sourcesContent":["import 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\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingSenderName = ({ message, grouping }: Props) => {\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n if (grouping) return null;\n\n return (\n <View style={styles.sender}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Text caption1 color={colors.ui.groupChannelMessage.incoming.enabled.textSenderName} numberOfLines={1}>\n {message.sender?.nickname || STRINGS.LABELS.USER_NO_NAME}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n sender: {\n marginLeft: 12,\n marginBottom: 4,\n },\n});\n\nexport default MessageIncomingSenderName;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAMxD,MAAMC,yBAAyB,GAAGC,IAAA,IAAkC;EAAA,IAAAC,eAAA;EAAA,IAAjC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAAH,IAAA;EAC7D,MAAM;IAAEI;EAAO,CAAC,GAAGP,aAAa,EAAE;EAClC,MAAM;IAAEQ;EAAQ,CAAC,GAAGP,eAAe,EAAE;EACrC,IAAIK,QAAQ,EAAE,OAAO,IAAI;EAEzB,oBACEV,KAAA,CAAAa,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACC;EAAO,GACxB,CAACP,OAAO,CAACQ,aAAa,EAAE,IAAIR,OAAO,CAACS,aAAa,EAAE,kBAClDlB,KAAA,CAAAa,aAAA,CAACX,IAAI;IAACiB,QAAQ;IAACC,KAAK,EAAET,MAAM,CAACU,EAAE,CAACC,mBAAmB,CAACC,QAAQ,CAACC,OAAO,CAACC,cAAe;IAACC,aAAa,EAAE;EAAE,GACnG,EAAAlB,eAAA,GAAAC,OAAO,CAACO,MAAM,cAAAR,eAAA,uBAAdA,eAAA,CAAgBmB,QAAQ,KAAIf,OAAO,CAACgB,MAAM,CAACC,YAAY,CAE3D,CACI;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGZ,gBAAgB,CAAC;EAC9Ba,MAAM,EAAE;IACNc,UAAU,EAAE,EAAE;IACdC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,eAAezB,yBAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useMessageOutgoingStatus","Icon","LoadingSpinner","createStyleSheet","useUIKitTheme","useSendbirdChat","SIZE","MessageOutgoingStatus","_ref","channel","message","isUserMessage","isFileMessage","sdk","colors","outgoingStatus","createElement","size","style","styles","container","icon","color","error","secondary","onBackground03","marginRight","memo"],"sources":["MessageOutgoingStatus.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport { Icon, LoadingSpinner, createStyleSheet, 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 = { channel: SendbirdGroupChannel; message: SendbirdMessage };\nconst MessageOutgoingStatus = ({ channel, message }: Props) => {\n if (!message.isUserMessage() && !message.isFileMessage()) 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={styles.container} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={SIZE} color={colors.error} style={styles.container} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.secondary} style={styles.container} />;\n }\n\n if (outgoingStatus === 'UNREAD' || outgoingStatus === 'DELIVERED') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.onBackground03} style={styles.container} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={SIZE} color={colors.onBackground03} style={styles.container} />;\n }\n\n return null;\n};\n\nconst styles = createStyleSheet({\n container: {\n marginRight: 4,\n },\n});\n\nexport default React.memo(MessageOutgoingStatus);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,IAAI,EAAEC,cAAc,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/G,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,IAAI,GAAG,EAAE;AAGf,MAAMC,qBAAqB,GAAGC,IAAA,IAAiC;EAAA,IAAhC;IAAEC,OAAO;IAAEC;EAAe,CAAC,GAAAF,IAAA;EACxD,IAAI,CAACE,OAAO,CAACC,aAAa,EAAE,IAAI,CAACD,OAAO,CAACE,aAAa,EAAE,EAAE,OAAO,IAAI;EAErE,MAAM;IAAEC;EAAI,CAAC,GAAGR,eAAe,EAAE;EACjC,MAAM;IAAES;EAAO,CAAC,GAAGV,aAAa,EAAE;EAClC,MAAMW,cAAc,GAAGf,wBAAwB,CAACa,GAAG,EAAEJ,OAAO,EAAEC,OAAO,CAAC;EAEtE,IAAIK,cAAc,KAAK,SAAS,EAAE;IAChC,oBAAOhB,KAAA,CAAAiB,aAAA,CAACd,cAAc;MAACe,IAAI,EAAEX,IAAK;MAACY,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAChE;EAEA,IAAIL,cAAc,KAAK,QAAQ,EAAE;IAC/B,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,OAAQ;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACS,KAAM;MAACL,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAC1F;EAEA,IAAIL,cAAc,KAAK,MAAM,EAAE;IAC7B,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,UAAW;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACU,SAAU;MAACN,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EACjG;EAEA,IAAIL,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,WAAW,EAAE;IACjE,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,UAAW;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACW,cAAe;MAACP,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EACtG;EAEA,IAAIL,cAAc,KAAK,aAAa,EAAE;IACpC,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,MAAO;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACW,cAAe;MAACP,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAClG;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMD,MAAM,GAAGhB,gBAAgB,CAAC;EAC9BiB,SAAS,EAAE;IACTM,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,4BAAe3B,KAAK,CAAC4B,IAAI,CAACpB,qBAAqB,CAAC"}
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
4
- import { useLocalization } from '../../hooks/useContext';
5
- const MessageTime = _ref => {
6
- let {
7
- message,
8
- grouping,
9
- style
10
- } = _ref;
11
- const {
12
- STRINGS
13
- } = useLocalization();
14
- const {
15
- colors
16
- } = useUIKitTheme();
17
- if (grouping) return null;
18
- return /*#__PURE__*/React.createElement(View, {
19
- style: style
20
- }, /*#__PURE__*/React.createElement(Text, {
21
- caption4: true,
22
- color: colors.ui.groupChannelMessage.incoming.enabled.textTime
23
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message)));
24
- };
25
- export default MessageTime;
26
- //# sourceMappingURL=MessageTime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","Text","useUIKitTheme","useLocalization","MessageTime","_ref","message","grouping","style","STRINGS","colors","createElement","caption4","color","ui","groupChannelMessage","incoming","enabled","textTime","GROUP_CHANNEL","MESSAGE_BUBBLE_TIME"],"sources":["MessageTime.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n style?: StyleProp<ViewStyle>;\n};\nconst MessageTime = ({ message, grouping, style }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n if (grouping) return null;\n\n return (\n <View style={style}>\n <Text caption4 color={colors.ui.groupChannelMessage.incoming.enabled.textTime}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message)}\n </Text>\n </View>\n );\n};\n\nexport default MessageTime;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAAmB,cAAc;AAEzD,SAASC,IAAI,EAAEC,aAAa,QAAQ,yCAAyC;AAG7E,SAASC,eAAe,QAAQ,wBAAwB;AAOxD,MAAMC,WAAW,GAAGC,IAAA,IAAyC;EAAA,IAAxC;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAH,IAAA;EACtD,MAAM;IAAEI;EAAQ,CAAC,GAAGN,eAAe,EAAE;EACrC,MAAM;IAAEO;EAAO,CAAC,GAAGR,aAAa,EAAE;EAClC,IAAIK,QAAQ,EAAE,OAAO,IAAI;EAEzB,oBACER,KAAA,CAAAY,aAAA,CAACX,IAAI;IAACQ,KAAK,EAAEA;EAAM,gBACjBT,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAEH,MAAM,CAACI,EAAE,CAACC,mBAAmB,CAACC,QAAQ,CAACC,OAAO,CAACC;EAAS,GAC3ET,OAAO,CAACU,aAAa,CAACC,mBAAmB,CAACd,OAAO,CAAC,CAC9C,CACF;AAEX,CAAC;AAED,eAAeF,WAAW"}
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
4
- import { useLocalization } from '../../../hooks/useContext';
5
- const UnknownMessage = _ref => {
6
- let {
7
- message,
8
- variant,
9
- pressed
10
- } = _ref;
11
- const {
12
- STRINGS
13
- } = useLocalization();
14
- const {
15
- colors
16
- } = useUIKitTheme();
17
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
18
- return /*#__PURE__*/React.createElement(View, {
19
- style: [styles.container, {
20
- backgroundColor: color.background
21
- }]
22
- }, /*#__PURE__*/React.createElement(Text, {
23
- body3: true,
24
- color: colors.onBackground01
25
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message)), /*#__PURE__*/React.createElement(Text, {
26
- body3: true,
27
- color: colors.onBackground02
28
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)));
29
- };
30
- const styles = createStyleSheet({
31
- container: {
32
- paddingHorizontal: 12,
33
- paddingVertical: 6,
34
- borderRadius: 16
35
- }
36
- });
37
- export default UnknownMessage;
38
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","UnknownMessage","_ref","message","variant","pressed","STRINGS","colors","color","ui","groupChannelMessage","createElement","style","styles","container","backgroundColor","background","body3","onBackground01","GROUP_CHANNEL","MESSAGE_BUBBLE_UNKNOWN_TITLE","onBackground02","MESSAGE_BUBBLE_UNKNOWN_DESC","paddingHorizontal","paddingVertical","borderRadius"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { MessageRendererInterface } from '../index';\n\nexport type UnknownMessageProps = MessageRendererInterface;\nconst UnknownMessage = ({ message, variant, pressed }: UnknownMessageProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n return (\n <View style={[styles.container, { backgroundColor: color.background }]}>\n <Text body3 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message)}\n </Text>\n <Text body3 color={colors.onBackground02}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 16,\n },\n});\n\nexport default UnknownMessage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAE/F,SAASC,eAAe,QAAQ,2BAA2B;AAI3D,MAAMC,cAAc,GAAGC,IAAA,IAAwD;EAAA,IAAvD;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAA6B,CAAC,GAAAH,IAAA;EACxE,MAAM;IAAEI;EAAQ,CAAC,GAAGN,eAAe,EAAE;EACrC,MAAM;IAAEO;EAAO,CAAC,GAAGR,aAAa,EAAE;EAClC,MAAMS,KAAK,GAAGD,MAAM,CAACE,EAAE,CAACC,mBAAmB,CAACN,OAAO,CAAC,CAACC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;EACrF,oBACEV,KAAA,CAAAgB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEP,KAAK,CAACQ;IAAW,CAAC;EAAE,gBACrErB,KAAA,CAAAgB,aAAA,CAACd,IAAI;IAACoB,KAAK;IAACT,KAAK,EAAED,MAAM,CAACW;EAAe,GACtCZ,OAAO,CAACa,aAAa,CAACC,4BAA4B,CAACjB,OAAO,CAAC,CACvD,eACPR,KAAA,CAAAgB,aAAA,CAACd,IAAI;IAACoB,KAAK;IAACT,KAAK,EAAED,MAAM,CAACc;EAAe,GACtCf,OAAO,CAACa,aAAa,CAACG,2BAA2B,CAACnB,OAAO,CAAC,CACtD,CACF;AAEX,CAAC;AAED,MAAMU,MAAM,GAAGf,gBAAgB,CAAC;EAC9BgB,SAAS,EAAE;IACTS,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,eAAexB,cAAc"}
@@ -1,105 +0,0 @@
1
- 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); }
2
- import React from 'react';
3
- import { View } from 'react-native';
4
- import { RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import { urlRegexStrict } from '@sendbird/uikit-utils';
6
- import { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';
7
- import SBUUtils from '../../../libs/SBUUtils';
8
- const BaseUserMessage = _ref => {
9
- let {
10
- message,
11
- variant,
12
- pressed,
13
- children,
14
- onLongPressMentionedUser,
15
- onLongPressURL
16
- } = _ref;
17
- const {
18
- mentionManager,
19
- currentUser
20
- } = useSendbirdChat();
21
- const {
22
- show
23
- } = useUserProfile();
24
- const {
25
- STRINGS
26
- } = useLocalization();
27
- const {
28
- colors,
29
- palette
30
- } = useUIKitTheme();
31
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
32
- return /*#__PURE__*/React.createElement(View, {
33
- style: [styles.container, {
34
- backgroundColor: color.background
35
- }]
36
- }, /*#__PURE__*/React.createElement(View, {
37
- style: styles.wrapper
38
- }, /*#__PURE__*/React.createElement(Text, {
39
- body3: true,
40
- color: color.textMsg
41
- }, /*#__PURE__*/React.createElement(RegexText, {
42
- body3: true,
43
- color: color.textMsg,
44
- patterns: [{
45
- regex: mentionManager.templateRegex,
46
- replacer(_ref2) {
47
- var _message$mentionedUse;
48
- let {
49
- match,
50
- groups,
51
- parentProps,
52
- index,
53
- keyPrefix
54
- } = _ref2;
55
- const user = (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.find(it => it.userId === groups[2]);
56
- if (user) {
57
- return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
58
- key: `${keyPrefix}-${index}`,
59
- onPress: () => show(user),
60
- onLongPress: onLongPressMentionedUser,
61
- style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, {
62
- fontWeight: 'bold'
63
- }, user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) && {
64
- backgroundColor: palette.highlight
65
- }]
66
- }), `${mentionManager.asMentionedMessageText(user)}`);
67
- }
68
- return match;
69
- }
70
- }, {
71
- regex: urlRegexStrict,
72
- replacer(_ref3) {
73
- let {
74
- match,
75
- parentProps,
76
- index,
77
- keyPrefix
78
- } = _ref3;
79
- return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
80
- key: `${keyPrefix}-${index}`,
81
- onPress: () => SBUUtils.openURL(match),
82
- onLongPress: onLongPressURL,
83
- style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, {
84
- textDecorationLine: 'underline'
85
- }]
86
- }), match);
87
- }
88
- }]
89
- }, mentionManager.shouldUseMentionedMessageTemplate(message) ? message.mentionedMessageTemplate : message.message), Boolean(message.updatedAt) && /*#__PURE__*/React.createElement(Text, {
90
- body3: true,
91
- color: color.textEdited
92
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX))), children);
93
- };
94
- const styles = createStyleSheet({
95
- container: {
96
- borderRadius: 16,
97
- overflow: 'hidden'
98
- },
99
- wrapper: {
100
- paddingHorizontal: 12,
101
- paddingVertical: 6
102
- }
103
- });
104
- export default BaseUserMessage;
105
- //# sourceMappingURL=BaseUserMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","RegexText","Text","createStyleSheet","useUIKitTheme","urlRegexStrict","useLocalization","useSendbirdChat","useUserProfile","SBUUtils","BaseUserMessage","_ref","message","variant","pressed","children","onLongPressMentionedUser","onLongPressURL","mentionManager","currentUser","show","STRINGS","colors","palette","color","ui","groupChannelMessage","createElement","style","styles","container","backgroundColor","background","wrapper","body3","textMsg","patterns","regex","templateRegex","replacer","_ref2","_message$mentionedUse","match","groups","parentProps","index","keyPrefix","user","mentionedUsers","find","it","userId","_extends","key","onPress","onLongPress","fontWeight","highlight","asMentionedMessageText","_ref3","openURL","textDecorationLine","shouldUseMentionedMessageTemplate","mentionedMessageTemplate","Boolean","updatedAt","textEdited","GROUP_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","borderRadius","overflow","paddingHorizontal","paddingVertical"],"sources":["BaseUserMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { UserMessageProps } from './index';\n\nconst BaseUserMessage = ({\n message,\n variant,\n pressed,\n children,\n onLongPressMentionedUser,\n onLongPressURL,\n}: UserMessageProps) => {\n const { mentionManager, currentUser } = useSendbirdChat();\n const { show } = useUserProfile();\n const { STRINGS } = useLocalization();\n const { colors, palette } = useUIKitTheme();\n\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n\n return (\n <View style={[styles.container, { backgroundColor: color.background }]}>\n <View style={styles.wrapper}>\n <Text body3 color={color.textMsg}>\n <RegexText\n body3\n color={color.textMsg}\n patterns={[\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 return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => show(user)}\n onLongPress={onLongPressMentionedUser}\n style={[\n parentProps?.style,\n { fontWeight: 'bold' },\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 regex: urlRegexStrict,\n replacer({ match, parentProps, index, keyPrefix }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => SBUUtils.openURL(match)}\n onLongPress={onLongPressURL}\n style={[parentProps?.style, { textDecorationLine: 'underline' }]}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {mentionManager.shouldUseMentionedMessageTemplate(message)\n ? message.mentionedMessageTemplate\n : message.message}\n </RegexText>\n {Boolean(message.updatedAt) && (\n <Text body3 color={color.textEdited}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX}\n </Text>\n )}\n </Text>\n </View>\n {children}\n </View>\n );\n};\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n wrapper: {\n paddingHorizontal: 12,\n paddingVertical: 6,\n },\n});\n\nexport default BaseUserMessage;\n"],"mappings":"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"}
@@ -1,190 +0,0 @@
1
- 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); }
2
- import React, { useState } from 'react';
3
- import { TouchableOpacity, View } from 'react-native';
4
- import { Icon, Image, RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
5
- import { conditionChaining, urlRegexRough } from '@sendbird/uikit-utils';
6
- import { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';
7
- import SBUUtils from '../../../libs/SBUUtils';
8
- const OpenGraphUserMessage = _ref => {
9
- var _ogMetaData$defaultIm;
10
- let {
11
- message,
12
- variant,
13
- pressed,
14
- ogMetaData,
15
- children,
16
- onLongPressMentionedUser,
17
- onLongPressURL
18
- } = _ref;
19
- const {
20
- mentionManager,
21
- currentUser
22
- } = useSendbirdChat();
23
- const {
24
- STRINGS
25
- } = useLocalization();
26
- const {
27
- show
28
- } = useUserProfile();
29
- const {
30
- colors,
31
- select,
32
- palette
33
- } = useUIKitTheme();
34
- const [imageNotFound, setImageNotFound] = useState(false);
35
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
36
- const containerBackground = select({
37
- dark: palette.background400,
38
- light: palette.background100
39
- });
40
- return /*#__PURE__*/React.createElement(View, {
41
- style: [styles.bubbleContainer, {
42
- backgroundColor: containerBackground
43
- }]
44
- }, /*#__PURE__*/React.createElement(View, {
45
- style: [styles.container, styles.bubbleContainer, {
46
- backgroundColor: color.background
47
- }]
48
- }, /*#__PURE__*/React.createElement(View, {
49
- style: styles.messageContainer
50
- }, /*#__PURE__*/React.createElement(Text, {
51
- body3: true,
52
- color: color.textMsg
53
- }, /*#__PURE__*/React.createElement(RegexText, {
54
- body3: true,
55
- color: color.textMsg,
56
- patterns: [{
57
- regex: mentionManager.templateRegex,
58
- replacer(_ref2) {
59
- var _message$mentionedUse;
60
- let {
61
- match,
62
- groups,
63
- parentProps,
64
- keyPrefix,
65
- index
66
- } = _ref2;
67
- const user = (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.find(it => it.userId === groups[2]);
68
- if (user) {
69
- const isCurrentUser = user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
70
- return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
71
- key: `${keyPrefix}-${index}`,
72
- onPress: () => show(user),
73
- onLongPress: onLongPressMentionedUser,
74
- style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, styles.mentionedText, isCurrentUser && {
75
- backgroundColor: palette.highlight
76
- }]
77
- }), `${mentionManager.asMentionedMessageText(user)}`);
78
- }
79
- return match;
80
- }
81
- }, {
82
- regex: urlRegexRough,
83
- replacer(_ref3) {
84
- let {
85
- match,
86
- parentProps,
87
- keyPrefix,
88
- index
89
- } = _ref3;
90
- return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
91
- key: `${keyPrefix}-${index}`,
92
- onPress: () => SBUUtils.openURL(match),
93
- onLongPress: onLongPressURL,
94
- style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, styles.urlText]
95
- }), match);
96
- }
97
- }]
98
- }, mentionManager.shouldUseMentionedMessageTemplate(message) ? message.mentionedMessageTemplate : message.message), Boolean(message.updatedAt) && /*#__PURE__*/React.createElement(Text, {
99
- body3: true,
100
- color: color.textEdited
101
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX))), /*#__PURE__*/React.createElement(TouchableOpacity, {
102
- style: {
103
- backgroundColor: select({
104
- dark: palette.background500,
105
- light: palette.background200
106
- })
107
- },
108
- activeOpacity: 0.85,
109
- onPress: () => SBUUtils.openURL(ogMetaData.url)
110
- }, /*#__PURE__*/React.createElement(View, {
111
- style: [styles.ogImageContainer, {
112
- backgroundColor: select({
113
- dark: palette.background500,
114
- light: palette.background200
115
- })
116
- }]
117
- }, conditionChaining([imageNotFound], [/*#__PURE__*/React.createElement(Icon, {
118
- containerStyle: styles.ogImage,
119
- icon: 'thumbnail-none',
120
- size: 48,
121
- color: colors.onBackground02
122
- }), /*#__PURE__*/React.createElement(Image, {
123
- source: {
124
- uri: (_ogMetaData$defaultIm = ogMetaData.defaultImage) === null || _ogMetaData$defaultIm === void 0 ? void 0 : _ogMetaData$defaultIm.url
125
- },
126
- style: styles.ogImage,
127
- resizeMode: 'cover',
128
- onError: () => setImageNotFound(true)
129
- })])), /*#__PURE__*/React.createElement(View, {
130
- style: [styles.ogContainer, {
131
- backgroundColor: containerBackground
132
- }]
133
- }, /*#__PURE__*/React.createElement(Text, {
134
- numberOfLines: 3,
135
- body2: true,
136
- color: colors.onBackground01,
137
- style: styles.ogTitle
138
- }, ogMetaData.title), Boolean(ogMetaData.description) && /*#__PURE__*/React.createElement(Text, {
139
- numberOfLines: 1,
140
- caption2: true,
141
- color: colors.onBackground01,
142
- style: styles.ogDesc
143
- }, ogMetaData.description), /*#__PURE__*/React.createElement(Text, {
144
- numberOfLines: 1,
145
- caption2: true,
146
- color: colors.onBackground02
147
- }, ogMetaData.url)))), children);
148
- };
149
- const styles = createStyleSheet({
150
- bubbleContainer: {
151
- borderRadius: 16,
152
- overflow: 'hidden'
153
- },
154
- container: {
155
- width: 240,
156
- maxWidth: 240
157
- },
158
- messageContainer: {
159
- paddingVertical: 6,
160
- paddingHorizontal: 12
161
- },
162
- ogContainer: {
163
- paddingHorizontal: 12,
164
- paddingTop: 8,
165
- paddingBottom: 12
166
- },
167
- ogImageContainer: {
168
- flex: 1,
169
- height: 136
170
- },
171
- ogImage: {
172
- width: '100%',
173
- height: '100%'
174
- },
175
- ogTitle: {
176
- marginBottom: 4
177
- },
178
- ogDesc: {
179
- lineHeight: 14,
180
- marginBottom: 8
181
- },
182
- mentionedText: {
183
- fontWeight: 'bold'
184
- },
185
- urlText: {
186
- textDecorationLine: 'underline'
187
- }
188
- });
189
- export default OpenGraphUserMessage;
190
- //# sourceMappingURL=OpenGraphUserMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useState","TouchableOpacity","View","Icon","Image","RegexText","Text","createStyleSheet","useUIKitTheme","conditionChaining","urlRegexRough","useLocalization","useSendbirdChat","useUserProfile","SBUUtils","OpenGraphUserMessage","_ref","_ogMetaData$defaultIm","message","variant","pressed","ogMetaData","children","onLongPressMentionedUser","onLongPressURL","mentionManager","currentUser","STRINGS","show","colors","select","palette","imageNotFound","setImageNotFound","color","ui","groupChannelMessage","containerBackground","dark","background400","light","background100","createElement","style","styles","bubbleContainer","backgroundColor","container","background","messageContainer","body3","textMsg","patterns","regex","templateRegex","replacer","_ref2","_message$mentionedUse","match","groups","parentProps","keyPrefix","index","user","mentionedUsers","find","it","userId","isCurrentUser","_extends","key","onPress","onLongPress","mentionedText","highlight","asMentionedMessageText","_ref3","openURL","urlText","shouldUseMentionedMessageTemplate","mentionedMessageTemplate","Boolean","updatedAt","textEdited","GROUP_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","background500","background200","activeOpacity","url","ogImageContainer","containerStyle","ogImage","icon","size","onBackground02","source","uri","defaultImage","resizeMode","onError","ogContainer","numberOfLines","body2","onBackground01","ogTitle","title","description","caption2","ogDesc","borderRadius","overflow","width","maxWidth","paddingVertical","paddingHorizontal","paddingTop","paddingBottom","flex","height","marginBottom","lineHeight","fontWeight","textDecorationLine"],"sources":["OpenGraphUserMessage.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TouchableOpacity, View } from 'react-native';\n\nimport type { OGMetaData } from '@sendbird/chat/message';\nimport { Icon, Image, RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining, urlRegexRough } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { UserMessageProps } from './index';\n\ntype Props = UserMessageProps & {\n ogMetaData: OGMetaData;\n};\n\nconst OpenGraphUserMessage = ({\n message,\n variant,\n pressed,\n ogMetaData,\n children,\n onLongPressMentionedUser,\n onLongPressURL,\n}: Props) => {\n const { mentionManager, currentUser } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { show } = useUserProfile();\n const { colors, select, palette } = useUIKitTheme();\n\n const [imageNotFound, setImageNotFound] = useState(false);\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n\n const containerBackground = select({ dark: palette.background400, light: palette.background100 });\n\n return (\n <View style={[styles.bubbleContainer, { backgroundColor: containerBackground }]}>\n <View style={[styles.container, styles.bubbleContainer, { backgroundColor: color.background }]}>\n <View style={styles.messageContainer}>\n <Text body3 color={color.textMsg}>\n <RegexText\n body3\n color={color.textMsg}\n patterns={[\n {\n regex: mentionManager.templateRegex,\n replacer({ match, groups, parentProps, keyPrefix, index }) {\n const user = message.mentionedUsers?.find((it) => it.userId === groups[2]);\n if (user) {\n const isCurrentUser = user.userId === currentUser?.userId;\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => show(user)}\n onLongPress={onLongPressMentionedUser}\n style={[\n parentProps?.style,\n styles.mentionedText,\n isCurrentUser && { backgroundColor: palette.highlight },\n ]}\n >\n {`${mentionManager.asMentionedMessageText(user)}`}\n </Text>\n );\n }\n return match;\n },\n },\n {\n regex: urlRegexRough,\n replacer({ match, parentProps, keyPrefix, index }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => SBUUtils.openURL(match)}\n onLongPress={onLongPressURL}\n style={[parentProps?.style, styles.urlText]}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {mentionManager.shouldUseMentionedMessageTemplate(message)\n ? message.mentionedMessageTemplate\n : message.message}\n </RegexText>\n {Boolean(message.updatedAt) && (\n <Text body3 color={color.textEdited}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX}\n </Text>\n )}\n </Text>\n </View>\n <TouchableOpacity\n style={{ backgroundColor: select({ dark: palette.background500, light: palette.background200 }) }}\n activeOpacity={0.85}\n onPress={() => SBUUtils.openURL(ogMetaData.url)}\n >\n <View\n style={[\n styles.ogImageContainer,\n { backgroundColor: select({ dark: palette.background500, light: palette.background200 }) },\n ]}\n >\n {conditionChaining(\n [imageNotFound],\n [\n <Icon\n containerStyle={styles.ogImage}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />,\n <Image\n source={{ uri: ogMetaData.defaultImage?.url }}\n style={styles.ogImage}\n resizeMode={'cover'}\n onError={() => setImageNotFound(true)}\n />,\n ],\n )}\n </View>\n <View style={[styles.ogContainer, { backgroundColor: containerBackground }]}>\n <Text numberOfLines={3} body2 color={colors.onBackground01} style={styles.ogTitle}>\n {ogMetaData.title}\n </Text>\n {Boolean(ogMetaData.description) && (\n <Text numberOfLines={1} caption2 color={colors.onBackground01} style={styles.ogDesc}>\n {ogMetaData.description}\n </Text>\n )}\n <Text numberOfLines={1} caption2 color={colors.onBackground02}>\n {ogMetaData.url}\n </Text>\n </View>\n </TouchableOpacity>\n </View>\n {children}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n container: {\n width: 240,\n maxWidth: 240,\n },\n messageContainer: {\n paddingVertical: 6,\n paddingHorizontal: 12,\n },\n ogContainer: {\n paddingHorizontal: 12,\n paddingTop: 8,\n paddingBottom: 12,\n },\n ogImageContainer: {\n flex: 1,\n height: 136,\n },\n ogImage: {\n width: '100%',\n height: '100%',\n },\n ogTitle: {\n marginBottom: 4,\n },\n ogDesc: {\n lineHeight: 14,\n marginBottom: 8,\n },\n mentionedText: {\n fontWeight: 'bold',\n },\n urlText: {\n textDecorationLine: 'underline',\n },\n});\n\nexport default OpenGraphUserMessage;\n"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- 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); }
2
- import React from 'react';
3
- import BaseUserMessage from './BaseUserMessage';
4
- import OpenGraphUserMessage from './OpenGraphUserMessage';
5
- const UserMessage = props => {
6
- if (props.message.ogMetaData) {
7
- return /*#__PURE__*/React.createElement(OpenGraphUserMessage, _extends({}, props, {
8
- ogMetaData: props.message.ogMetaData
9
- }));
10
- }
11
- return /*#__PURE__*/React.createElement(BaseUserMessage, props);
12
- };
13
- export default /*#__PURE__*/React.memo(UserMessage);
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","BaseUserMessage","OpenGraphUserMessage","UserMessage","props","message","ogMetaData","createElement","_extends","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { SendbirdUserMessage } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\nimport BaseUserMessage from './BaseUserMessage';\nimport OpenGraphUserMessage from './OpenGraphUserMessage';\n\nexport type UserMessageProps = MessageRendererInterface<\n SendbirdUserMessage,\n {\n onLongPressMentionedUser?: () => void;\n onLongPressURL?: () => void;\n }\n>;\n\nconst UserMessage = (props: UserMessageProps) => {\n if (props.message.ogMetaData) {\n return <OpenGraphUserMessage {...props} ogMetaData={props.message.ogMetaData} />;\n }\n return <BaseUserMessage {...props} />;\n};\n\nexport default React.memo(UserMessage);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAKzB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,oBAAoB,MAAM,wBAAwB;AAUzD,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C,IAAIA,KAAK,CAACC,OAAO,CAACC,UAAU,EAAE;IAC5B,oBAAON,KAAA,CAAAO,aAAA,CAACL,oBAAoB,EAAAM,QAAA,KAAKJ,KAAK;MAAEE,UAAU,EAAEF,KAAK,CAACC,OAAO,CAACC;IAAW,GAAG;EAClF;EACA,oBAAON,KAAA,CAAAO,aAAA,CAACN,eAAe,EAAKG,KAAK,CAAI;AACvC,CAAC;AAED,4BAAeJ,KAAK,CAACS,IAAI,CAACN,WAAW,CAAC"}