@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
@@ -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.0';
2
2
  export default VERSION;
@@ -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":"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"}
@@ -1,132 +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
- var _useContext = require("../../../hooks/useContext");
12
- 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); }
13
- 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; }
14
- const useRetry = function (videoFileUrl) {
15
- let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
16
- const [state, setState] = (0, _react.useState)({
17
- thumbnail: null,
18
- loading: true
19
- });
20
- const retryCountRef = (0, _react.useRef)(0);
21
- const retryTimeoutRef = (0, _react.useRef)();
22
- const {
23
- mediaService
24
- } = (0, _useContext.usePlatformService)();
25
- const fetchThumbnail = () => {
26
- return mediaService.getVideoThumbnail({
27
- url: videoFileUrl,
28
- timeMills: 1000
29
- }).then(result => {
30
- setState({
31
- loading: false,
32
- thumbnail: (result === null || result === void 0 ? void 0 : result.path) ?? null
33
- });
34
- });
35
- };
36
- (0, _react.useEffect)(() => {
37
- if (!state.thumbnail) {
38
- const reloadReservation = () => {
39
- if (retryCountRef.current < retryCount) {
40
- retryTimeoutRef.current = setTimeout(() => {
41
- retryCountRef.current++;
42
- reloadReservation();
43
- fetchThumbnail();
44
- }, retryCountRef.current * 5000);
45
- }
46
- };
47
- return reloadReservation();
48
- } else {
49
- return clearTimeout(retryTimeoutRef.current);
50
- }
51
- }, [state.thumbnail]);
52
- return state;
53
- };
54
- const VideoFileMessage = _ref => {
55
- let {
56
- message,
57
- variant,
58
- children
59
- } = _ref;
60
- const {
61
- colors
62
- } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
63
- const fileUrl = (0, _uikitUtils.getAvailableUriFromFileMessage)(message);
64
- const style = [styles.video, {
65
- backgroundColor: colors.onBackground04
66
- }];
67
- const {
68
- loading,
69
- thumbnail
70
- } = useRetry(fileUrl);
71
- if (loading) {
72
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
73
- style: [styles.bubbleContainer, {
74
- backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background
75
- }]
76
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
77
- style: [styles.bubbleContainer, styles.bubbleInnerContainer]
78
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
79
- style: style
80
- }), /*#__PURE__*/_react.default.createElement(PlayIcon, null)), children);
81
- }
82
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
83
- style: [styles.bubbleContainer, {
84
- backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background
85
- }]
86
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
87
- style: [styles.bubbleContainer, styles.bubbleInnerContainer]
88
- }, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Image, {
89
- source: {
90
- uri: thumbnail || fileUrl
91
- },
92
- style: style,
93
- resizeMode: 'cover',
94
- resizeMethod: 'resize'
95
- }), /*#__PURE__*/_react.default.createElement(PlayIcon, null)), children);
96
- };
97
- const PlayIcon = () => {
98
- const {
99
- colors
100
- } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
101
- return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
102
- icon: 'play',
103
- size: 28,
104
- color: colors.onBackground02,
105
- containerStyle: [styles.playIcon, {
106
- backgroundColor: colors.onBackgroundReverse01
107
- }]
108
- });
109
- };
110
- const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
111
- bubbleContainer: {
112
- borderRadius: 16,
113
- overflow: 'hidden'
114
- },
115
- bubbleInnerContainer: {
116
- alignItems: 'center',
117
- justifyContent: 'center'
118
- },
119
- video: {
120
- width: 240,
121
- maxWidth: 240,
122
- height: 160
123
- },
124
- playIcon: {
125
- position: 'absolute',
126
- padding: 10,
127
- borderRadius: 50
128
- }
129
- });
130
- var _default = VideoFileMessage;
131
- exports.default = _default;
132
- //# sourceMappingURL=VideoFileMessage.js.map