@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
@@ -11,7 +11,7 @@ class MentionManager {
11
11
  private _invalidStartsKeywords: string[];
12
12
  private _templateRegex: RegExp;
13
13
 
14
- constructor(public config: MentionConfigInterface, public mentionEnabled: boolean) {
14
+ constructor(public config: MentionConfigInterface) {
15
15
  this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];
16
16
  this._templateRegex = createMentionTemplateRegex(this.config.trigger);
17
17
  }
@@ -120,8 +120,8 @@ class MentionManager {
120
120
  /**
121
121
  * @description Bold @user.nickname
122
122
  * */
123
- public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[]) => {
124
- if (!this.mentionEnabled || mentionedUsers.length === 0) return text;
123
+ public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {
124
+ if (!mentionEnabled || mentionedUsers.length === 0) return text;
125
125
 
126
126
  const { leftText, components } = mentionedUsers
127
127
  .sort((a, b) => b.range.start - a.range.start)
@@ -148,8 +148,8 @@ class MentionManager {
148
148
  return [leftText, ...components];
149
149
  };
150
150
 
151
- public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[]) => {
152
- if (!this.mentionEnabled) return text;
151
+ public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {
152
+ if (!mentionEnabled) return text;
153
153
 
154
154
  const { leftText, strings } = mentionedUsers
155
155
  .sort((a, b) => b.range.start - a.range.start)
@@ -216,12 +216,13 @@ class MentionManager {
216
216
 
217
217
  public shouldUseMentionedMessageTemplate = (
218
218
  message?: SendbirdUserMessage | SendbirdFileMessage,
219
+ mentionEnabled?: boolean,
219
220
  ): message is RequiredSpecific<
220
221
  SendbirdUserMessage | SendbirdFileMessage,
221
222
  'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'
222
223
  > => {
223
224
  return Boolean(
224
- this.mentionEnabled &&
225
+ mentionEnabled &&
225
226
  message?.mentionedMessageTemplate &&
226
227
  message?.mentionedUsers &&
227
228
  message?.mentionedUsers.length > 0,
@@ -234,7 +235,7 @@ type RequiredSpecific<T, K extends keyof T> = T & {
234
235
  };
235
236
 
236
237
  const styles = createStyleSheet({
237
- mentionedText: { fontWeight: 'bold' },
238
+ mentionedText: { fontWeight: '700' },
238
239
  });
239
240
 
240
241
  export default MentionManager;
@@ -9,9 +9,13 @@ export default class SBUUtils {
9
9
  });
10
10
  }
11
11
 
12
- static openURL(url: string) {
13
- const targetUrl = url.startsWith('http') ? url : 'https://' + url;
14
- Linking.openURL(targetUrl).catch((err) => Logger.warn('Cannot open url', err));
12
+ static async openURL(url: string) {
13
+ try {
14
+ const targetUrl = url.startsWith('http') ? url : 'https://' + url;
15
+ await Linking.openURL(targetUrl);
16
+ } catch (e) {
17
+ Logger.warn('Cannot open url', e);
18
+ }
15
19
  }
16
20
 
17
21
  static getImageSize(uri: string): Promise<{ width: number; height: number }> {
@@ -30,9 +30,6 @@ export interface StringSet {
30
30
  MESSAGE_BUBBLE_EDITED_POSTFIX: string;
31
31
  MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;
32
32
  MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
33
-
34
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
35
- LIST_BANNER_FROZEN: string;
36
33
  };
37
34
  OPEN_CHANNEL_PARTICIPANTS: {
38
35
  /** OpenChannelParticipants > Header */
@@ -128,43 +125,6 @@ export interface StringSet {
128
125
 
129
126
  /** GroupChannel > Suggested mention list */
130
127
  MENTION_LIMITED: (mentionLimit: number) => string;
131
-
132
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
133
- LIST_BANNER_FROZEN: string;
134
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
135
- DIALOG_MESSAGE_COPY: string;
136
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
137
- DIALOG_MESSAGE_EDIT: string;
138
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/
139
- DIALOG_MESSAGE_SAVE: string;
140
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/
141
- DIALOG_MESSAGE_DELETE: string;
142
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/
143
- DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;
144
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/
145
- DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;
146
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/
147
- DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;
148
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/
149
- DIALOG_MESSAGE_FAILED_RETRY: string;
150
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/
151
- DIALOG_MESSAGE_FAILED_REMOVE: string;
152
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/
153
- DIALOG_ATTACHMENT_CAMERA: string;
154
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/
155
- DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;
156
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/
157
- DIALOG_ATTACHMENT_FILES: string;
158
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/
159
- INPUT_PLACEHOLDER_ACTIVE: string;
160
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/
161
- INPUT_PLACEHOLDER_DISABLED: string;
162
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/
163
- INPUT_PLACEHOLDER_MUTED: string;
164
- /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/
165
- INPUT_EDIT_OK: string;
166
- /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/
167
- INPUT_EDIT_CANCEL: string;
168
128
  };
169
129
  GROUP_CHANNEL_SETTINGS: {
170
130
  /** GroupChannelSettings > Header */
@@ -253,11 +213,6 @@ export interface StringSet {
253
213
  GROUP_CHANNEL_MEMBERS: {
254
214
  /** GroupChannelMembers > Header */
255
215
  HEADER_TITLE: string;
256
-
257
- /** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/
258
- USER_BAR_ME_POSTFIX: string;
259
- /** @deprecated Please use LABELS.USER_BAR_OPERATOR **/
260
- USER_BAR_OPERATOR: string;
261
216
  };
262
217
  GROUP_CHANNEL_INVITE: {
263
218
  /** GroupChannelInvite > Header */
@@ -309,7 +264,8 @@ export interface StringSet {
309
264
  CHANNEL_INPUT_EDIT_OK: string;
310
265
  CHANNEL_INPUT_EDIT_CANCEL: string;
311
266
  /** ChannelInput > Attachments **/
312
- CHANNEL_INPUT_ATTACHMENT_CAMERA: string;
267
+ CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;
268
+ CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;
313
269
  CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;
314
270
  CHANNEL_INPUT_ATTACHMENT_FILES: string;
315
271
 
@@ -41,9 +41,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
41
41
  MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
42
42
  MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
43
43
  MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
44
-
45
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
46
- LIST_BANNER_FROZEN: 'Channel is frozen',
47
44
  ...overrides?.OPEN_CHANNEL,
48
45
  },
49
46
  OPEN_CHANNEL_PARTICIPANTS: {
@@ -125,43 +122,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
125
122
  MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
126
123
 
127
124
  MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,
128
-
129
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
130
- LIST_BANNER_FROZEN: 'Channel is frozen',
131
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
132
- DIALOG_MESSAGE_COPY: 'Copy',
133
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
134
- DIALOG_MESSAGE_EDIT: 'Edit',
135
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/
136
- DIALOG_MESSAGE_SAVE: 'Save',
137
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/
138
- DIALOG_MESSAGE_DELETE: 'Delete',
139
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/
140
- DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
141
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/
142
- DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
143
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/
144
- DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
145
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/
146
- DIALOG_MESSAGE_FAILED_RETRY: 'Retry',
147
- /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/
148
- DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',
149
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/
150
- DIALOG_ATTACHMENT_CAMERA: 'Camera',
151
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/
152
- DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
153
- /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/
154
- DIALOG_ATTACHMENT_FILES: 'Files',
155
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/
156
- INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
157
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/
158
- INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
159
- /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/
160
- INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
161
- /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/
162
- INPUT_EDIT_OK: 'Save',
163
- /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/
164
- INPUT_EDIT_CANCEL: 'Cancel',
165
125
  ...overrides?.GROUP_CHANNEL,
166
126
  },
167
127
  GROUP_CHANNEL_SETTINGS: {
@@ -246,10 +206,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
246
206
  },
247
207
  GROUP_CHANNEL_MEMBERS: {
248
208
  HEADER_TITLE: 'Members',
249
- /** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/
250
- USER_BAR_ME_POSTFIX: ' (You)',
251
- /** @deprecated Please use LABELS.USER_BAR_OPERATOR **/
252
- USER_BAR_OPERATOR: 'Operator',
253
209
  ...overrides?.GROUP_CHANNEL_MEMBERS,
254
210
  },
255
211
  GROUP_CHANNEL_CREATE: {
@@ -300,33 +256,25 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
300
256
  UNMUTE: 'Unmute',
301
257
  BAN: 'Ban',
302
258
  UNBAN: 'Unban',
303
-
304
- // Deprecation backward
305
- CHANNEL_MESSAGE_LIST_FROZEN:
306
- overrides?.GROUP_CHANNEL?.LIST_BANNER_FROZEN ??
307
- overrides?.OPEN_CHANNEL?.LIST_BANNER_FROZEN ??
308
- 'Channel is frozen',
309
- CHANNEL_MESSAGE_COPY: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_COPY ?? 'Copy',
310
- CHANNEL_MESSAGE_EDIT: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_EDIT ?? 'Edit',
311
- CHANNEL_MESSAGE_SAVE: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_SAVE ?? 'Save',
312
- CHANNEL_MESSAGE_DELETE: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_DELETE ?? 'Delete',
313
- CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE:
314
- overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_DELETE_CONFIRM_TITLE ?? 'Delete message?',
315
- CHANNEL_MESSAGE_DELETE_CONFIRM_OK: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_DELETE_CONFIRM_OK ?? 'Delete',
316
- CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL ?? 'Cancel',
317
- CHANNEL_MESSAGE_FAILED_RETRY: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_FAILED_RETRY ?? 'Retry',
318
- CHANNEL_MESSAGE_FAILED_REMOVE: overrides?.GROUP_CHANNEL?.DIALOG_MESSAGE_FAILED_REMOVE ?? 'Remove',
319
- CHANNEL_INPUT_ATTACHMENT_CAMERA: overrides?.GROUP_CHANNEL?.DIALOG_ATTACHMENT_CAMERA ?? 'Camera',
320
- CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY:
321
- overrides?.GROUP_CHANNEL?.DIALOG_ATTACHMENT_PHOTO_LIBRARY ?? 'Photo library',
322
- CHANNEL_INPUT_ATTACHMENT_FILES: overrides?.GROUP_CHANNEL?.DIALOG_ATTACHMENT_FILES ?? 'Files',
323
- CHANNEL_INPUT_PLACEHOLDER_ACTIVE: overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_ACTIVE ?? 'Enter message',
324
- CHANNEL_INPUT_PLACEHOLDER_DISABLED:
325
- overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_DISABLED ?? 'Chat not available in this channel.',
326
- CHANNEL_INPUT_PLACEHOLDER_MUTED:
327
- overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_MUTED ?? "You're muted by the operator.",
328
- CHANNEL_INPUT_EDIT_OK: overrides?.GROUP_CHANNEL?.INPUT_EDIT_OK ?? 'Save',
329
- CHANNEL_INPUT_EDIT_CANCEL: overrides?.GROUP_CHANNEL?.INPUT_EDIT_CANCEL ?? 'Cancel',
259
+ CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',
260
+ CHANNEL_MESSAGE_COPY: 'Copy',
261
+ CHANNEL_MESSAGE_EDIT: 'Edit',
262
+ CHANNEL_MESSAGE_SAVE: 'Save',
263
+ CHANNEL_MESSAGE_DELETE: 'Delete',
264
+ CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
265
+ CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
266
+ CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
267
+ CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',
268
+ CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',
269
+ CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',
270
+ CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',
271
+ CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
272
+ CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',
273
+ CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
274
+ CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
275
+ CHANNEL_INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
276
+ CHANNEL_INPUT_EDIT_OK: 'Save',
277
+ CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',
330
278
  ...overrides?.LABELS,
331
279
  },
332
280
  FILE_VIEWER: {
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- const VERSION = '2.5.0';
1
+ const VERSION = '3.0.0-rc.1';
2
2
  export default VERSION;
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeScrollviewEnhancer","_uikitReactNativeFoundation","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ANDROID_BUG_ALERT_SHOWED","Platform","OS","BOTTOM_DETECT_THRESHOLD","UNREACHABLE_THRESHOLD","Number","MIN_SAFE_INTEGER","ChatFlatList","forwardRef","CustomFlatList","_ref","ref","_props$data","onTopReached","onBottomReached","onScrolledAwayFromBottom","onLeaveScrollBottom","onScroll","props","select","useUIKitTheme","contentOffsetY","useRef","_onScroll","useFreshCallback","event","contentOffset","nativeEvent","prevOffsetY","current","currOffsetY","y","__DEV__","console","warn","createElement","FlatList","bounces","removeClippedSubviews","keyboardDismissMode","keyboardShouldPersistTaps","indicatorStyle","light","dark","inverted","Boolean","data","onEndReached","onScrollToIndexFailed","NOOP","onStartReached","scrollEventThrottle","keyExtractor","getMessageUniqId","style","flex","StyleSheet","flatten","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","_default","exports"],"sources":["ChatFlatList.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FlatListProps, Platform, FlatList as RNFlatList, StyleSheet } from 'react-native';\n\nimport { FlatList } from '@sendbird/react-native-scrollview-enhancer';\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP, SendbirdMessage, getMessageUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android';\nconst BOTTOM_DETECT_THRESHOLD = 25;\nconst UNREACHABLE_THRESHOLD = Number.MIN_SAFE_INTEGER;\n\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n onBottomReached: () => void;\n onTopReached: () => void;\n onScrolledAwayFromBottom: (value: boolean) => void;\n\n /** @deprecated Please use `onScrolledAwayFromBottom` **/\n onLeaveScrollBottom?: (value: boolean) => void;\n /** @deprecated Not used anymore **/\n nextMessages?: unknown;\n};\n// FIXME: Inverted FlatList performance issue on Android {@link https://github.com/facebook/react-native/issues/30034}\nconst ChatFlatList = forwardRef<RNFlatList<SendbirdMessage>, Props>(function CustomFlatList(\n { onTopReached, onBottomReached, onScrolledAwayFromBottom, onLeaveScrollBottom, onScroll, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const contentOffsetY = useRef(0);\n\n const _onScroll = useFreshCallback<NonNullable<Props['onScroll']>>((event) => {\n onScroll?.(event);\n\n const { contentOffset } = event.nativeEvent;\n\n const prevOffsetY = contentOffsetY.current;\n const currOffsetY = contentOffset.y;\n\n if (BOTTOM_DETECT_THRESHOLD < prevOffsetY && currOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(false);\n onLeaveScrollBottom?.(false);\n } else if (BOTTOM_DETECT_THRESHOLD < currOffsetY && prevOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(true);\n onLeaveScrollBottom?.(true);\n }\n\n contentOffsetY.current = contentOffset.y;\n });\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: Inverted FlatList has a performance issue on Android, Maybe this is a bug please refer link\\nhttps://github.com/facebook/react-native/issues/30034',\n );\n }\n\n return (\n <FlatList\n bounces={false}\n removeClippedSubviews\n keyboardDismissMode={'on-drag'}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n ref={ref}\n onEndReached={onTopReached}\n onScrollToIndexFailed={NOOP}\n onStartReached={onBottomReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n keyExtractor={getMessageUniqId}\n style={{ flex: 1, ...StyleSheet.flatten(props.style) }}\n maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: UNREACHABLE_THRESHOLD }}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _reactNative = require("react-native");
9
- var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- const AdminMessage = _ref => {
12
- let {
13
- message,
14
- nextMessage
15
- } = _ref;
16
- const {
17
- colors
18
- } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
19
- const isNextAdmin = nextMessage === null || nextMessage === void 0 ? void 0 : nextMessage.isAdminMessage();
20
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
21
- style: _reactNative.StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])
22
- }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
23
- caption2: true,
24
- color: colors.onBackground02,
25
- style: styles.text
26
- }, message.message));
27
- };
28
- const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
29
- container: {
30
- width: 300,
31
- alignSelf: 'center',
32
- alignItems: 'center'
33
- },
34
- nextAdminType: {
35
- marginBottom: 8
36
- },
37
- next: {
38
- marginBottom: 16
39
- },
40
- text: {
41
- textAlign: 'center'
42
- }
43
- });
44
- var _default = AdminMessage;
45
- exports.default = _default;
46
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","obj","__esModule","default","AdminMessage","_ref","message","nextMessage","colors","useUIKitTheme","isNextAdmin","isAdminMessage","createElement","View","style","StyleSheet","flatten","styles","container","nextAdminType","next","Text","caption2","color","onBackground02","text","createStyleSheet","width","alignSelf","alignItems","marginBottom","textAlign","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\n\nexport type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;\nconst AdminMessage = ({ message, nextMessage }: AdminMessageProps) => {\n const { colors } = useUIKitTheme();\n\n const isNextAdmin = nextMessage?.isAdminMessage();\n return (\n <View style={StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])}>\n <Text caption2 color={colors.onBackground02} style={styles.text}>\n {message.message}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n width: 300,\n alignSelf: 'center',\n alignItems: 'center',\n },\n nextAdminType: {\n marginBottom: 8,\n },\n next: {\n marginBottom: 16,\n },\n text: {\n textAlign: 'center',\n },\n});\n\nexport default AdminMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAAgG,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMhG,MAAMG,YAAY,GAAGC,IAAA,IAAiD;EAAA,IAAhD;IAAEC,OAAO;IAAEC;EAA+B,CAAC,GAAAF,IAAA;EAC/D,MAAM;IAAEG;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,WAAW,GAAGH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,cAAc,EAAE;EACjD,oBACEf,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACb,YAAA,CAAAc,IAAI;IAACC,KAAK,EAAEC,uBAAU,CAACC,OAAO,CAAC,CAACC,MAAM,CAACC,SAAS,EAAER,WAAW,GAAGO,MAAM,CAACE,aAAa,GAAGF,MAAM,CAACG,IAAI,CAAC;EAAE,gBACpGxB,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACZ,2BAAA,CAAAqB,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACgB,cAAe;IAACV,KAAK,EAAEG,MAAM,CAACQ;EAAK,GAC7DnB,OAAO,CAACA,OAAO,CACX,CACF;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG,IAAAS,4CAAgB,EAAC;EAC9BR,SAAS,EAAE;IACTS,KAAK,EAAE,GAAG;IACVC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACd,CAAC;EACDV,aAAa,EAAE;IACbW,YAAY,EAAE;EAChB,CAAC;EACDV,IAAI,EAAE;IACJU,YAAY,EAAE;EAChB,CAAC;EACDL,IAAI,EAAE;IACJM,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY5B,YAAY;AAAA6B,OAAA,CAAA9B,OAAA,GAAA6B,QAAA"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _reactNative = require("react-native");
9
- var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
- var _useContext = require("../../../hooks/useContext");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- const iconMapper = {
13
- audio: 'file-audio',
14
- image: 'photo',
15
- video: 'play',
16
- file: 'file-document'
17
- };
18
- const BaseFileMessage = _ref => {
19
- let {
20
- message,
21
- variant,
22
- pressed,
23
- type,
24
- children
25
- } = _ref;
26
- const {
27
- STRINGS
28
- } = (0, _useContext.useLocalization)();
29
- const {
30
- colors
31
- } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
32
- const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
33
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
34
- style: [styles.bubbleContainer, {
35
- backgroundColor: color.background
36
- }]
37
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
38
- style: styles.container
39
- }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
40
- icon: iconMapper[type],
41
- size: 24,
42
- containerStyle: {
43
- backgroundColor: colors.background,
44
- padding: 2,
45
- borderRadius: 8,
46
- marginRight: 8
47
- }
48
- }), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
49
- body3: true,
50
- ellipsizeMode: 'middle',
51
- numberOfLines: 1,
52
- color: color.textMsg,
53
- style: styles.name
54
- }, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message))), children);
55
- };
56
- const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
57
- bubbleContainer: {
58
- borderRadius: 16,
59
- overflow: 'hidden'
60
- },
61
- container: {
62
- flexDirection: 'row',
63
- alignItems: 'center',
64
- paddingHorizontal: 12,
65
- paddingVertical: 6
66
- },
67
- name: {
68
- flexShrink: 1
69
- }
70
- });
71
- var _default = BaseFileMessage;
72
- exports.default = _default;
73
- //# sourceMappingURL=BaseFileMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","iconMapper","audio","image","video","file","BaseFileMessage","_ref","message","variant","pressed","type","children","STRINGS","useLocalization","colors","useUIKitTheme","color","ui","groupChannelMessage","createElement","View","style","styles","bubbleContainer","backgroundColor","background","container","Icon","icon","size","containerStyle","padding","borderRadius","marginRight","Text","body3","ellipsizeMode","numberOfLines","textMsg","name","GROUP_CHANNEL","MESSAGE_BUBBLE_FILE_TITLE","createStyleSheet","overflow","flexDirection","alignItems","paddingHorizontal","paddingVertical","flexShrink","_default","exports"],"sources":["BaseFileMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Icon, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { FileMessageProps } from './index';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = FileMessageProps & {\n type: 'image' | 'audio' | 'video' | 'file';\n};\nconst BaseFileMessage = ({ message, variant, pressed, type, children }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n return (\n <View style={[styles.bubbleContainer, { backgroundColor: color.background }]}>\n <View style={styles.container}>\n <Icon\n icon={iconMapper[type]}\n size={24}\n containerStyle={{ backgroundColor: colors.background, padding: 2, borderRadius: 8, marginRight: 8 }}\n />\n <Text body3 ellipsizeMode={'middle'} numberOfLines={1} color={color.textMsg} style={styles.name}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message)}\n </Text>\n </View>\n {children}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 12,\n paddingVertical: 6,\n },\n name: {\n flexShrink: 1,\n },\n});\n\nexport default BaseFileMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAA4D,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAG5D,MAAMG,UAAU,GAAG;EAAEC,KAAK,EAAE,YAAY;EAAEC,KAAK,EAAE,OAAO;EAAEC,KAAK,EAAE,MAAM;EAAEC,IAAI,EAAE;AAAgB,CAAU;AAKzG,MAAMC,eAAe,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAgB,CAAC,GAAAL,IAAA;EAC3E,MAAM;IAAEM;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAACV,OAAO,CAAC,CAACC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;EACrF,oBACElB,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAA0B,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,eAAe,EAAE;MAAEC,eAAe,EAAER,KAAK,CAACS;IAAW,CAAC;EAAE,gBAC3ElC,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAA0B,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACI;EAAU,gBAC5BnC,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACxB,2BAAA,CAAAgC,IAAI;IACHC,IAAI,EAAE5B,UAAU,CAACU,IAAI,CAAE;IACvBmB,IAAI,EAAE,EAAG;IACTC,cAAc,EAAE;MAAEN,eAAe,EAAEV,MAAM,CAACW,UAAU;MAAEM,OAAO,EAAE,CAAC;MAAEC,YAAY,EAAE,CAAC;MAAEC,WAAW,EAAE;IAAE;EAAE,EACpG,eACF1C,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACxB,2BAAA,CAAAuC,IAAI;IAACC,KAAK;IAACC,aAAa,EAAE,QAAS;IAACC,aAAa,EAAE,CAAE;IAACrB,KAAK,EAAEA,KAAK,CAACsB,OAAQ;IAACjB,KAAK,EAAEC,MAAM,CAACiB;EAAK,GAC7F3B,OAAO,CAAC4B,aAAa,CAACC,yBAAyB,CAAClC,OAAO,CAAC,CACpD,CACF,EACNI,QAAQ,CACJ;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG,IAAAoB,4CAAgB,EAAC;EAC9BnB,eAAe,EAAE;IACfS,YAAY,EAAE,EAAE;IAChBW,QAAQ,EAAE;EACZ,CAAC;EACDjB,SAAS,EAAE;IACTkB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDR,IAAI,EAAE;IACJS,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY5C,eAAe;AAAA6C,OAAA,CAAAnD,OAAA,GAAAkD,QAAA"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
10
- var _uikitUtils = require("@sendbird/uikit-utils");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
- const useRetry = function (hasError) {
14
- let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
15
- if (_reactNative.Platform.OS === 'android') return '';
16
- const forceUpdate = (0, _uikitUtils.useForceUpdate)();
17
- const retryCountRef = (0, _react.useRef)(1);
18
- const retryTimeoutRef = (0, _react.useRef)();
19
- (0, _react.useEffect)(() => {
20
- if (hasError) {
21
- const reloadReservation = () => {
22
- if (retryCountRef.current < retryCount) {
23
- retryTimeoutRef.current = setTimeout(() => {
24
- retryCountRef.current++;
25
- reloadReservation();
26
- forceUpdate();
27
- }, retryCountRef.current * 5000);
28
- }
29
- };
30
- return reloadReservation();
31
- } else {
32
- return clearTimeout(retryTimeoutRef.current);
33
- }
34
- }, [hasError]);
35
- return retryCountRef.current;
36
- };
37
- const ImageFileMessage = _ref => {
38
- let {
39
- message,
40
- children,
41
- variant
42
- } = _ref;
43
- const {
44
- colors
45
- } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
46
- const [imageNotFound, setImageNotFound] = (0, _react.useState)(false);
47
- const fileUrl = (0, _uikitUtils.getAvailableUriFromFileMessage)(message);
48
- const style = [styles.image, {
49
- backgroundColor: colors.onBackground04
50
- }];
51
- const key = useRetry(imageNotFound);
52
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
53
- style: [styles.bubbleContainer, {
54
- backgroundColor: imageNotFound ? colors.onBackground04 : colors.ui.groupChannelMessage[variant].enabled.background
55
- }]
56
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
57
- style: style
58
- }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Image, {
59
- key: key,
60
- source: {
61
- uri: fileUrl
62
- },
63
- style: [_reactNative.StyleSheet.absoluteFill, imageNotFound && styles.hide],
64
- resizeMode: 'cover',
65
- resizeMethod: 'resize',
66
- onError: () => setImageNotFound(true),
67
- onLoad: () => setImageNotFound(false)
68
- }), imageNotFound && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
69
- containerStyle: _reactNative.StyleSheet.absoluteFill,
70
- icon: 'thumbnail-none',
71
- size: 48,
72
- color: colors.onBackground02
73
- })), children);
74
- };
75
- const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
76
- bubbleContainer: {
77
- borderRadius: 16,
78
- overflow: 'hidden'
79
- },
80
- image: {
81
- width: 240,
82
- maxWidth: 240,
83
- height: 160,
84
- borderRadius: 16,
85
- overflow: 'hidden'
86
- },
87
- hide: {
88
- display: 'none'
89
- }
90
- });
91
- var _default = ImageFileMessage;
92
- exports.default = _default;
93
- //# sourceMappingURL=ImageFileMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useRetry","hasError","retryCount","arguments","length","undefined","Platform","OS","forceUpdate","useForceUpdate","retryCountRef","useRef","retryTimeoutRef","useEffect","reloadReservation","current","setTimeout","clearTimeout","ImageFileMessage","_ref","message","children","variant","colors","useUIKitTheme","imageNotFound","setImageNotFound","useState","fileUrl","getAvailableUriFromFileMessage","style","styles","image","backgroundColor","onBackground04","createElement","View","bubbleContainer","ui","groupChannelMessage","enabled","background","Image","source","uri","StyleSheet","absoluteFill","hide","resizeMode","resizeMethod","onError","onLoad","Icon","containerStyle","icon","size","color","onBackground02","createStyleSheet","borderRadius","overflow","width","maxWidth","height","display","_default","exports"],"sources":["ImageFileMessage.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\n\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getAvailableUriFromFileMessage, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { FileMessageProps } from './index';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\nconst ImageFileMessage = ({ message, children, variant }: FileMessageProps) => {\n const { colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const fileUrl = getAvailableUriFromFileMessage(message);\n const style = [styles.image, { backgroundColor: colors.onBackground04 }];\n\n const key = useRetry(imageNotFound);\n\n return (\n <View\n style={[\n styles.bubbleContainer,\n {\n backgroundColor: imageNotFound\n ? colors.onBackground04\n : colors.ui.groupChannelMessage[variant].enabled.background,\n },\n ]}\n >\n <View style={style}>\n <Image\n key={key}\n source={{ uri: fileUrl }}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </View>\n {children}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n image: {\n width: 240,\n maxWidth: 240,\n height: 160,\n borderRadius: 16,\n overflow: 'hidden',\n },\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageFileMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAuF,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAN,wBAAAU,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAIvF,MAAMW,QAAQ,GAAG,SAAAA,CAACC,QAAiB,EAAqB;EAAA,IAAnBC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACjD,IAAIG,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE;EAExC,MAAMC,WAAW,GAAG,IAAAC,0BAAc,GAAE;EACpC,MAAMC,aAAa,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC;EAC/B,MAAMC,eAAe,GAAG,IAAAD,aAAM,GAAkB;EAEhD,IAAAE,gBAAS,EAAC,MAAM;IACd,IAAIZ,QAAQ,EAAE;MACZ,MAAMa,iBAAiB,GAAGA,CAAA,KAAM;QAC9B,IAAIJ,aAAa,CAACK,OAAO,GAAGb,UAAU,EAAE;UACtCU,eAAe,CAACG,OAAO,GAAGC,UAAU,CAAC,MAAM;YACzCN,aAAa,CAACK,OAAO,EAAE;YACvBD,iBAAiB,EAAE;YACnBN,WAAW,EAAE;UACf,CAAC,EAAEE,aAAa,CAACK,OAAO,GAAG,IAAI,CAAC;QAClC;MACF,CAAC;MAED,OAAOD,iBAAiB,EAAE;IAC5B,CAAC,MAAM;MACL,OAAOG,YAAY,CAACL,eAAe,CAACG,OAAO,CAAC;IAC9C;EACF,CAAC,EAAE,CAACd,QAAQ,CAAC,CAAC;EAEd,OAAOS,aAAa,CAACK,OAAO;AAC9B,CAAC;AAED,MAAMG,gBAAgB,GAAGC,IAAA,IAAsD;EAAA,IAArD;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAA0B,CAAC,GAAAH,IAAA;EACxE,MAAM;IAAEI;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEzD,MAAMC,OAAO,GAAG,IAAAC,0CAA8B,EAACT,OAAO,CAAC;EACvD,MAAMU,KAAK,GAAG,CAACC,MAAM,CAACC,KAAK,EAAE;IAAEC,eAAe,EAAEV,MAAM,CAACW;EAAe,CAAC,CAAC;EAExE,MAAMxC,GAAG,GAAGM,QAAQ,CAACyB,aAAa,CAAC;EAEnC,oBACErD,MAAA,CAAAa,OAAA,CAAAkD,aAAA,CAAC5D,YAAA,CAAA6D,IAAI;IACHN,KAAK,EAAE,CACLC,MAAM,CAACM,eAAe,EACtB;MACEJ,eAAe,EAAER,aAAa,GAC1BF,MAAM,CAACW,cAAc,GACrBX,MAAM,CAACe,EAAE,CAACC,mBAAmB,CAACjB,OAAO,CAAC,CAACkB,OAAO,CAACC;IACrD,CAAC;EACD,gBAEFrE,MAAA,CAAAa,OAAA,CAAAkD,aAAA,CAAC5D,YAAA,CAAA6D,IAAI;IAACN,KAAK,EAAEA;EAAM,gBACjB1D,MAAA,CAAAa,OAAA,CAAAkD,aAAA,CAAC3D,2BAAA,CAAAkE,KAAK;IACJhD,GAAG,EAAEA,GAAI;IACTiD,MAAM,EAAE;MAAEC,GAAG,EAAEhB;IAAQ,CAAE;IACzBE,KAAK,EAAE,CAACe,uBAAU,CAACC,YAAY,EAAErB,aAAa,IAAIM,MAAM,CAACgB,IAAI,CAAE;IAC/DC,UAAU,EAAE,OAAQ;IACpBC,YAAY,EAAE,QAAS;IACvBC,OAAO,EAAEA,CAAA,KAAMxB,gBAAgB,CAAC,IAAI,CAAE;IACtCyB,MAAM,EAAEA,CAAA,KAAMzB,gBAAgB,CAAC,KAAK;EAAE,EACtC,EACDD,aAAa,iBACZrD,MAAA,CAAAa,OAAA,CAAAkD,aAAA,CAAC3D,2BAAA,CAAA4E,IAAI;IACHC,cAAc,EAAER,uBAAU,CAACC,YAAa;IACxCQ,IAAI,EAAE,gBAAiB;IACvBC,IAAI,EAAE,EAAG;IACTC,KAAK,EAAEjC,MAAM,CAACkC;EAAe,EAEhC,CACI,EACNpC,QAAQ,CACJ;AAEX,CAAC;AAED,MAAMU,MAAM,GAAG,IAAA2B,4CAAgB,EAAC;EAC9BrB,eAAe,EAAE;IACfsB,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACD5B,KAAK,EAAE;IACL6B,KAAK,EAAE,GAAG;IACVC,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAE,GAAG;IACXJ,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDb,IAAI,EAAE;IACJiB,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY/C,gBAAgB;AAAAgD,OAAA,CAAAjF,OAAA,GAAAgF,QAAA"}