@sendbird/uikit-react-native 3.5.4 → 3.7.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 (251) hide show
  1. package/README.md +11 -27
  2. package/lib/commonjs/components/ChannelInput/SendInput.js +23 -6
  3. package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
  4. package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
  5. package/lib/commonjs/components/ChannelMessageList/index.js +22 -4
  6. package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
  7. package/lib/commonjs/components/ChannelThreadMessageList/index.js +349 -0
  8. package/lib/commonjs/components/ChannelThreadMessageList/index.js.map +1 -0
  9. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +2 -2
  10. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
  11. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +100 -0
  12. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -0
  13. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +24 -6
  14. package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
  15. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +23 -6
  16. package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  17. package/lib/commonjs/components/ThreadChatFlatList/index.js +76 -0
  18. package/lib/commonjs/components/ThreadChatFlatList/index.js.map +1 -0
  19. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js +41 -0
  20. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -0
  21. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +74 -0
  22. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -0
  23. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js +42 -0
  24. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -0
  25. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +94 -0
  26. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -0
  27. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +61 -0
  28. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -0
  29. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +127 -0
  30. package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -0
  31. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +206 -0
  32. package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -0
  33. package/lib/commonjs/containers/SendbirdUIKitContainer.js +12 -11
  34. package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
  35. package/lib/commonjs/contexts/SendbirdChatCtx.js +7 -0
  36. package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
  37. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +28 -5
  38. package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  39. package/lib/commonjs/domain/groupChannel/module/moduleContext.js +14 -4
  40. package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
  41. package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
  42. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js +82 -0
  43. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -0
  44. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js +44 -0
  45. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -0
  46. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +127 -0
  47. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -0
  48. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +315 -0
  49. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -0
  50. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js +27 -0
  51. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -0
  52. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js +27 -0
  53. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -0
  54. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +195 -0
  55. package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -0
  56. package/lib/commonjs/domain/groupChannelThread/index.js +69 -0
  57. package/lib/commonjs/domain/groupChannelThread/index.js.map +1 -0
  58. package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js +42 -0
  59. package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -0
  60. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js +148 -0
  61. package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js.map +1 -0
  62. package/lib/commonjs/domain/groupChannelThread/types.js +6 -0
  63. package/lib/commonjs/domain/groupChannelThread/types.js.map +1 -0
  64. package/lib/commonjs/fragments/createGroupChannelFragment.js +30 -5
  65. package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
  66. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +267 -0
  67. package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -0
  68. package/lib/commonjs/hooks/useMentionSuggestion.js +5 -2
  69. package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
  70. package/lib/commonjs/index.js +72 -40
  71. package/lib/commonjs/index.js.map +1 -1
  72. package/lib/commonjs/libs/EmojiManager.js.map +1 -1
  73. package/lib/commonjs/libs/InternalLocalCacheStorage.js +65 -19
  74. package/lib/commonjs/libs/InternalLocalCacheStorage.js.map +1 -1
  75. package/lib/commonjs/libs/VoiceMessageStatusManager.js +66 -0
  76. package/lib/commonjs/libs/VoiceMessageStatusManager.js.map +1 -0
  77. package/lib/commonjs/localization/StringSet.type.js.map +1 -1
  78. package/lib/commonjs/localization/createBaseStringSet.js +25 -3
  79. package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
  80. package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
  81. package/lib/commonjs/types.js.map +1 -1
  82. package/lib/commonjs/version.js +1 -1
  83. package/lib/commonjs/version.js.map +1 -1
  84. package/lib/module/components/ChannelInput/SendInput.js +23 -6
  85. package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
  86. package/lib/module/components/ChannelInput/index.js.map +1 -1
  87. package/lib/module/components/ChannelMessageList/index.js +22 -4
  88. package/lib/module/components/ChannelMessageList/index.js.map +1 -1
  89. package/lib/module/components/ChannelThreadMessageList/index.js +341 -0
  90. package/lib/module/components/ChannelThreadMessageList/index.js.map +1 -0
  91. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +2 -2
  92. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
  93. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +92 -0
  94. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -0
  95. package/lib/module/components/GroupChannelMessageRenderer/index.js +24 -6
  96. package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
  97. package/lib/module/components/ReactionAddons/MessageReactionAddon.js +23 -6
  98. package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
  99. package/lib/module/components/ThreadChatFlatList/index.js +66 -0
  100. package/lib/module/components/ThreadChatFlatList/index.js.map +1 -0
  101. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js +34 -0
  102. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -0
  103. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +67 -0
  104. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -0
  105. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js +34 -0
  106. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -0
  107. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +87 -0
  108. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -0
  109. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +54 -0
  110. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -0
  111. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +119 -0
  112. package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -0
  113. package/lib/module/components/ThreadParentMessageRenderer/index.js +196 -0
  114. package/lib/module/components/ThreadParentMessageRenderer/index.js.map +1 -0
  115. package/lib/module/containers/SendbirdUIKitContainer.js +13 -12
  116. package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
  117. package/lib/module/contexts/SendbirdChatCtx.js +6 -0
  118. package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
  119. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +30 -6
  120. package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
  121. package/lib/module/domain/groupChannel/module/moduleContext.js +14 -4
  122. package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
  123. package/lib/module/domain/groupChannel/types.js.map +1 -1
  124. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js +73 -0
  125. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -0
  126. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js +34 -0
  127. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -0
  128. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +117 -0
  129. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -0
  130. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +305 -0
  131. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -0
  132. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js +19 -0
  133. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -0
  134. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js +19 -0
  135. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -0
  136. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +185 -0
  137. package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -0
  138. package/lib/module/domain/groupChannelThread/index.js +9 -0
  139. package/lib/module/domain/groupChannelThread/index.js.map +1 -0
  140. package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js +34 -0
  141. package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -0
  142. package/lib/module/domain/groupChannelThread/module/moduleContext.js +137 -0
  143. package/lib/module/domain/groupChannelThread/module/moduleContext.js.map +1 -0
  144. package/lib/module/domain/groupChannelThread/types.js +2 -0
  145. package/lib/module/domain/groupChannelThread/types.js.map +1 -0
  146. package/lib/module/fragments/createGroupChannelFragment.js +33 -7
  147. package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
  148. package/lib/module/fragments/createGroupChannelThreadFragment.js +257 -0
  149. package/lib/module/fragments/createGroupChannelThreadFragment.js.map +1 -0
  150. package/lib/module/hooks/useMentionSuggestion.js +5 -2
  151. package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
  152. package/lib/module/index.js +3 -0
  153. package/lib/module/index.js.map +1 -1
  154. package/lib/module/libs/EmojiManager.js.map +1 -1
  155. package/lib/module/libs/InternalLocalCacheStorage.js +65 -19
  156. package/lib/module/libs/InternalLocalCacheStorage.js.map +1 -1
  157. package/lib/module/libs/VoiceMessageStatusManager.js +59 -0
  158. package/lib/module/libs/VoiceMessageStatusManager.js.map +1 -0
  159. package/lib/module/localization/StringSet.type.js.map +1 -1
  160. package/lib/module/localization/createBaseStringSet.js +27 -4
  161. package/lib/module/localization/createBaseStringSet.js.map +1 -1
  162. package/lib/module/platform/createMediaService.native.js.map +1 -1
  163. package/lib/module/types.js.map +1 -1
  164. package/lib/module/version.js +1 -1
  165. package/lib/module/version.js.map +1 -1
  166. package/lib/typescript/src/components/ChannelInput/index.d.ts +1 -0
  167. package/lib/typescript/src/components/ChannelMessageList/index.d.ts +5 -2
  168. package/lib/typescript/src/components/ChannelThreadMessageList/index.d.ts +55 -0
  169. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.d.ts +1 -1
  170. package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.d.ts +9 -0
  171. package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +3 -1
  172. package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +3 -1
  173. package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +3 -1
  174. package/lib/typescript/src/components/ReactionAddons/index.d.ts +2 -1
  175. package/lib/typescript/src/components/ThreadChatFlatList/index.d.ts +9 -0
  176. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.d.ts +4 -0
  177. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.d.ts +4 -0
  178. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.d.ts +9 -0
  179. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.d.ts +13 -0
  180. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.d.ts +10 -0
  181. package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.d.ts +10 -0
  182. package/lib/typescript/src/components/ThreadParentMessageRenderer/index.d.ts +20 -0
  183. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +8 -10
  184. package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +15 -1
  185. package/lib/typescript/src/domain/groupChannel/types.d.ts +4 -1
  186. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadHeader.d.ts +4 -0
  187. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +3 -0
  188. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +7 -0
  189. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.d.ts +8 -0
  190. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.d.ts +3 -0
  191. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.d.ts +3 -0
  192. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.d.ts +4 -0
  193. package/lib/typescript/src/domain/groupChannelThread/index.d.ts +8 -0
  194. package/lib/typescript/src/domain/groupChannelThread/module/createGroupChannelThreadModule.d.ts +3 -0
  195. package/lib/typescript/src/domain/groupChannelThread/module/moduleContext.d.ts +3 -0
  196. package/lib/typescript/src/domain/groupChannelThread/types.d.ts +136 -0
  197. package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
  198. package/lib/typescript/src/fragments/createGroupChannelThreadFragment.d.ts +5 -0
  199. package/lib/typescript/src/hooks/useChannelInputItems.d.ts +1 -1
  200. package/lib/typescript/src/index.d.ts +3 -0
  201. package/lib/typescript/src/libs/InternalLocalCacheStorage.d.ts +5 -4
  202. package/lib/typescript/src/libs/VoiceMessageStatusManager.d.ts +11 -0
  203. package/lib/typescript/src/localization/StringSet.type.d.ts +23 -0
  204. package/lib/typescript/src/localization/createBaseStringSet.d.ts +1 -1
  205. package/lib/typescript/src/types.d.ts +4 -1
  206. package/lib/typescript/src/version.d.ts +1 -1
  207. package/package.json +27 -22
  208. package/src/components/ChannelInput/SendInput.tsx +24 -5
  209. package/src/components/ChannelInput/index.tsx +1 -0
  210. package/src/components/ChannelMessageList/index.tsx +27 -5
  211. package/src/components/ChannelThreadMessageList/index.tsx +406 -0
  212. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.tsx +3 -3
  213. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.tsx +96 -0
  214. package/src/components/GroupChannelMessageRenderer/index.tsx +21 -5
  215. package/src/components/ReactionAddons/MessageReactionAddon.tsx +38 -5
  216. package/src/components/ThreadChatFlatList/index.tsx +63 -0
  217. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.tsx +36 -0
  218. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.tsx +61 -0
  219. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.tsx +45 -0
  220. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.tsx +107 -0
  221. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.tsx +133 -0
  222. package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.tsx +65 -0
  223. package/src/components/ThreadParentMessageRenderer/index.tsx +194 -0
  224. package/src/containers/SendbirdUIKitContainer.tsx +28 -17
  225. package/src/contexts/SendbirdChatCtx.tsx +20 -0
  226. package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +37 -8
  227. package/src/domain/groupChannel/module/moduleContext.tsx +12 -2
  228. package/src/domain/groupChannel/types.ts +5 -0
  229. package/src/domain/groupChannelThread/component/GroupChannelThreadHeader.tsx +63 -0
  230. package/src/domain/groupChannelThread/component/GroupChannelThreadInput.tsx +38 -0
  231. package/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.tsx +105 -0
  232. package/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.tsx +326 -0
  233. package/src/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.tsx +18 -0
  234. package/src/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.tsx +18 -0
  235. package/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.tsx +174 -0
  236. package/src/domain/groupChannelThread/index.ts +8 -0
  237. package/src/domain/groupChannelThread/module/createGroupChannelThreadModule.tsx +35 -0
  238. package/src/domain/groupChannelThread/module/moduleContext.tsx +165 -0
  239. package/src/domain/groupChannelThread/types.ts +184 -0
  240. package/src/fragments/createGroupChannelFragment.tsx +38 -8
  241. package/src/fragments/createGroupChannelThreadFragment.tsx +280 -0
  242. package/src/hooks/useMentionSuggestion.ts +13 -9
  243. package/src/index.ts +4 -0
  244. package/src/libs/EmojiManager.ts +2 -2
  245. package/src/libs/InternalLocalCacheStorage.ts +70 -21
  246. package/src/libs/VoiceMessageStatusManager.ts +56 -0
  247. package/src/localization/StringSet.type.ts +27 -0
  248. package/src/localization/createBaseStringSet.ts +33 -4
  249. package/src/platform/createMediaService.native.tsx +9 -1
  250. package/src/types.ts +6 -1
  251. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ASYNC_NOOP","InternalLocalCacheStorage","constructor","storage","_defineProperty","getAllKeys","getItem","key","removeItem","setItem","value","multiGet","keys","Promise","all","map","multiRemove","multiSet","keyValuePairs","_ref"],"sources":["InternalLocalCacheStorage.ts"],"sourcesContent":["import { ASYNC_NOOP } from '@sendbird/uikit-utils';\n\nimport type { KeyValuePairGet, KeyValuePairSet, LocalCacheStorage } from '../types';\n\nexport default class InternalLocalCacheStorage implements LocalCacheStorage {\n constructor(private storage: LocalCacheStorage) {}\n\n getAllKeys() {\n return this.storage.getAllKeys();\n }\n\n getItem(key: string) {\n return this.storage.getItem(key);\n }\n\n removeItem(key: string) {\n return this.storage.removeItem(key);\n }\n\n setItem(key: string, value: string) {\n return this.storage.setItem(key, value);\n }\n\n async multiGet(keys: string[]) {\n if (this.storage.multiGet) {\n return this.storage.multiGet(keys);\n } else {\n return Promise.all(keys.map(async (key) => [key, await this.getItem(key)] as KeyValuePairGet));\n }\n }\n\n async multiRemove(keys: string[]) {\n if (this.storage.multiRemove) {\n await this.storage.multiRemove(keys);\n } else {\n await Promise.all(keys.map(async (key) => this.removeItem(key)));\n }\n }\n\n async multiSet(keyValuePairs: Array<KeyValuePairSet>) {\n if (this.storage.multiSet) {\n await this.storage.multiSet(keyValuePairs);\n } else {\n await Promise.all(keyValuePairs.map(([key, value]) => this.storage.setItem(key, value)));\n }\n }\n\n clear = ASYNC_NOOP;\n flushGetRequests = ASYNC_NOOP;\n}\n"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,uBAAuB;AAIlD,eAAe,MAAMC,yBAAyB,CAA8B;EAC1EC,WAAWA,CAASC,OAA0B,EAAE;IAAA,KAA5BA,OAA0B,GAA1BA,OAA0B;IAAAC,eAAA,gBA0CtCJ,UAAU;IAAAI,eAAA,2BACCJ,UAAU;EA3CoB;EAEjDK,UAAUA,CAAA,EAAG;IACX,OAAO,IAAI,CAACF,OAAO,CAACE,UAAU,EAAE;EAClC;EAEAC,OAAOA,CAACC,GAAW,EAAE;IACnB,OAAO,IAAI,CAACJ,OAAO,CAACG,OAAO,CAACC,GAAG,CAAC;EAClC;EAEAC,UAAUA,CAACD,GAAW,EAAE;IACtB,OAAO,IAAI,CAACJ,OAAO,CAACK,UAAU,CAACD,GAAG,CAAC;EACrC;EAEAE,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAE;IAClC,OAAO,IAAI,CAACP,OAAO,CAACM,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;EACzC;EAEA,MAAMC,QAAQA,CAACC,IAAc,EAAE;IAC7B,IAAI,IAAI,CAACT,OAAO,CAACQ,QAAQ,EAAE;MACzB,OAAO,IAAI,CAACR,OAAO,CAACQ,QAAQ,CAACC,IAAI,CAAC;IACpC,CAAC,MAAM;MACL,OAAOC,OAAO,CAACC,GAAG,CAACF,IAAI,CAACG,GAAG,CAAC,MAAOR,GAAG,IAAK,CAACA,GAAG,EAAE,MAAM,IAAI,CAACD,OAAO,CAACC,GAAG,CAAC,CAAoB,CAAC,CAAC;IAChG;EACF;EAEA,MAAMS,WAAWA,CAACJ,IAAc,EAAE;IAChC,IAAI,IAAI,CAACT,OAAO,CAACa,WAAW,EAAE;MAC5B,MAAM,IAAI,CAACb,OAAO,CAACa,WAAW,CAACJ,IAAI,CAAC;IACtC,CAAC,MAAM;MACL,MAAMC,OAAO,CAACC,GAAG,CAACF,IAAI,CAACG,GAAG,CAAC,MAAOR,GAAG,IAAK,IAAI,CAACC,UAAU,CAACD,GAAG,CAAC,CAAC,CAAC;IAClE;EACF;EAEA,MAAMU,QAAQA,CAACC,aAAqC,EAAE;IACpD,IAAI,IAAI,CAACf,OAAO,CAACc,QAAQ,EAAE;MACzB,MAAM,IAAI,CAACd,OAAO,CAACc,QAAQ,CAACC,aAAa,CAAC;IAC5C,CAAC,MAAM;MACL,MAAML,OAAO,CAACC,GAAG,CAACI,aAAa,CAACH,GAAG,CAACI,IAAA;QAAA,IAAC,CAACZ,GAAG,EAAEG,KAAK,CAAC,GAAAS,IAAA;QAAA,OAAK,IAAI,CAAChB,OAAO,CAACM,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;MAAA,EAAC,CAAC;IAC1F;EACF;AAIF"}
1
+ {"version":3,"names":["ASYNC_NOOP","InternalLocalCacheStorage","constructor","storage","_defineProperty","_mmkv","_async","getAllKeys","getItem","key","getString","removeItem","delete","setItem","value","set","multiGet","keys","Promise","all","map","_this$_async","multiRemove","_this$_async2","multiSet","keyValuePairs","_ref","_this$_async3","_ref2"],"sources":["InternalLocalCacheStorage.ts"],"sourcesContent":["import { ASYNC_NOOP } from '@sendbird/uikit-utils';\n\nimport type {\n AsyncLocalCacheStorage,\n KeyValuePairGet,\n KeyValuePairSet,\n LocalCacheStorage,\n MMKVLocalCacheStorage,\n} from '../types';\n\nexport default class InternalLocalCacheStorage implements AsyncLocalCacheStorage {\n private readonly _mmkv?: MMKVLocalCacheStorage;\n private readonly _async?: AsyncLocalCacheStorage;\n\n constructor(storage: LocalCacheStorage) {\n if ('getString' in storage) {\n this._mmkv = storage;\n } else {\n this._async = storage;\n }\n }\n\n async getAllKeys() {\n if (this._mmkv) {\n return this._mmkv.getAllKeys();\n } else if (this._async) {\n return this._async.getAllKeys();\n } else {\n return [];\n }\n }\n\n async getItem(key: string) {\n if (this._mmkv) {\n return this._mmkv.getString(key) ?? null;\n } else if (this._async) {\n return this._async.getItem(key);\n } else {\n return null;\n }\n }\n\n async removeItem(key: string) {\n if (this._mmkv) {\n this._mmkv.delete(key);\n } else if (this._async) {\n return this._async.removeItem(key);\n }\n }\n\n async setItem(key: string, value: string) {\n if (this._mmkv) {\n this._mmkv.set(key, value);\n } else if (this._async) {\n return this._async.setItem(key, value);\n }\n }\n\n async multiGet(keys: string[]) {\n if (this._mmkv) {\n return Promise.all(keys.map(async (key) => [key, await this.getItem(key)] as KeyValuePairGet));\n } else if (this._async) {\n if (this._async?.multiGet) {\n return this._async.multiGet(keys);\n } else {\n return Promise.all(keys.map(async (key) => [key, await this.getItem(key)] as KeyValuePairGet));\n }\n } else {\n return [];\n }\n }\n\n async multiRemove(keys: string[]) {\n if (this._mmkv) {\n await Promise.all(keys.map(async (key) => this.removeItem(key)));\n } else if (this._async) {\n if (this._async?.multiRemove) {\n await this._async.multiRemove(keys);\n } else {\n await Promise.all(keys.map(async (key) => this.removeItem(key)));\n }\n }\n }\n\n async multiSet(keyValuePairs: Array<KeyValuePairSet>) {\n if (this._mmkv) {\n await Promise.all(keyValuePairs.map(([key, value]) => this.setItem(key, value)));\n } else if (this._async) {\n if (this._async?.multiSet) {\n await this._async.multiSet(keyValuePairs);\n } else {\n await Promise.all(keyValuePairs.map(([key, value]) => this.setItem(key, value)));\n }\n }\n }\n\n clear = ASYNC_NOOP;\n flushGetRequests = ASYNC_NOOP;\n}\n"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ class VoiceMessageStatusManager {
5
+ constructor() {
6
+ _defineProperty(this, "statusMap", new Map());
7
+ _defineProperty(this, "generateKey", (channelUrl, messageId) => {
8
+ return `${channelUrl}-${messageId}`;
9
+ });
10
+ _defineProperty(this, "subscribe", (channelUrl, messageId, subscriber) => {
11
+ var _subscribers;
12
+ const key = this.generateKey(channelUrl, messageId);
13
+ if (!this.statusMap.has(key)) {
14
+ this.statusMap.set(key, {
15
+ currentTime: 0,
16
+ subscribers: new Set()
17
+ });
18
+ }
19
+ (_subscribers = this.statusMap.get(key).subscribers) === null || _subscribers === void 0 ? void 0 : _subscribers.add(subscriber);
20
+ });
21
+ _defineProperty(this, "unsubscribe", (channelUrl, messageId, subscriber) => {
22
+ var _this$statusMap$get, _this$statusMap$get$s;
23
+ const key = this.generateKey(channelUrl, messageId);
24
+ (_this$statusMap$get = this.statusMap.get(key)) === null || _this$statusMap$get === void 0 ? void 0 : (_this$statusMap$get$s = _this$statusMap$get.subscribers) === null || _this$statusMap$get$s === void 0 ? void 0 : _this$statusMap$get$s.delete(subscriber);
25
+ });
26
+ _defineProperty(this, "publishAll", () => {
27
+ this.statusMap.forEach(status => {
28
+ var _status$subscribers;
29
+ (_status$subscribers = status.subscribers) === null || _status$subscribers === void 0 ? void 0 : _status$subscribers.forEach(subscriber => {
30
+ subscriber(status.currentTime);
31
+ });
32
+ });
33
+ });
34
+ _defineProperty(this, "getCurrentTime", (channelUrl, messageId) => {
35
+ var _this$statusMap$get2;
36
+ const key = this.generateKey(channelUrl, messageId);
37
+ return ((_this$statusMap$get2 = this.statusMap.get(key)) === null || _this$statusMap$get2 === void 0 ? void 0 : _this$statusMap$get2.currentTime) || 0;
38
+ });
39
+ _defineProperty(this, "setCurrentTime", (channelUrl, messageId, currentTime) => {
40
+ const key = this.generateKey(channelUrl, messageId);
41
+ if (!this.statusMap.has(key)) {
42
+ this.statusMap.set(key, {
43
+ currentTime
44
+ });
45
+ } else {
46
+ this.statusMap.get(key).currentTime = currentTime;
47
+ }
48
+ });
49
+ _defineProperty(this, "clear", () => {
50
+ this.statusMap.forEach(status => {
51
+ var _status$subscribers2;
52
+ (_status$subscribers2 = status.subscribers) === null || _status$subscribers2 === void 0 ? void 0 : _status$subscribers2.clear();
53
+ });
54
+ this.statusMap.clear();
55
+ });
56
+ }
57
+ }
58
+ export default VoiceMessageStatusManager;
59
+ //# sourceMappingURL=VoiceMessageStatusManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["VoiceMessageStatusManager","constructor","_defineProperty","Map","channelUrl","messageId","subscriber","_subscribers","key","generateKey","statusMap","has","set","currentTime","subscribers","Set","get","add","_this$statusMap$get","_this$statusMap$get$s","delete","forEach","status","_status$subscribers","_this$statusMap$get2","_status$subscribers2","clear"],"sources":["VoiceMessageStatusManager.ts"],"sourcesContent":["interface VoiceMessageStatus {\n currentTime: number;\n subscribers?: Set<(currentTime: number) => void>;\n}\n\nclass VoiceMessageStatusManager {\n private statusMap: Map<string, VoiceMessageStatus> = new Map();\n\n private generateKey = (channelUrl: string, messageId: number): string => {\n return `${channelUrl}-${messageId}`;\n };\n\n subscribe = (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => {\n const key = this.generateKey(channelUrl, messageId);\n if (!this.statusMap.has(key)) {\n this.statusMap.set(key, { currentTime: 0, subscribers: new Set() });\n }\n this.statusMap.get(key)!.subscribers?.add(subscriber);\n };\n\n unsubscribe = (channelUrl: string, messageId: number, subscriber: (currentTime: number) => void) => {\n const key = this.generateKey(channelUrl, messageId);\n this.statusMap.get(key)?.subscribers?.delete(subscriber);\n };\n\n publishAll = (): void => {\n this.statusMap.forEach((status) => {\n status.subscribers?.forEach((subscriber) => {\n subscriber(status.currentTime);\n });\n });\n };\n\n getCurrentTime = (channelUrl: string, messageId: number): number => {\n const key = this.generateKey(channelUrl, messageId);\n return this.statusMap.get(key)?.currentTime || 0;\n };\n\n setCurrentTime = (channelUrl: string, messageId: number, currentTime: number): void => {\n const key = this.generateKey(channelUrl, messageId);\n if (!this.statusMap.has(key)) {\n this.statusMap.set(key, { currentTime });\n } else {\n this.statusMap.get(key)!.currentTime = currentTime;\n }\n };\n\n clear = (): void => {\n this.statusMap.forEach((status) => {\n status.subscribers?.clear();\n });\n this.statusMap.clear();\n };\n}\n\nexport default VoiceMessageStatusManager;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdOpenChannel,\n SendbirdParticipant,\n SendbirdUser,\n SendbirdUserMessage,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n OPEN_CHANNEL: {\n /** OpenChannel > Header */\n HEADER_TITLE: (channel: SendbirdOpenChannel) => string;\n HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;\n\n /** OpenChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n\n /** OpenChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n };\n OPEN_CHANNEL_PARTICIPANTS: {\n /** OpenChannelParticipants > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_SETTINGS: {\n /** OpenChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelSettings > Info */\n INFO_URL: string;\n\n /** OpenChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_PARTICIPANTS: string;\n MENU_DELETE_CHANNEL: string;\n\n /** OpenChannelSettings > Dialog */\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: string;\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_LIST: {\n /** OpenChannelList > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (channel: SendbirdOpenChannel) => string;\n };\n OPEN_CHANNEL_CREATE: {\n /** OpenChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelCreate > ProfileInput */\n PLACEHOLDER: string;\n\n /** OpenChannelCreate > Dialog */\n DIALOG_IMAGE_MENU_REMOVE: string;\n DIALOG_IMAGE_MENU_CAMERA: string;\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_MODERATION: {\n /** OpenChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_PARTICIPANTS: string;\n MENU_BANNED_USERS: string;\n };\n OPEN_CHANNEL_BANNED_USERS: {\n /** OpenChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n /** OpenChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_OPERATORS: {\n /** OpenChannelOperators > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n /** OpenChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdParticipant> }) => string;\n };\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_MEMBERS: string;\n MENU_SEARCH: string;\n MENU_LEAVE_CHANNEL: string;\n MENU_NOTIFICATION: string;\n MENU_NOTIFICATION_LABEL_ON: string;\n MENU_NOTIFICATION_LABEL_OFF: string;\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_NOTIFICATIONS: {\n /** GroupChannelNotifications > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelNotifications > Menu */\n MENU_NOTIFICATIONS: string;\n MENU_NOTIFICATIONS_DESC: string;\n MENU_NOTIFICATIONS_OPTION_ALL: string;\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n MESSAGE_SEARCH: {\n /** MessageSearch > Header */\n HEADER_INPUT_PLACEHOLDER: string;\n HEADER_RIGHT: string;\n\n /** MessageSearch > Search result item */\n SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;\n SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;\n };\n // UI\n LABELS: {\n PERMISSION_APP_NAME: string;\n PERMISSION_CAMERA: string;\n PERMISSION_DEVICE_STORAGE: string;\n PERMISSION_MICROPHONE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n REPLY_FROM_SENDER_TO_RECEIVER: (\n replyMessage: SendbirdUserMessage | SendbirdFileMessage,\n parentMessage: SendbirdUserMessage | SendbirdFileMessage,\n currentUserId?: string,\n ) => string;\n MESSAGE_UNAVAILABLE: string;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n\n /** ChannelMessageList **/\n CHANNEL_MESSAGE_LIST_FROZEN: string;\n\n /** ChannelInput **/\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;\n CHANNEL_INPUT_PLACEHOLDER_MUTED: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY: string;\n CHANNEL_INPUT_EDIT_OK: string;\n CHANNEL_INPUT_EDIT_CANCEL: string;\n /** ChannelInput > Attachments **/\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;\n CHANNEL_INPUT_ATTACHMENT_FILES: string;\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user: SendbirdUser) => string;\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message: SendbirdUserMessage | SendbirdFileMessage) => string;\n\n /** Channel > Message **/\n CHANNEL_MESSAGE_COPY: string;\n CHANNEL_MESSAGE_EDIT: string;\n CHANNEL_MESSAGE_SAVE: string;\n CHANNEL_MESSAGE_DELETE: string;\n CHANNEL_MESSAGE_REPLY: string;\n /** Channel > Message > Delete confirm **/\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** Channel > Message > Failed **/\n CHANNEL_MESSAGE_FAILED_RETRY: string;\n CHANNEL_MESSAGE_FAILED_REMOVE: string;\n\n /** Voice message **/\n VOICE_MESSAGE: string;\n VOICE_MESSAGE_INPUT_CANCEL: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_MUTED_PARTICIPANTS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n USER_MUTED_ERROR: string;\n CHANNEL_FROZEN_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n UNKNOWN_ERROR: string;\n GET_CHANNEL_ERROR: string;\n FIND_PARENT_MSG_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdOpenChannel,\n SendbirdParticipant,\n SendbirdUser,\n SendbirdUserMessage,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n OPEN_CHANNEL: {\n /** OpenChannel > Header */\n HEADER_TITLE: (channel: SendbirdOpenChannel) => string;\n HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;\n\n /** OpenChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n\n /** OpenChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n };\n OPEN_CHANNEL_PARTICIPANTS: {\n /** OpenChannelParticipants > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_SETTINGS: {\n /** OpenChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelSettings > Info */\n INFO_URL: string;\n\n /** OpenChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_PARTICIPANTS: string;\n MENU_DELETE_CHANNEL: string;\n\n /** OpenChannelSettings > Dialog */\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: string;\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_LIST: {\n /** OpenChannelList > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (channel: SendbirdOpenChannel) => string;\n };\n OPEN_CHANNEL_CREATE: {\n /** OpenChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelCreate > ProfileInput */\n PLACEHOLDER: string;\n\n /** OpenChannelCreate > Dialog */\n DIALOG_IMAGE_MENU_REMOVE: string;\n DIALOG_IMAGE_MENU_CAMERA: string;\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_MODERATION: {\n /** OpenChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_PARTICIPANTS: string;\n MENU_BANNED_USERS: string;\n };\n OPEN_CHANNEL_BANNED_USERS: {\n /** OpenChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n /** OpenChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_OPERATORS: {\n /** OpenChannelOperators > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n /** OpenChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdParticipant> }) => string;\n };\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n };\n GROUP_CHANNEL_THREAD: {\n /** GroupChannelThread > Header */\n HEADER_TITLE: string;\n HEADER_SUBTITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelThread > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannelThread > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => string;\n\n /** GroupChannelThread > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_MEMBERS: string;\n MENU_SEARCH: string;\n MENU_LEAVE_CHANNEL: string;\n MENU_NOTIFICATION: string;\n MENU_NOTIFICATION_LABEL_ON: string;\n MENU_NOTIFICATION_LABEL_OFF: string;\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_NOTIFICATIONS: {\n /** GroupChannelNotifications > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelNotifications > Menu */\n MENU_NOTIFICATIONS: string;\n MENU_NOTIFICATIONS_DESC: string;\n MENU_NOTIFICATIONS_OPTION_ALL: string;\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n MESSAGE_SEARCH: {\n /** MessageSearch > Header */\n HEADER_INPUT_PLACEHOLDER: string;\n HEADER_RIGHT: string;\n\n /** MessageSearch > Search result item */\n SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;\n SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;\n };\n // UI\n LABELS: {\n PERMISSION_APP_NAME: string;\n PERMISSION_CAMERA: string;\n PERMISSION_DEVICE_STORAGE: string;\n PERMISSION_MICROPHONE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n REPLY_FROM_SENDER_TO_RECEIVER: (\n replyMessage: SendbirdUserMessage | SendbirdFileMessage,\n parentMessage: SendbirdUserMessage | SendbirdFileMessage,\n currentUserId?: string,\n ) => string;\n MESSAGE_UNAVAILABLE: string;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n\n /** ChannelMessageList **/\n CHANNEL_MESSAGE_LIST_FROZEN: string;\n\n /** ChannelInput **/\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;\n CHANNEL_INPUT_PLACEHOLDER_MUTED: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: string;\n CHANNEL_INPUT_EDIT_OK: string;\n CHANNEL_INPUT_EDIT_CANCEL: string;\n /** ChannelInput > Attachments **/\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;\n CHANNEL_INPUT_ATTACHMENT_FILES: string;\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user: SendbirdUser) => string;\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message: SendbirdUserMessage | SendbirdFileMessage) => string;\n\n /** Channel > Message **/\n CHANNEL_MESSAGE_COPY: string;\n CHANNEL_MESSAGE_EDIT: string;\n CHANNEL_MESSAGE_SAVE: string;\n CHANNEL_MESSAGE_DELETE: string;\n CHANNEL_MESSAGE_REPLY: string;\n CHANNEL_MESSAGE_THREAD: string;\n /** Channel > Message > Delete confirm **/\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** Channel > Message > Failed **/\n CHANNEL_MESSAGE_FAILED_RETRY: string;\n CHANNEL_MESSAGE_FAILED_REMOVE: string;\n\n /** Voice message **/\n VOICE_MESSAGE: string;\n VOICE_MESSAGE_INPUT_CANCEL: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_MUTED_PARTICIPANTS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n USER_MUTED_ERROR: string;\n CHANNEL_FROZEN_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n UNKNOWN_ERROR: string;\n GET_CHANNEL_ERROR: string;\n FIND_PARENT_MSG_ERROR: string;\n THREAD_PARENT_MESSAGE_DELETED_ERROR: string;\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n"],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { getDateSeparatorFormat, getGroupChannelPreviewTime, getGroupChannelTitle, getMessagePreviewBody, getMessagePreviewTime, getMessagePreviewTitle, getMessageTimeFormat, getMessageType, getOpenChannelParticipants, getOpenChannelTitle, isVoiceMessage } from '@sendbird/uikit-utils';
1
+ import { getThreadParentMessageTimeFormat } from '@sendbird/uikit-utils';
2
+ import { getDateSeparatorFormat, getGroupChannelPreviewTime, getGroupChannelTitle, getMessagePreviewBody, getMessagePreviewTime, getMessagePreviewTitle, getMessageTimeFormat, getMessageType, getOpenChannelParticipants, getOpenChannelTitle, getReplyCountFormat, isVoiceMessage } from '@sendbird/uikit-utils';
2
3
  import { UNKNOWN_USER_ID } from '../constants';
3
4
  /**
4
5
  * Create string set
@@ -109,6 +110,21 @@ export const createBaseStringSet = _ref => {
109
110
  MENTION_LIMITED: mentionLimit => `You can have up to ${mentionLimit} mentions per message.`,
110
111
  ...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL)
111
112
  },
113
+ GROUP_CHANNEL_THREAD: {
114
+ HEADER_TITLE: 'Thread',
115
+ HEADER_SUBTITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),
116
+ LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),
117
+ LIST_BUTTON_NEW_MSG: newMessages => `${newMessages.length} new messages`,
118
+ MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),
119
+ MESSAGE_BUBBLE_FILE_TITLE: message => message.name,
120
+ MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
121
+ MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
122
+ MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
123
+ PARENT_MESSAGE_TIME: (message, locale) => getThreadParentMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),
124
+ REPLY_COUNT: (replyCount, maxReplyCount) => getReplyCountFormat(replyCount, maxReplyCount),
125
+ MENTION_LIMITED: mentionLimit => `You can have up to ${mentionLimit} mentions per message.`,
126
+ ...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL_THREAD)
127
+ },
112
128
  GROUP_CHANNEL_SETTINGS: {
113
129
  HEADER_TITLE: 'Channel information',
114
130
  HEADER_RIGHT: 'Edit',
@@ -250,9 +266,9 @@ export const createBaseStringSet = _ref => {
250
266
  },
251
267
  REPLY_FROM_SENDER_TO_RECEIVER: function (reply, parent) {
252
268
  let currentUserId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : UNKNOWN_USER_ID;
253
- const senderNickname = reply.sender.nickname || USER_NO_NAME;
254
- const receiverNickname = parent.sender.nickname || USER_NO_NAME;
255
- return `${reply.sender.userId !== currentUserId ? senderNickname : 'You'} replied to ${receiverNickname}`;
269
+ const replySenderNickname = reply.sender.userId === currentUserId ? 'You' : reply.sender.nickname || USER_NO_NAME;
270
+ const parentSenderNickname = parent.sender.userId === currentUserId ? 'You' : parent.sender.nickname || USER_NO_NAME;
271
+ return `${replySenderNickname} replied to ${parentSenderNickname}`;
256
272
  },
257
273
  MESSAGE_UNAVAILABLE: 'Message unavailable',
258
274
  USER_BAR_ME_POSTFIX: ' (You)',
@@ -269,6 +285,7 @@ export const createBaseStringSet = _ref => {
269
285
  CHANNEL_MESSAGE_SAVE: 'Save',
270
286
  CHANNEL_MESSAGE_DELETE: 'Delete',
271
287
  CHANNEL_MESSAGE_REPLY: 'Reply',
288
+ CHANNEL_MESSAGE_THREAD: 'Reply in thread',
272
289
  CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
273
290
  CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
274
291
  CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
@@ -282,6 +299,8 @@ export const createBaseStringSet = _ref => {
282
299
  CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
283
300
  CHANNEL_INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
284
301
  CHANNEL_INPUT_PLACEHOLDER_REPLY: 'Reply to message',
302
+ CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: 'Reply in thread',
303
+ CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 'Reply to thread',
285
304
  CHANNEL_INPUT_EDIT_OK: 'Save',
286
305
  CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',
287
306
  CHANNEL_INPUT_REPLY_PREVIEW_TITLE: user => `Reply to ${user.nickname || USER_NO_NAME}`,
@@ -364,6 +383,10 @@ export const createBaseStringSet = _ref => {
364
383
  UNKNOWN_ERROR: 'Something went wrong.',
365
384
  GET_CHANNEL_ERROR: "Couldn't retrieve channel.",
366
385
  FIND_PARENT_MSG_ERROR: "Couldn't find the original message for this reply.",
386
+ THREAD_PARENT_MESSAGE_DELETED_ERROR: "The thread doesn't exist because the parent message was deleted.",
387
+ FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: uploadSizeLimit => {
388
+ return `The maximum size per file is ${uploadSizeLimit}.`;
389
+ },
367
390
  ...(overrides === null || overrides === void 0 ? void 0 : overrides.TOAST)
368
391
  },
369
392
  PROFILE_CARD: {
@@ -1 +1 @@
1
- {"version":3,"names":["getDateSeparatorFormat","getGroupChannelPreviewTime","getGroupChannelTitle","getMessagePreviewBody","getMessagePreviewTime","getMessagePreviewTitle","getMessageTimeFormat","getMessageType","getOpenChannelParticipants","getOpenChannelTitle","isVoiceMessage","UNKNOWN_USER_ID","createBaseStringSet","_ref","_overrides$LABELS","_overrides$LABELS2","_overrides$PLACEHOLDE","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","OPEN_CHANNEL","HEADER_TITLE","channel","HEADER_SUBTITLE","LIST_DATE_SEPARATOR","date","locale","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","OPEN_CHANNEL_PARTICIPANTS","OPEN_CHANNEL_SETTINGS","HEADER_RIGHT","INFO_URL","MENU_MODERATION","MENU_PARTICIPANTS","MENU_DELETE_CHANNEL","DIALOG_CHANNEL_DELETE_CONFIRM_TITLE","DIALOG_CHANNEL_DELETE_CONFIRM_OK","DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","OPEN_CHANNEL_CREATE","PLACEHOLDER","DIALOG_IMAGE_MENU_REMOVE","DIALOG_IMAGE_MENU_CAMERA","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_PARTICIPANTS","MENU_BANNED_USERS","OPEN_CHANNEL_BANNED_USERS","OPEN_CHANNEL_MUTED_PARTICIPANTS","OPEN_CHANNEL_OPERATORS","OPEN_CHANNEL_REGISTER_OPERATOR","_ref2","selectedUsers","len","length","GROUP_CHANNEL","uid","LIST_BUTTON_NEW_MSG","newMessages","MENTION_LIMITED","mentionLimit","GROUP_CHANNEL_SETTINGS","MENU_MEMBERS","MENU_SEARCH","MENU_LEAVE_CHANNEL","MENU_NOTIFICATION","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENU_NOTIFICATION_LABEL_MENTION_ONLY","GROUP_CHANNEL_NOTIFICATIONS","MENU_NOTIFICATIONS","MENU_NOTIFICATIONS_DESC","MENU_NOTIFICATIONS_OPTION_ALL","MENU_NOTIFICATIONS_OPTION_MENTION_ONLY","GROUP_CHANNEL_MODERATION","MENU_MUTED_MEMBERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","_ref3","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","currentUserId","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","lastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","GROUP_CHANNEL_CREATE","_ref4","GROUP_CHANNEL_INVITE","_ref5","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","SEARCH_RESULT_ITEM_TITLE","SEARCH_RESULT_ITEM_BODY","SEARCH_RESULT_ITEM_TITLE_CAPTION","PERMISSION_APP_NAME","PERMISSION_CAMERA","PERMISSION_DEVICE_STORAGE","PERMISSION_MICROPHONE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","arguments","undefined","userNames","map","u","nickname","join","REPLY_FROM_SENDER_TO_RECEIVER","reply","parent","senderNickname","sender","receiverNickname","userId","MESSAGE_UNAVAILABLE","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","CHANNEL_MESSAGE_LIST_FROZEN","CHANNEL_MESSAGE_COPY","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_SAVE","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_REPLY","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_FAILED_RETRY","CHANNEL_MESSAGE_FAILED_REMOVE","CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO","CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO","CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY","CHANNEL_INPUT_ATTACHMENT_FILES","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_REPLY","CHANNEL_INPUT_EDIT_OK","CHANNEL_INPUT_EDIT_CANCEL","CHANNEL_INPUT_REPLY_PREVIEW_TITLE","user","CHANNEL_INPUT_REPLY_PREVIEW_BODY","isFileMessage","messageType","type","toLowerCase","includes","isUserMessage","VOICE_MESSAGE","VOICE_MESSAGE_INPUT_CANCEL","FILE_VIEWER","TITLE","_message$sender","SUBTITLE","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_MUTED_PARTICIPANTS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","UNKNOWN_ERROR","GET_CHANNEL_ERROR","FIND_PARENT_MSG_ERROR","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY"],"sources":["createBaseStringSet.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type { PartialDeep } from '@sendbird/uikit-utils';\nimport {\n getDateSeparatorFormat,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n getMessagePreviewBody,\n getMessagePreviewTime,\n getMessagePreviewTitle,\n getMessageTimeFormat,\n getMessageType,\n getOpenChannelParticipants,\n getOpenChannelTitle,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { UNKNOWN_USER_ID } from '../constants';\nimport type { StringSet } from './StringSet.type';\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n\n return {\n OPEN_CHANNEL: {\n HEADER_TITLE: (channel) => getOpenChannelTitle(channel),\n HEADER_SUBTITLE: (channel) => getOpenChannelParticipants(channel),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n ...overrides?.OPEN_CHANNEL,\n },\n OPEN_CHANNEL_PARTICIPANTS: {\n HEADER_TITLE: 'Participants',\n ...overrides?.OPEN_CHANNEL_PARTICIPANTS,\n },\n OPEN_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n INFO_URL: 'URL',\n MENU_MODERATION: 'Moderation',\n MENU_PARTICIPANTS: 'Participants',\n MENU_DELETE_CHANNEL: 'Delete channel',\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: 'Delete channel?',\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_SETTINGS,\n },\n OPEN_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (channel) => getOpenChannelTitle(channel),\n ...overrides?.OPEN_CHANNEL_LIST,\n },\n OPEN_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: 'Create',\n PLACEHOLDER: 'Enter channel name',\n DIALOG_IMAGE_MENU_REMOVE: 'Remove photo',\n DIALOG_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_CREATE,\n },\n OPEN_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_PARTICIPANTS: 'Muted participants',\n MENU_BANNED_USERS: 'Banned users',\n ...overrides?.OPEN_CHANNEL_MODERATION,\n },\n OPEN_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.OPEN_CHANNEL_BANNED_USERS,\n },\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n HEADER_TITLE: 'Muted participants',\n ...overrides?.OPEN_CHANNEL_MUTED_PARTICIPANTS,\n },\n OPEN_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.OPEN_CHANNEL_OPERATORS,\n },\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.OPEN_CHANNEL_REGISTER_OPERATOR,\n },\n GROUP_CHANNEL: {\n HEADER_TITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_MEMBERS: 'Members',\n MENU_SEARCH: 'Search in channel',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n MENU_NOTIFICATION: 'Notifications',\n MENU_NOTIFICATION_LABEL_ON: 'On',\n MENU_NOTIFICATION_LABEL_OFF: 'Off',\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_NOTIFICATIONS: {\n HEADER_TITLE: 'Notifications',\n MENU_NOTIFICATIONS: 'Notifications',\n MENU_NOTIFICATIONS_DESC:\n 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',\n MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',\n ...overrides?.GROUP_CHANNEL_NOTIFICATIONS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => {\n if (!channel.lastMessage) return '';\n if (isVoiceMessage(channel.lastMessage)) return 'Voice message';\n return getMessagePreviewBody(channel.lastMessage);\n },\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n MESSAGE_SEARCH: {\n HEADER_INPUT_PLACEHOLDER: 'Search',\n HEADER_RIGHT: 'Search',\n SEARCH_RESULT_ITEM_TITLE: (message) => getMessagePreviewTitle(message),\n SEARCH_RESULT_ITEM_BODY: (message) => {\n if (isVoiceMessage(message)) return 'Voice message';\n return getMessagePreviewBody(message);\n },\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message, locale) => {\n return getMessagePreviewTime(message.createdAt, locale ?? dateLocale);\n },\n },\n LABELS: {\n PERMISSION_APP_NAME: 'Application',\n PERMISSION_CAMERA: 'camera',\n PERMISSION_DEVICE_STORAGE: 'device storage',\n PERMISSION_MICROPHONE: 'microphone',\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n REPLY_FROM_SENDER_TO_RECEIVER: (reply, parent, currentUserId = UNKNOWN_USER_ID) => {\n const senderNickname = reply.sender.nickname || USER_NO_NAME;\n const receiverNickname = parent.sender.nickname || USER_NO_NAME;\n return `${reply.sender.userId !== currentUserId ? senderNickname : 'You'} replied to ${receiverNickname}`;\n },\n MESSAGE_UNAVAILABLE: 'Message unavailable',\n\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',\n CHANNEL_MESSAGE_COPY: 'Copy',\n CHANNEL_MESSAGE_EDIT: 'Edit',\n CHANNEL_MESSAGE_SAVE: 'Save',\n CHANNEL_MESSAGE_DELETE: 'Delete',\n CHANNEL_MESSAGE_REPLY: 'Reply',\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',\n CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n CHANNEL_INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n CHANNEL_INPUT_PLACEHOLDER_REPLY: 'Reply to message',\n CHANNEL_INPUT_EDIT_OK: 'Save',\n CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user) => `Reply to ${user.nickname || USER_NO_NAME}`,\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message) => {\n if (message.isFileMessage()) {\n const messageType = getMessageType(message);\n switch (messageType) {\n case 'file.image':\n return message.type.toLowerCase().includes('gif') ? 'GIF' : 'Photo';\n case 'file.video':\n return 'Video';\n case 'file.audio':\n return 'Audio';\n case 'file.voice':\n return 'Voice message';\n default:\n return message.name;\n }\n } else if (message.isUserMessage()) {\n return message.message;\n }\n return 'Unknown message';\n },\n VOICE_MESSAGE: 'Voice message',\n VOICE_MESSAGE_INPUT_CANCEL: 'Cancel',\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => getMessageTimeFormat(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_MUTED_PARTICIPANTS: 'No muted participants',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} needs permission to access your ${permission}.`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n USER_MUTED_ERROR: \"You're muted by the operator.\",\n CHANNEL_FROZEN_ERROR: 'Channel is frozen.',\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n UNKNOWN_ERROR: 'Something went wrong.',\n GET_CHANNEL_ERROR: \"Couldn't retrieve channel.\",\n FIND_PARENT_MSG_ERROR: \"Couldn't find the original message for this reply.\",\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["getThreadParentMessageTimeFormat","getDateSeparatorFormat","getGroupChannelPreviewTime","getGroupChannelTitle","getMessagePreviewBody","getMessagePreviewTime","getMessagePreviewTitle","getMessageTimeFormat","getMessageType","getOpenChannelParticipants","getOpenChannelTitle","getReplyCountFormat","isVoiceMessage","UNKNOWN_USER_ID","createBaseStringSet","_ref","_overrides$LABELS","_overrides$LABELS2","_overrides$PLACEHOLDE","dateLocale","overrides","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","OPEN_CHANNEL","HEADER_TITLE","channel","HEADER_SUBTITLE","LIST_DATE_SEPARATOR","date","locale","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","OPEN_CHANNEL_PARTICIPANTS","OPEN_CHANNEL_SETTINGS","HEADER_RIGHT","INFO_URL","MENU_MODERATION","MENU_PARTICIPANTS","MENU_DELETE_CHANNEL","DIALOG_CHANNEL_DELETE_CONFIRM_TITLE","DIALOG_CHANNEL_DELETE_CONFIRM_OK","DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","OPEN_CHANNEL_CREATE","PLACEHOLDER","DIALOG_IMAGE_MENU_REMOVE","DIALOG_IMAGE_MENU_CAMERA","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_PARTICIPANTS","MENU_BANNED_USERS","OPEN_CHANNEL_BANNED_USERS","OPEN_CHANNEL_MUTED_PARTICIPANTS","OPEN_CHANNEL_OPERATORS","OPEN_CHANNEL_REGISTER_OPERATOR","_ref2","selectedUsers","len","length","GROUP_CHANNEL","uid","LIST_BUTTON_NEW_MSG","newMessages","MENTION_LIMITED","mentionLimit","GROUP_CHANNEL_THREAD","PARENT_MESSAGE_TIME","REPLY_COUNT","replyCount","maxReplyCount","GROUP_CHANNEL_SETTINGS","MENU_MEMBERS","MENU_SEARCH","MENU_LEAVE_CHANNEL","MENU_NOTIFICATION","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENU_NOTIFICATION_LABEL_MENTION_ONLY","GROUP_CHANNEL_NOTIFICATIONS","MENU_NOTIFICATIONS","MENU_NOTIFICATIONS_DESC","MENU_NOTIFICATIONS_OPTION_ALL","MENU_NOTIFICATIONS_OPTION_MENTION_ONLY","GROUP_CHANNEL_MODERATION","MENU_MUTED_MEMBERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","_ref3","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","currentUserId","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","lastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","GROUP_CHANNEL_CREATE","_ref4","GROUP_CHANNEL_INVITE","_ref5","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","SEARCH_RESULT_ITEM_TITLE","SEARCH_RESULT_ITEM_BODY","SEARCH_RESULT_ITEM_TITLE_CAPTION","PERMISSION_APP_NAME","PERMISSION_CAMERA","PERMISSION_DEVICE_STORAGE","PERMISSION_MICROPHONE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","arguments","undefined","userNames","map","u","nickname","join","REPLY_FROM_SENDER_TO_RECEIVER","reply","parent","replySenderNickname","sender","userId","parentSenderNickname","MESSAGE_UNAVAILABLE","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","CHANNEL_MESSAGE_LIST_FROZEN","CHANNEL_MESSAGE_COPY","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_SAVE","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_REPLY","CHANNEL_MESSAGE_THREAD","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_FAILED_RETRY","CHANNEL_MESSAGE_FAILED_REMOVE","CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO","CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO","CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY","CHANNEL_INPUT_ATTACHMENT_FILES","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_REPLY","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_EDIT_OK","CHANNEL_INPUT_EDIT_CANCEL","CHANNEL_INPUT_REPLY_PREVIEW_TITLE","user","CHANNEL_INPUT_REPLY_PREVIEW_BODY","isFileMessage","messageType","type","toLowerCase","includes","isUserMessage","VOICE_MESSAGE","VOICE_MESSAGE_INPUT_CANCEL","FILE_VIEWER","TITLE","_message$sender","SUBTITLE","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_MUTED_PARTICIPANTS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","UNKNOWN_ERROR","GET_CHANNEL_ERROR","FIND_PARENT_MSG_ERROR","THREAD_PARENT_MESSAGE_DELETED_ERROR","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","uploadSizeLimit","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY"],"sources":["createBaseStringSet.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport { PartialDeep, SendbirdMessage, getThreadParentMessageTimeFormat } from '@sendbird/uikit-utils';\nimport {\n getDateSeparatorFormat,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n getMessagePreviewBody,\n getMessagePreviewTime,\n getMessagePreviewTitle,\n getMessageTimeFormat,\n getMessageType,\n getOpenChannelParticipants,\n getOpenChannelTitle,\n getReplyCountFormat,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { UNKNOWN_USER_ID } from '../constants';\nimport type { StringSet } from './StringSet.type';\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n\n return {\n OPEN_CHANNEL: {\n HEADER_TITLE: (channel) => getOpenChannelTitle(channel),\n HEADER_SUBTITLE: (channel) => getOpenChannelParticipants(channel),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n ...overrides?.OPEN_CHANNEL,\n },\n OPEN_CHANNEL_PARTICIPANTS: {\n HEADER_TITLE: 'Participants',\n ...overrides?.OPEN_CHANNEL_PARTICIPANTS,\n },\n OPEN_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n INFO_URL: 'URL',\n MENU_MODERATION: 'Moderation',\n MENU_PARTICIPANTS: 'Participants',\n MENU_DELETE_CHANNEL: 'Delete channel',\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: 'Delete channel?',\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_SETTINGS,\n },\n OPEN_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (channel) => getOpenChannelTitle(channel),\n ...overrides?.OPEN_CHANNEL_LIST,\n },\n OPEN_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: 'Create',\n PLACEHOLDER: 'Enter channel name',\n DIALOG_IMAGE_MENU_REMOVE: 'Remove photo',\n DIALOG_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_CREATE,\n },\n OPEN_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_PARTICIPANTS: 'Muted participants',\n MENU_BANNED_USERS: 'Banned users',\n ...overrides?.OPEN_CHANNEL_MODERATION,\n },\n OPEN_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.OPEN_CHANNEL_BANNED_USERS,\n },\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n HEADER_TITLE: 'Muted participants',\n ...overrides?.OPEN_CHANNEL_MUTED_PARTICIPANTS,\n },\n OPEN_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.OPEN_CHANNEL_OPERATORS,\n },\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.OPEN_CHANNEL_REGISTER_OPERATOR,\n },\n GROUP_CHANNEL: {\n HEADER_TITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_THREAD: {\n HEADER_TITLE: 'Thread',\n HEADER_SUBTITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) =>\n getThreadParentMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => getReplyCountFormat(replyCount, maxReplyCount),\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL_THREAD,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_MEMBERS: 'Members',\n MENU_SEARCH: 'Search in channel',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n MENU_NOTIFICATION: 'Notifications',\n MENU_NOTIFICATION_LABEL_ON: 'On',\n MENU_NOTIFICATION_LABEL_OFF: 'Off',\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_NOTIFICATIONS: {\n HEADER_TITLE: 'Notifications',\n MENU_NOTIFICATIONS: 'Notifications',\n MENU_NOTIFICATIONS_DESC:\n 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',\n MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',\n ...overrides?.GROUP_CHANNEL_NOTIFICATIONS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => {\n if (!channel.lastMessage) return '';\n if (isVoiceMessage(channel.lastMessage)) return 'Voice message';\n return getMessagePreviewBody(channel.lastMessage);\n },\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n MESSAGE_SEARCH: {\n HEADER_INPUT_PLACEHOLDER: 'Search',\n HEADER_RIGHT: 'Search',\n SEARCH_RESULT_ITEM_TITLE: (message) => getMessagePreviewTitle(message),\n SEARCH_RESULT_ITEM_BODY: (message) => {\n if (isVoiceMessage(message)) return 'Voice message';\n return getMessagePreviewBody(message);\n },\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message, locale) => {\n return getMessagePreviewTime(message.createdAt, locale ?? dateLocale);\n },\n },\n LABELS: {\n PERMISSION_APP_NAME: 'Application',\n PERMISSION_CAMERA: 'camera',\n PERMISSION_DEVICE_STORAGE: 'device storage',\n PERMISSION_MICROPHONE: 'microphone',\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n REPLY_FROM_SENDER_TO_RECEIVER: (reply, parent, currentUserId = UNKNOWN_USER_ID) => {\n const replySenderNickname =\n reply.sender.userId === currentUserId ? 'You' : reply.sender.nickname || USER_NO_NAME;\n const parentSenderNickname =\n parent.sender.userId === currentUserId ? 'You' : parent.sender.nickname || USER_NO_NAME;\n return `${replySenderNickname} replied to ${parentSenderNickname}`;\n },\n MESSAGE_UNAVAILABLE: 'Message unavailable',\n\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',\n CHANNEL_MESSAGE_COPY: 'Copy',\n CHANNEL_MESSAGE_EDIT: 'Edit',\n CHANNEL_MESSAGE_SAVE: 'Save',\n CHANNEL_MESSAGE_DELETE: 'Delete',\n CHANNEL_MESSAGE_REPLY: 'Reply',\n CHANNEL_MESSAGE_THREAD: 'Reply in thread',\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',\n CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n CHANNEL_INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n CHANNEL_INPUT_PLACEHOLDER_REPLY: 'Reply to message',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: 'Reply in thread',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 'Reply to thread',\n CHANNEL_INPUT_EDIT_OK: 'Save',\n CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user) => `Reply to ${user.nickname || USER_NO_NAME}`,\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message) => {\n if (message.isFileMessage()) {\n const messageType = getMessageType(message);\n switch (messageType) {\n case 'file.image':\n return message.type.toLowerCase().includes('gif') ? 'GIF' : 'Photo';\n case 'file.video':\n return 'Video';\n case 'file.audio':\n return 'Audio';\n case 'file.voice':\n return 'Voice message';\n default:\n return message.name;\n }\n } else if (message.isUserMessage()) {\n return message.message;\n }\n return 'Unknown message';\n },\n VOICE_MESSAGE: 'Voice message',\n VOICE_MESSAGE_INPUT_CANCEL: 'Cancel',\n ...overrides?.LABELS,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => getMessageTimeFormat(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_MUTED_PARTICIPANTS: 'No muted participants',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} needs permission to access your ${permission}.`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n USER_MUTED_ERROR: \"You're muted by the operator.\",\n CHANNEL_FROZEN_ERROR: 'Channel is frozen.',\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n UNKNOWN_ERROR: 'Something went wrong.',\n GET_CHANNEL_ERROR: \"Couldn't retrieve channel.\",\n FIND_PARENT_MSG_ERROR: \"Couldn't find the original message for this reply.\",\n THREAD_PARENT_MESSAGE_DELETED_ERROR: \"The thread doesn't exist because the parent message was deleted.\",\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => {\n return `The maximum size per file is ${uploadSizeLimit}.`;\n },\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"AAEA,SAAuCA,gCAAgC,QAAQ,uBAAuB;AACtG,SACEC,sBAAsB,EACtBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,qBAAqB,EACrBC,qBAAqB,EACrBC,sBAAsB,EACtBC,oBAAoB,EACpBC,cAAc,EACdC,0BAA0B,EAC1BC,mBAAmB,EACnBC,mBAAmB,EACnBC,cAAc,QACT,uBAAuB;AAE9B,SAASC,eAAe,QAAQ,cAAc;AAQ9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGC,IAAA,IAAkE;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,qBAAA;EAAA,IAAjE;IAAEC,UAAU;IAAEC;EAAkC,CAAC,GAAAL,IAAA;EACnF,MAAMM,YAAY,GAAG,CAAAD,SAAS,aAATA,SAAS,wBAAAJ,iBAAA,GAATI,SAAS,CAAEE,MAAM,cAAAN,iBAAA,uBAAjBA,iBAAA,CAAmBK,YAAY,KAAI,WAAW;EACnE,MAAME,kBAAkB,GAAG,CAAAH,SAAS,aAATA,SAAS,wBAAAH,kBAAA,GAATG,SAAS,CAAEE,MAAM,cAAAL,kBAAA,uBAAjBA,kBAAA,CAAmBM,kBAAkB,KAAI,cAAc;EAElF,OAAO;IACLC,YAAY,EAAE;MACZC,YAAY,EAAGC,OAAO,IAAKhB,mBAAmB,CAACgB,OAAO,CAAC;MACvDC,eAAe,EAAGD,OAAO,IAAKjB,0BAA0B,CAACiB,OAAO,CAAC;MACjEE,mBAAmB,EAAEA,CAACC,IAAI,EAAEC,MAAM,KAAK7B,sBAAsB,CAAC4B,IAAI,EAAEC,MAAM,IAAIX,UAAU,CAAC;MACzFY,mBAAmB,EAAEA,CAACC,OAAO,EAAEF,MAAM,KAAKvB,oBAAoB,CAAC,IAAI0B,IAAI,CAACD,OAAO,CAACE,SAAS,CAAC,EAAEJ,MAAM,IAAIX,UAAU,CAAC;MACjHgB,yBAAyB,EAAGH,OAAO,IAAKA,OAAO,CAACI,IAAI;MACpDC,6BAA6B,EAAE,WAAW;MAC1CC,4BAA4B,EAAEA,CAAA,KAAM,wBAAwB;MAC5DC,2BAA2B,EAAEA,CAAA,KAAM,2BAA2B;MAC9D,IAAGnB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,YAAY;IAC5B,CAAC;IACDgB,yBAAyB,EAAE;MACzBf,YAAY,EAAE,cAAc;MAC5B,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoB,yBAAyB;IACzC,CAAC;IACDC,qBAAqB,EAAE;MACrBhB,YAAY,EAAE,qBAAqB;MACnCiB,YAAY,EAAE,MAAM;MACpBC,QAAQ,EAAE,KAAK;MACfC,eAAe,EAAE,YAAY;MAC7BC,iBAAiB,EAAE,cAAc;MACjCC,mBAAmB,EAAE,gBAAgB;MACrCC,mCAAmC,EAAE,iBAAiB;MACtDC,gCAAgC,EAAE,QAAQ;MAC1CC,oCAAoC,EAAE,QAAQ;MAC9CC,kBAAkB,EAAE,qBAAqB;MACzCC,+BAA+B,EAAE,qBAAqB;MACtDC,qCAAqC,EAAE,YAAY;MACnDC,4BAA4B,EAAE,MAAM;MACpCC,gCAAgC,EAAE,QAAQ;MAC1CC,mBAAmB,EAAE,sBAAsB;MAC3CC,8BAA8B,EAAE,sBAAsB;MACtDC,+BAA+B,EAAE,YAAY;MAC7CC,sCAAsC,EAAE,cAAc;MACtD,IAAGtC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqB,qBAAqB;IACrC,CAAC;IACDkB,iBAAiB,EAAE;MACjBlC,YAAY,EAAE,UAAU;MACxBmC,qBAAqB,EAAGlC,OAAO,IAAKhB,mBAAmB,CAACgB,OAAO,CAAC;MAChE,IAAGN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuC,iBAAiB;IACjC,CAAC;IACDE,mBAAmB,EAAE;MACnBpC,YAAY,EAAE,aAAa;MAC3BiB,YAAY,EAAE,QAAQ;MACtBoB,WAAW,EAAE,oBAAoB;MACjCC,wBAAwB,EAAE,cAAc;MACxCC,wBAAwB,EAAE,YAAY;MACtCC,+BAA+B,EAAE,cAAc;MAC/C,IAAG7C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEyC,mBAAmB;IACnC,CAAC;IACDK,uBAAuB,EAAE;MACvBzC,YAAY,EAAE,YAAY;MAC1B0C,cAAc,EAAE,WAAW;MAC3BC,uBAAuB,EAAE,oBAAoB;MAC7CC,iBAAiB,EAAE,cAAc;MACjC,IAAGjD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE8C,uBAAuB;IACvC,CAAC;IACDI,yBAAyB,EAAE;MACzB7C,YAAY,EAAE,cAAc;MAC5B,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkD,yBAAyB;IACzC,CAAC;IACDC,+BAA+B,EAAE;MAC/B9C,YAAY,EAAE,oBAAoB;MAClC,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEmD,+BAA+B;IAC/C,CAAC;IACDC,sBAAsB,EAAE;MACtB/C,YAAY,EAAE,WAAW;MACzB,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEoD,sBAAsB;IACtC,CAAC;IACDC,8BAA8B,EAAE;MAC9BhD,YAAY,EAAE,kBAAkB;MAChCiB,YAAY,EAAEgC,KAAA,IAAuB;QAAA,IAAtB;UAAEC;QAAc,CAAC,GAAAD,KAAA;QAC9B,MAAME,GAAG,GAAGD,aAAa,CAACE,MAAM;QAChC,IAAID,GAAG,KAAK,CAAC,EAAE,OAAO,KAAK;QAC3B,OAAQ,QAAOA,GAAI,GAAE;MACvB,CAAC;MACD,IAAGxD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqD,8BAA8B;IAC9C,CAAC;IACDK,aAAa,EAAE;MACbrD,YAAY,EAAEA,CAACsD,GAAG,EAAErD,OAAO,KAAKvB,oBAAoB,CAAC4E,GAAG,EAAErD,OAAO,EAAEL,YAAY,EAAEE,kBAAkB,CAAC;MACpGK,mBAAmB,EAAEA,CAACC,IAAI,EAAEC,MAAM,KAAK7B,sBAAsB,CAAC4B,IAAI,EAAEC,MAAM,IAAIX,UAAU,CAAC;MACzF6D,mBAAmB,EAAGC,WAAW,IAAM,GAAEA,WAAW,CAACJ,MAAO,eAAc;MAE1E9C,mBAAmB,EAAEA,CAACC,OAAO,EAAEF,MAAM,KAAKvB,oBAAoB,CAAC,IAAI0B,IAAI,CAACD,OAAO,CAACE,SAAS,CAAC,EAAEJ,MAAM,IAAIX,UAAU,CAAC;MACjHgB,yBAAyB,EAAGH,OAAO,IAAKA,OAAO,CAACI,IAAI;MACpDC,6BAA6B,EAAE,WAAW;MAC1CC,4BAA4B,EAAEA,CAAA,KAAM,wBAAwB;MAC5DC,2BAA2B,EAAEA,CAAA,KAAM,2BAA2B;MAE9D2C,eAAe,EAAGC,YAAY,IAAM,sBAAqBA,YAAa,wBAAuB;MAC7F,IAAG/D,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE0D,aAAa;IAC7B,CAAC;IACDM,oBAAoB,EAAE;MACpB3D,YAAY,EAAE,QAAQ;MACtBE,eAAe,EAAEA,CAACoD,GAAG,EAAErD,OAAO,KAAKvB,oBAAoB,CAAC4E,GAAG,EAAErD,OAAO,EAAEL,YAAY,EAAEE,kBAAkB,CAAC;MACvGK,mBAAmB,EAAEA,CAACC,IAAI,EAAEC,MAAM,KAAK7B,sBAAsB,CAAC4B,IAAI,EAAEC,MAAM,IAAIX,UAAU,CAAC;MACzF6D,mBAAmB,EAAGC,WAAW,IAAM,GAAEA,WAAW,CAACJ,MAAO,eAAc;MAE1E9C,mBAAmB,EAAEA,CAACC,OAAO,EAAEF,MAAM,KAAKvB,oBAAoB,CAAC,IAAI0B,IAAI,CAACD,OAAO,CAACE,SAAS,CAAC,EAAEJ,MAAM,IAAIX,UAAU,CAAC;MACjHgB,yBAAyB,EAAGH,OAAO,IAAKA,OAAO,CAACI,IAAI;MACpDC,6BAA6B,EAAE,WAAW;MAC1CC,4BAA4B,EAAEA,CAAA,KAAM,wBAAwB;MAC5DC,2BAA2B,EAAEA,CAAA,KAAM,2BAA2B;MAE9D8C,mBAAmB,EAAEA,CAACrD,OAAwB,EAAEF,MAAe,KAC7D9B,gCAAgC,CAAC,IAAIiC,IAAI,CAACD,OAAO,CAACE,SAAS,CAAC,EAAEJ,MAAM,IAAIX,UAAU,CAAC;MACrFmE,WAAW,EAAEA,CAACC,UAAkB,EAAEC,aAAsB,KAAK7E,mBAAmB,CAAC4E,UAAU,EAAEC,aAAa,CAAC;MAE3GN,eAAe,EAAGC,YAAY,IAAM,sBAAqBA,YAAa,wBAAuB;MAC7F,IAAG/D,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgE,oBAAoB;IACpC,CAAC;IACDK,sBAAsB,EAAE;MACtBhE,YAAY,EAAE,qBAAqB;MACnCiB,YAAY,EAAE,MAAM;MACpBE,eAAe,EAAE,YAAY;MAC7B8C,YAAY,EAAE,SAAS;MACvBC,WAAW,EAAE,mBAAmB;MAChCC,kBAAkB,EAAE,eAAe;MACnCC,iBAAiB,EAAE,eAAe;MAClCC,0BAA0B,EAAE,IAAI;MAChCC,2BAA2B,EAAE,KAAK;MAClCC,oCAAoC,EAAE,eAAe;MACrD9C,kBAAkB,EAAE,qBAAqB;MACzCC,+BAA+B,EAAE,qBAAqB;MACtDC,qCAAqC,EAAE,YAAY;MACnDC,4BAA4B,EAAE,MAAM;MACpCC,gCAAgC,EAAE,QAAQ;MAC1CC,mBAAmB,EAAE,sBAAsB;MAC3CC,8BAA8B,EAAE,sBAAsB;MACtDC,+BAA+B,EAAE,YAAY;MAC7CC,sCAAsC,EAAE,cAAc;MACtD,IAAGtC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqE,sBAAsB;IACtC,CAAC;IACDQ,2BAA2B,EAAE;MAC3BxE,YAAY,EAAE,eAAe;MAC7ByE,kBAAkB,EAAE,eAAe;MACnCC,uBAAuB,EACrB,oGAAoG;MACtGC,6BAA6B,EAAE,kBAAkB;MACjDC,sCAAsC,EAAE,eAAe;MACvD,IAAGjF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE6E,2BAA2B;IAC3C,CAAC;IACDK,wBAAwB,EAAE;MACxB7E,YAAY,EAAE,YAAY;MAC1B0C,cAAc,EAAE,WAAW;MAC3BoC,kBAAkB,EAAE,eAAe;MACnClC,iBAAiB,EAAE,cAAc;MACjCmC,mBAAmB,EAAE,gBAAgB;MACrC,IAAGpF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkF,wBAAwB;IACxC,CAAC;IACDG,uBAAuB,EAAE;MACvBhF,YAAY,EAAE,WAAW;MACzB,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqF,uBAAuB;IACvC,CAAC;IACDC,+BAA+B,EAAE;MAC/BjF,YAAY,EAAE,kBAAkB;MAChCiB,YAAY,EAAEiE,KAAA,IAAuB;QAAA,IAAtB;UAAEhC;QAAc,CAAC,GAAAgC,KAAA;QAC9B,MAAM/B,GAAG,GAAGD,aAAa,CAACE,MAAM;QAChC,IAAID,GAAG,KAAK,CAAC,EAAE,OAAO,KAAK;QAC3B,OAAQ,QAAOA,GAAI,GAAE;MACvB,CAAC;MACD,IAAGxD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqF,uBAAuB;IACvC,CAAC;IACDG,2BAA2B,EAAE;MAC3BnF,YAAY,EAAE,eAAe;MAC7B,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwF,2BAA2B;IAC3C,CAAC;IACDC,0BAA0B,EAAE;MAC1BpF,YAAY,EAAE,cAAc;MAC5B,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEyF,0BAA0B;IAC1C,CAAC;IACDC,kBAAkB,EAAE;MAClBrF,YAAY,EAAE,UAAU;MACxBmC,qBAAqB,EAAEA,CAACmD,aAAa,EAAErF,OAAO,KAC5CvB,oBAAoB,CAAC4G,aAAa,EAAErF,OAAO,EAAEL,YAAY,EAAEE,kBAAkB,CAAC;MAChFyF,6BAA6B,EAAEA,CAACtF,OAAO,EAAEI,MAAM,KAAK5B,0BAA0B,CAACwB,OAAO,EAAEI,MAAM,IAAIX,UAAU,CAAC;MAC7G8F,oBAAoB,EAAGvF,OAAO,IAAK;QACjC,IAAI,CAACA,OAAO,CAACwF,WAAW,EAAE,OAAO,EAAE;QACnC,IAAItG,cAAc,CAACc,OAAO,CAACwF,WAAW,CAAC,EAAE,OAAO,eAAe;QAC/D,OAAO9G,qBAAqB,CAACsB,OAAO,CAACwF,WAAW,CAAC;MACnD,CAAC;MACDC,0BAA0B,EAAE,cAAc;MAC1CC,mBAAmB,EAAE,OAAO;MAC5BC,yBAAyB,EAAE,aAAa;MACxCC,uBAAuB,EAAE,WAAW;MACpCC,oBAAoB,EAAEA,CAACR,aAAa,EAAErF,OAAO,KAC3CvB,oBAAoB,CAAC4G,aAAa,EAAErF,OAAO,EAAEL,YAAY,EAAEE,kBAAkB,CAAC;MAChFiG,2BAA2B,EAAG9F,OAAO,IAAK;QACxC,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;QACvB,IAAIA,OAAO,CAAC+F,mBAAmB,KAAK,KAAK,EAAE,OAAO,uBAAuB;QACzE,OAAO,wBAAwB;MACjC,CAAC;MACDC,oBAAoB,EAAE,eAAe;MACrC,IAAGtG,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE0F,kBAAkB;IAClC,CAAC;IACDa,qBAAqB,EAAE;MACrBlG,YAAY,EAAE,SAAS;MACvB,IAAGL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuG,qBAAqB;IACrC,CAAC;IACDC,oBAAoB,EAAE;MACpBnG,YAAY,EAAE,aAAa;MAC3BiB,YAAY,EAAEmF,KAAA,IAAuB;QAAA,IAAtB;UAAElD;QAAc,CAAC,GAAAkD,KAAA;QAC9B,MAAMjD,GAAG,GAAGD,aAAa,CAACE,MAAM;QAChC,IAAID,GAAG,KAAK,CAAC,EAAE,OAAO,QAAQ;QAC9B,OAAQ,WAAUA,GAAI,GAAE;MAC1B,CAAC;MACD,IAAGxD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwG,oBAAoB;IACpC,CAAC;IACDE,oBAAoB,EAAE;MACpBrG,YAAY,EAAE,cAAc;MAC5BiB,YAAY,EAAEqF,KAAA,IAAuB;QAAA,IAAtB;UAAEpD;QAAc,CAAC,GAAAoD,KAAA;QAC9B,MAAMnD,GAAG,GAAGD,aAAa,CAACE,MAAM;QAChC,IAAID,GAAG,KAAK,CAAC,EAAE,OAAO,QAAQ;QAC9B,OAAQ,WAAUA,GAAI,GAAE;MAC1B,CAAC;MACD,IAAGxD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE0G,oBAAoB;IACpC,CAAC;IACDE,cAAc,EAAE;MACdC,wBAAwB,EAAE,QAAQ;MAClCvF,YAAY,EAAE,QAAQ;MACtBwF,wBAAwB,EAAGlG,OAAO,IAAK1B,sBAAsB,CAAC0B,OAAO,CAAC;MACtEmG,uBAAuB,EAAGnG,OAAO,IAAK;QACpC,IAAIpB,cAAc,CAACoB,OAAO,CAAC,EAAE,OAAO,eAAe;QACnD,OAAO5B,qBAAqB,CAAC4B,OAAO,CAAC;MACvC,CAAC;MACDoG,gCAAgC,EAAEA,CAACpG,OAAO,EAAEF,MAAM,KAAK;QACrD,OAAOzB,qBAAqB,CAAC2B,OAAO,CAACE,SAAS,EAAEJ,MAAM,IAAIX,UAAU,CAAC;MACvE;IACF,CAAC;IACDG,MAAM,EAAE;MACN+G,mBAAmB,EAAE,aAAa;MAClCC,iBAAiB,EAAE,QAAQ;MAC3BC,yBAAyB,EAAE,gBAAgB;MAC3CC,qBAAqB,EAAE,YAAY;MACnCnH,YAAY;MACZE,kBAAkB;MAClBkH,wBAAwB,EAAE,SAAAA,CAACC,KAAK,EAA6B;QAAA,IAA3BC,OAAO,GAAAC,SAAA,CAAA/D,MAAA,QAAA+D,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGvH,YAAY;QACtD,MAAMyH,SAAS,GAAGJ,KAAK,CAACK,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,IAAIN,OAAO,CAAC;QACzD,IAAIG,SAAS,CAACjE,MAAM,KAAK,CAAC,EAAE;QAC5B,IAAIiE,SAAS,CAACjE,MAAM,KAAK,CAAC,EAAE,OAAQ,GAAEiE,SAAS,CAAC,CAAC,CAAE,eAAc;QACjE,IAAIJ,KAAK,CAAC7D,MAAM,KAAK,CAAC,EAAE,OAAQ,GAAEiE,SAAS,CAACI,IAAI,CAAC,OAAO,CAAE,gBAAe;QACzE,OAAO,8BAA8B;MACvC,CAAC;MACDC,6BAA6B,EAAE,SAAAA,CAACC,KAAK,EAAEC,MAAM,EAAsC;QAAA,IAApCtC,aAAa,GAAA6B,SAAA,CAAA/D,MAAA,QAAA+D,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG/H,eAAe;QAC5E,MAAMyI,mBAAmB,GACvBF,KAAK,CAACG,MAAM,CAACC,MAAM,KAAKzC,aAAa,GAAG,KAAK,GAAGqC,KAAK,CAACG,MAAM,CAACN,QAAQ,IAAI5H,YAAY;QACvF,MAAMoI,oBAAoB,GACxBJ,MAAM,CAACE,MAAM,CAACC,MAAM,KAAKzC,aAAa,GAAG,KAAK,GAAGsC,MAAM,CAACE,MAAM,CAACN,QAAQ,IAAI5H,YAAY;QACzF,OAAQ,GAAEiI,mBAAoB,eAAcG,oBAAqB,EAAC;MACpE,CAAC;MACDC,mBAAmB,EAAE,qBAAqB;MAE1CC,mBAAmB,EAAE,QAAQ;MAC7BC,iBAAiB,EAAE,UAAU;MAC7BC,oBAAoB,EAAE,sBAAsB;MAC5CC,mBAAmB,EAAE,qBAAqB;MAC1CC,IAAI,EAAE,MAAM;MACZC,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,KAAK;MACVC,KAAK,EAAE,OAAO;MACdC,2BAA2B,EAAE,mBAAmB;MAChDC,oBAAoB,EAAE,MAAM;MAC5BC,oBAAoB,EAAE,MAAM;MAC5BC,oBAAoB,EAAE,MAAM;MAC5BC,sBAAsB,EAAE,QAAQ;MAChCC,qBAAqB,EAAE,OAAO;MAC9BC,sBAAsB,EAAE,iBAAiB;MACzCC,oCAAoC,EAAE,iBAAiB;MACvDC,iCAAiC,EAAE,QAAQ;MAC3CC,qCAAqC,EAAE,QAAQ;MAC/CC,4BAA4B,EAAE,OAAO;MACrCC,6BAA6B,EAAE,QAAQ;MACvCC,qCAAqC,EAAE,cAAc;MACrDC,qCAAqC,EAAE,cAAc;MACrDC,sCAAsC,EAAE,eAAe;MACvDC,8BAA8B,EAAE,OAAO;MACvCC,gCAAgC,EAAE,eAAe;MACjDC,kCAAkC,EAAE,qCAAqC;MACzEC,+BAA+B,EAAE,+BAA+B;MAChEC,+BAA+B,EAAE,kBAAkB;MACnDC,yCAAyC,EAAE,iBAAiB;MAC5DC,yCAAyC,EAAE,iBAAiB;MAC5DC,qBAAqB,EAAE,MAAM;MAC7BC,yBAAyB,EAAE,QAAQ;MACnCC,iCAAiC,EAAGC,IAAI,IAAM,YAAWA,IAAI,CAAC3C,QAAQ,IAAI5H,YAAa,EAAC;MACxFwK,gCAAgC,EAAG7J,OAAO,IAAK;QAC7C,IAAIA,OAAO,CAAC8J,aAAa,EAAE,EAAE;UAC3B,MAAMC,WAAW,GAAGvL,cAAc,CAACwB,OAAO,CAAC;UAC3C,QAAQ+J,WAAW;YACjB,KAAK,YAAY;cACf,OAAO/J,OAAO,CAACgK,IAAI,CAACC,WAAW,EAAE,CAACC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,OAAO;YACrE,KAAK,YAAY;cACf,OAAO,OAAO;YAChB,KAAK,YAAY;cACf,OAAO,OAAO;YAChB,KAAK,YAAY;cACf,OAAO,eAAe;YACxB;cACE,OAAOlK,OAAO,CAACI,IAAI;UAAC;QAE1B,CAAC,MAAM,IAAIJ,OAAO,CAACmK,aAAa,EAAE,EAAE;UAClC,OAAOnK,OAAO,CAACA,OAAO;QACxB;QACA,OAAO,iBAAiB;MAC1B,CAAC;MACDoK,aAAa,EAAE,eAAe;MAC9BC,0BAA0B,EAAE,QAAQ;MACpC,IAAGjL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,MAAM;IACtB,CAAC;IACDgL,WAAW,EAAE;MACXC,KAAK,EAAGvK,OAAO;QAAA,IAAAwK,eAAA;QAAA,OAAK,EAAAA,eAAA,GAAAxK,OAAO,CAACuH,MAAM,cAAAiD,eAAA,uBAAdA,eAAA,CAAgBvD,QAAQ,KAAI5H,YAAY;MAAA;MAC5DoL,QAAQ,EAAGzK,OAAO,IAAKzB,oBAAoB,CAAC,IAAI0B,IAAI,CAACD,OAAO,CAACE,SAAS,CAAC,EAAEf,UAAU;IACrF,CAAC;IACD2C,WAAW,EAAE;MACX4I,eAAe,EAAE,iBAAiB;MAClCC,QAAQ,EAAE,UAAU;MACpBC,WAAW,EAAE,aAAa;MAC1BC,WAAW,EAAE,aAAa;MAC1BC,gBAAgB,EAAE,kBAAkB;MACpCC,qBAAqB,EAAE,uBAAuB;MAC9CC,gBAAgB,EAAE,kBAAkB;MACpC,IAAG5L,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE0C,WAAW;MACzBmJ,KAAK,EAAE;QACLC,OAAO,EAAE,sBAAsB;QAC/BC,WAAW,EAAE,OAAO;QACpB,IAAG/L,SAAS,aAATA,SAAS,wBAAAF,qBAAA,GAATE,SAAS,CAAE0C,WAAW,cAAA5C,qBAAA,uBAAtBA,qBAAA,CAAwB+L,KAAK;MAClC;IACF,CAAC;IACDG,MAAM,EAAE;MACNC,gBAAgB,EAAE,IAAI;MACtBC,uBAAuB,EAAE,eAAe;MACxCC,yBAAyB,EAAE,SAAAA,CAACC,UAAU,EAA8B;QAAA,IAA5BC,OAAO,GAAA7E,SAAA,CAAA/D,MAAA,QAAA+D,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,aAAa;QAC7D,OAAQ,GAAE6E,OAAQ,oCAAmCD,UAAW,GAAE;MACpE,CAAC;MACDE,oBAAoB,EAAE,gBAAgB;MACtCC,iBAAiB,EAAE,QAAQ;MAC3BC,qBAAqB,EAAE,QAAQ;MAC/BC,0BAA0B,EAAE,OAAO;MACnC,IAAGzM,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgM,MAAM;IACtB,CAAC;IACDU,KAAK,EAAE;MACLC,OAAO,EAAE,QAAQ;MACjBC,cAAc,EAAE,gBAAgB;MAChCC,WAAW,EAAE,YAAY;MACzBC,cAAc,EAAE,yBAAyB;MACzCC,iBAAiB,EAAE,uBAAuB;MAC1CC,gBAAgB,EAAE,sBAAsB;MACxCC,wBAAwB,EAAE,8BAA8B;MACxDC,gBAAgB,EAAE,0BAA0B;MAC5CC,gBAAgB,EAAE,wBAAwB;MAC1CC,cAAc,EAAE,wBAAwB;MACxCC,gBAAgB,EAAE,+BAA+B;MACjDC,oBAAoB,EAAE,oBAAoB;MAC1CC,gBAAgB,EAAE,wBAAwB;MAC1CC,2BAA2B,EAAE,iCAAiC;MAC9DC,4BAA4B,EAAE,kCAAkC;MAChEC,mBAAmB,EAAE,yBAAyB;MAC9CC,aAAa,EAAE,uBAAuB;MACtCC,iBAAiB,EAAE,4BAA4B;MAC/CC,qBAAqB,EAAE,oDAAoD;MAC3EC,mCAAmC,EAAE,kEAAkE;MACvGC,qCAAqC,EAAGC,eAAuB,IAAK;QAClE,OAAQ,gCAA+BA,eAAgB,GAAE;MAC3D,CAAC;MACD,IAAGhO,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE0M,KAAK;IACrB,CAAC;IACDuB,YAAY,EAAE;MACZC,cAAc,EAAE,SAAS;MACzBC,UAAU,EAAE,SAAS;MACrBC,IAAI,EAAG5D,IAAI,IAAKA,IAAI,CAACpC,MAAM;MAC3B,IAAGpI,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiO,YAAY;IAC5B;EACF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","getDownscaleSize","getFileExtension","hash","SBUUtils","createNativeMediaService","_ref","VideoComponent","thumbnailModule","imageResizerModule","_ref2","source","resizeMode","onLoad","props","createElement","_extends","controls","getVideoThumbnail","_ref3","url","timeMills","path","createThumbnail","format","timeStamp","cacheName","split","compressImage","_ref4","uri","maxWidth","maxHeight","compressionRate","originSize","getImageSize","width","height","extension","size","resizedSize","compressedURI","default","createResizedImage","Math","min","max"],"sources":["createMediaService.native.tsx"],"sourcesContent":["import type * as RNImageResizer from '@bam.tech/react-native-image-resizer';\nimport React from 'react';\nimport type * as RNCreateThumbnail from 'react-native-create-thumbnail';\nimport type RNVideo from 'react-native-video';\n\nimport { getDownscaleSize, getFileExtension, hash } from '@sendbird/uikit-utils';\n\nimport SBUUtils from '../libs/SBUUtils';\nimport type { MediaServiceInterface } from './types';\n\ntype Modules = {\n VideoComponent: typeof RNVideo;\n thumbnailModule: typeof RNCreateThumbnail;\n imageResizerModule: typeof RNImageResizer;\n};\n\nconst createNativeMediaService = ({\n VideoComponent,\n thumbnailModule,\n imageResizerModule,\n}: Modules): MediaServiceInterface => {\n return {\n VideoComponent({ source, resizeMode, onLoad, ...props }) {\n return <VideoComponent {...props} source={source} resizeMode={resizeMode} onLoad={onLoad} controls />;\n },\n async getVideoThumbnail({ url, timeMills }) {\n try {\n const { path } = await thumbnailModule.createThumbnail({\n url,\n format: 'jpeg',\n timeStamp: timeMills,\n cacheName: hash(url.split('?')[0]),\n });\n return { path };\n } catch {\n return null;\n }\n },\n async compressImage({ uri, maxWidth, maxHeight, compressionRate = 1 }) {\n const originSize = await SBUUtils.getImageSize(uri);\n const { width, height } = getDownscaleSize(originSize, { width: maxWidth, height: maxHeight });\n const extension = (() => {\n return { 'png': 'PNG', 'jpeg': 'JPEG', 'jpg': 'JPEG' }[getFileExtension(uri)] ?? 'JPEG';\n })() as 'PNG' | 'JPEG';\n\n const { size: resizedSize, uri: compressedURI } = await imageResizerModule.default.createResizedImage(\n uri,\n width,\n height,\n extension,\n Math.min(Math.max(0, compressionRate), 1) * 100,\n );\n\n return { uri: compressedURI, size: resizedSize };\n },\n };\n};\n\nexport default createNativeMediaService;\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,gBAAgB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,uBAAuB;AAEhF,OAAOC,QAAQ,MAAM,kBAAkB;AASvC,MAAMC,wBAAwB,GAAGC,IAAA,IAIK;EAAA,IAJJ;IAChCC,cAAc;IACdC,eAAe;IACfC;EACO,CAAC,GAAAH,IAAA;EACR,OAAO;IACLC,cAAcA,CAAAG,KAAA,EAA2C;MAAA,IAA1C;QAAEC,MAAM;QAAEC,UAAU;QAAEC,MAAM;QAAE,GAAGC;MAAM,CAAC,GAAAJ,KAAA;MACrD,oBAAOV,KAAA,CAAAe,aAAA,CAACR,cAAc,EAAAS,QAAA,KAAKF,KAAK;QAAEH,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA,UAAW;QAACC,MAAM,EAAEA,MAAO;QAACI,QAAQ;MAAA,GAAG;IACvG,CAAC;IACD,MAAMC,iBAAiBA,CAAAC,KAAA,EAAqB;MAAA,IAApB;QAAEC,GAAG;QAAEC;MAAU,CAAC,GAAAF,KAAA;MACxC,IAAI;QACF,MAAM;UAAEG;QAAK,CAAC,GAAG,MAAMd,eAAe,CAACe,eAAe,CAAC;UACrDH,GAAG;UACHI,MAAM,EAAE,MAAM;UACdC,SAAS,EAAEJ,SAAS;UACpBK,SAAS,EAAEvB,IAAI,CAACiB,GAAG,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,OAAO;UAAEL;QAAK,CAAC;MACjB,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IACD,MAAMM,aAAaA,CAAAC,KAAA,EAAoD;MAAA,IAAnD;QAAEC,GAAG;QAAEC,QAAQ;QAAEC,SAAS;QAAEC,eAAe,GAAG;MAAE,CAAC,GAAAJ,KAAA;MACnE,MAAMK,UAAU,GAAG,MAAM9B,QAAQ,CAAC+B,YAAY,CAACL,GAAG,CAAC;MACnD,MAAM;QAAEM,KAAK;QAAEC;MAAO,CAAC,GAAGpC,gBAAgB,CAACiC,UAAU,EAAE;QAAEE,KAAK,EAAEL,QAAQ;QAAEM,MAAM,EAAEL;MAAU,CAAC,CAAC;MAC9F,MAAMM,SAAS,GAAG,CAAC,MAAM;QACvB,OAAO;UAAE,KAAK,EAAE,KAAK;UAAE,MAAM,EAAE,MAAM;UAAE,KAAK,EAAE;QAAO,CAAC,CAACpC,gBAAgB,CAAC4B,GAAG,CAAC,CAAC,IAAI,MAAM;MACzF,CAAC,GAAqB;MAEtB,MAAM;QAAES,IAAI,EAAEC,WAAW;QAAEV,GAAG,EAAEW;MAAc,CAAC,GAAG,MAAMhC,kBAAkB,CAACiC,OAAO,CAACC,kBAAkB,CACnGb,GAAG,EACHM,KAAK,EACLC,MAAM,EACNC,SAAS,EACTM,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEb,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAChD;MAED,OAAO;QAAEH,GAAG,EAAEW,aAAa;QAAEF,IAAI,EAAEC;MAAY,CAAC;IAClD;EACF,CAAC;AACH,CAAC;AAED,eAAenC,wBAAwB"}
1
+ {"version":3,"names":["React","getDownscaleSize","getFileExtension","hash","SBUUtils","createNativeMediaService","_ref","VideoComponent","thumbnailModule","imageResizerModule","_ref2","source","resizeMode","onLoad","props","createElement","_extends","controls","getVideoThumbnail","_ref3","url","timeMills","path","createThumbnail","format","timeStamp","cacheName","split","compressImage","_ref4","uri","maxWidth","maxHeight","compressionRate","originSize","getImageSize","width","height","extension","size","resizedSize","compressedURI","default","createResizedImage","Math","min","max"],"sources":["createMediaService.native.tsx"],"sourcesContent":["import type * as RNImageResizer from '@bam.tech/react-native-image-resizer';\nimport React from 'react';\nimport type * as RNCreateThumbnail from 'react-native-create-thumbnail';\nimport type RNVideo from 'react-native-video';\n\nimport { getDownscaleSize, getFileExtension, hash } from '@sendbird/uikit-utils';\n\nimport SBUUtils from '../libs/SBUUtils';\nimport type { MediaServiceInterface } from './types';\n\ntype Modules = {\n VideoComponent: typeof RNVideo;\n thumbnailModule: typeof RNCreateThumbnail;\n imageResizerModule: typeof RNImageResizer;\n};\n\nconst createNativeMediaService = ({\n VideoComponent,\n thumbnailModule,\n imageResizerModule,\n}: Modules): MediaServiceInterface => {\n return {\n VideoComponent({ source, resizeMode, onLoad, ...props }) {\n return (\n <VideoComponent\n {...props}\n source={source as { uri: string }}\n resizeMode={resizeMode}\n onLoad={onLoad}\n controls\n />\n );\n },\n async getVideoThumbnail({ url, timeMills }) {\n try {\n const { path } = await thumbnailModule.createThumbnail({\n url,\n format: 'jpeg',\n timeStamp: timeMills,\n cacheName: hash(url.split('?')[0]),\n });\n return { path };\n } catch {\n return null;\n }\n },\n async compressImage({ uri, maxWidth, maxHeight, compressionRate = 1 }) {\n const originSize = await SBUUtils.getImageSize(uri);\n const { width, height } = getDownscaleSize(originSize, { width: maxWidth, height: maxHeight });\n const extension = (() => {\n return { 'png': 'PNG', 'jpeg': 'JPEG', 'jpg': 'JPEG' }[getFileExtension(uri)] ?? 'JPEG';\n })() as 'PNG' | 'JPEG';\n\n const { size: resizedSize, uri: compressedURI } = await imageResizerModule.default.createResizedImage(\n uri,\n width,\n height,\n extension,\n Math.min(Math.max(0, compressionRate), 1) * 100,\n );\n\n return { uri: compressedURI, size: resizedSize };\n },\n };\n};\n\nexport default createNativeMediaService;\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,gBAAgB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,uBAAuB;AAEhF,OAAOC,QAAQ,MAAM,kBAAkB;AASvC,MAAMC,wBAAwB,GAAGC,IAAA,IAIK;EAAA,IAJJ;IAChCC,cAAc;IACdC,eAAe;IACfC;EACO,CAAC,GAAAH,IAAA;EACR,OAAO;IACLC,cAAcA,CAAAG,KAAA,EAA2C;MAAA,IAA1C;QAAEC,MAAM;QAAEC,UAAU;QAAEC,MAAM;QAAE,GAAGC;MAAM,CAAC,GAAAJ,KAAA;MACrD,oBACEV,KAAA,CAAAe,aAAA,CAACR,cAAc,EAAAS,QAAA,KACTF,KAAK;QACTH,MAAM,EAAEA,MAA0B;QAClCC,UAAU,EAAEA,UAAW;QACvBC,MAAM,EAAEA,MAAO;QACfI,QAAQ;MAAA,GACR;IAEN,CAAC;IACD,MAAMC,iBAAiBA,CAAAC,KAAA,EAAqB;MAAA,IAApB;QAAEC,GAAG;QAAEC;MAAU,CAAC,GAAAF,KAAA;MACxC,IAAI;QACF,MAAM;UAAEG;QAAK,CAAC,GAAG,MAAMd,eAAe,CAACe,eAAe,CAAC;UACrDH,GAAG;UACHI,MAAM,EAAE,MAAM;UACdC,SAAS,EAAEJ,SAAS;UACpBK,SAAS,EAAEvB,IAAI,CAACiB,GAAG,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,OAAO;UAAEL;QAAK,CAAC;MACjB,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IACD,MAAMM,aAAaA,CAAAC,KAAA,EAAoD;MAAA,IAAnD;QAAEC,GAAG;QAAEC,QAAQ;QAAEC,SAAS;QAAEC,eAAe,GAAG;MAAE,CAAC,GAAAJ,KAAA;MACnE,MAAMK,UAAU,GAAG,MAAM9B,QAAQ,CAAC+B,YAAY,CAACL,GAAG,CAAC;MACnD,MAAM;QAAEM,KAAK;QAAEC;MAAO,CAAC,GAAGpC,gBAAgB,CAACiC,UAAU,EAAE;QAAEE,KAAK,EAAEL,QAAQ;QAAEM,MAAM,EAAEL;MAAU,CAAC,CAAC;MAC9F,MAAMM,SAAS,GAAG,CAAC,MAAM;QACvB,OAAO;UAAE,KAAK,EAAE,KAAK;UAAE,MAAM,EAAE,MAAM;UAAE,KAAK,EAAE;QAAO,CAAC,CAACpC,gBAAgB,CAAC4B,GAAG,CAAC,CAAC,IAAI,MAAM;MACzF,CAAC,GAAqB;MAEtB,MAAM;QAAES,IAAI,EAAEC,WAAW;QAAEV,GAAG,EAAEW;MAAc,CAAC,GAAG,MAAMhC,kBAAkB,CAACiC,OAAO,CAACC,kBAAkB,CACnGb,GAAG,EACHM,KAAK,EACLC,MAAM,EACNC,SAAS,EACTM,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEb,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAChD;MAED,OAAO;QAAEH,GAAG,EAAEW,aAAa;QAAEF,IAAI,EAAEC;MAAY,CAAC;IAClD;EACF,CAAC;AACH,CAAC;AAED,eAAenC,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"names":["TypingIndicatorType"],"sources":["types.ts"],"sourcesContent":["import type { ComponentType, ErrorInfo, ReactNode } from 'react';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface LocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> = ComponentType<P & { children?: ReactNode | undefined }>;\n\nexport type MentionedUser = {\n range: Range;\n user: SendbirdUser;\n};\n\nexport type Range = {\n start: number;\n end: number;\n};\n\nexport enum TypingIndicatorType {\n Text = 'text',\n Bubble = 'bubble',\n}\n"],"mappings":"AA+BA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA"}
1
+ {"version":3,"names":["TypingIndicatorType"],"sources":["types.ts"],"sourcesContent":["import type { ComponentType, ErrorInfo, ReactNode } from 'react';\nimport type { MMKV } from 'react-native-mmkv';\n\nimport type { SendbirdUser } from '@sendbird/uikit-utils';\n\nexport type LocalCacheStorage = AsyncLocalCacheStorage | MMKVLocalCacheStorage;\n\nexport type KeyValuePairGet = [string, string | null];\nexport type KeyValuePairSet = [string, string];\nexport interface AsyncLocalCacheStorage {\n getAllKeys(): Promise<readonly string[] | string[]>;\n getItem(key: string): Promise<string | null>;\n setItem(key: string, value: string): Promise<void>;\n removeItem(key: string): Promise<void>;\n\n multiSet?(keyValuePairs: Array<KeyValuePairSet>): Promise<void>;\n multiGet?(keys: string[]): Promise<readonly KeyValuePairGet[] | KeyValuePairGet[]>;\n multiRemove?(keys: string[]): Promise<void>;\n}\n\nexport type MMKVLocalCacheStorage = Pick<MMKV, 'getString' | 'set' | 'delete' | 'getAllKeys'>;\n\nexport type ErrorBoundaryProps = { error: Error; errorInfo: ErrorInfo; reset: () => void };\n\nexport type CommonComponent<P = {}> = ComponentType<P & { children?: ReactNode | undefined }>;\n\nexport type MentionedUser = {\n range: Range;\n user: SendbirdUser;\n};\n\nexport type Range = {\n start: number;\n end: number;\n};\n\nexport enum TypingIndicatorType {\n Text = 'text',\n Bubble = 'bubble',\n}\n"],"mappings":"AAoCA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA"}
@@ -1,3 +1,3 @@
1
- const VERSION = '3.5.4';
1
+ const VERSION = '3.7.0';
2
2
  export default VERSION;
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.5.4';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO"}
1
+ {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.7.0';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO"}
@@ -30,6 +30,7 @@ export type ChannelInputProps = {
30
30
  setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;
31
31
  messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;
32
32
  setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;
33
+ messageForThread?: undefined | SendbirdUserMessage | SendbirdFileMessage;
33
34
  SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;
34
35
  AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;
35
36
  MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;
@@ -22,9 +22,10 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
22
22
  onPressScrollToBottomButton: (animated?: boolean) => void;
23
23
  onEditMessage: (message: HandleableMessage) => void;
24
24
  onReplyMessage?: (message: HandleableMessage) => void;
25
+ onReplyInThreadMessage?: (message: HandleableMessage) => void;
25
26
  onDeleteMessage: (message: HandleableMessage) => Promise<void>;
26
27
  onResendFailedMessage: (failedMessage: HandleableMessage) => Promise<HandleableMessage | void>;
27
- onPressParentMessage?: (parentMessage: SendbirdMessage) => void;
28
+ onPressParentMessage?: (parentMessage: SendbirdMessage, childMessage: HandleableMessage) => void;
28
29
  onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;
29
30
  renderMessage: (props: {
30
31
  focused: boolean;
@@ -34,12 +35,14 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
34
35
  onPress?: () => void;
35
36
  onLongPress?: () => void;
36
37
  onPressParentMessage?: ChannelMessageListProps<T>['onPressParentMessage'];
38
+ onReplyInThreadMessage?: ChannelMessageListProps<T>['onReplyInThreadMessage'];
37
39
  onShowUserProfile?: UserProfileContextType['show'];
38
40
  channel: T;
39
41
  currentUserId?: ChannelMessageListProps<T>['currentUserId'];
40
42
  enableMessageGrouping: ChannelMessageListProps<T>['enableMessageGrouping'];
41
43
  bottomSheetItem?: BottomSheetItem;
42
44
  isFirstItem: boolean;
45
+ hideParentMessage?: boolean;
43
46
  }) => React.ReactElement | null;
44
47
  renderNewMessagesButton: null | ((props: {
45
48
  visible: boolean;
@@ -54,5 +57,5 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
54
57
  } & {
55
58
  ref?: Ref<FlatList<SendbirdMessage>> | undefined;
56
59
  };
57
- declare const _default: <T extends import("@sendbird/chat/openChannel").OpenChannel | import("@sendbird/chat/groupChannel").GroupChannel>({ searchItem, hasNext, channel, onEditMessage, onReplyMessage, onDeleteMessage, onResendFailedMessage, onPressMediaMessage, onPressParentMessage, currentUserId, renderNewMessagesButton, renderScrollToBottomButton, renderMessage, messages, newMessages, enableMessageGrouping, onScrolledAwayFromBottom, scrolledAwayFromBottom, onBottomReached, onTopReached, flatListProps, onPressNewMessagesButton, onPressScrollToBottomButton, }: ChannelMessageListProps<T>, ref: React.ForwardedRef<FlatList<SendbirdMessage>>) => React.JSX.Element;
60
+ declare const _default: <T extends import("@sendbird/chat/openChannel").OpenChannel | import("@sendbird/chat/groupChannel").GroupChannel>({ searchItem, hasNext, channel, onEditMessage, onReplyMessage, onReplyInThreadMessage, onDeleteMessage, onResendFailedMessage, onPressMediaMessage, onPressParentMessage, currentUserId, renderNewMessagesButton, renderScrollToBottomButton, renderMessage, messages, newMessages, enableMessageGrouping, onScrolledAwayFromBottom, scrolledAwayFromBottom, onBottomReached, onTopReached, flatListProps, onPressNewMessagesButton, onPressScrollToBottomButton, }: ChannelMessageListProps<T>, ref: React.ForwardedRef<FlatList<SendbirdMessage>>) => React.JSX.Element;
58
61
  export default _default;
@@ -0,0 +1,55 @@
1
+ import React, { Ref } from 'react';
2
+ import { FlatList, FlatListProps } from 'react-native';
3
+ import { BottomSheetItem } from '@sendbird/uikit-react-native-foundation';
4
+ import { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessage, SendbirdOpenChannel, SendbirdUserMessage } from '@sendbird/uikit-utils';
5
+ import type { UserProfileContextType } from '../../contexts/UserProfileCtx';
6
+ type HandleableMessage = SendbirdUserMessage | SendbirdFileMessage;
7
+ export type ChannelThreadMessageListProps<T extends SendbirdGroupChannel | SendbirdOpenChannel> = {
8
+ enableMessageGrouping: boolean;
9
+ currentUserId?: string;
10
+ channel: T;
11
+ messages: SendbirdMessage[];
12
+ newMessages: SendbirdMessage[];
13
+ searchItem?: {
14
+ startingPoint: number;
15
+ };
16
+ scrolledAwayFromBottom: boolean;
17
+ onScrolledAwayFromBottom: (value: boolean) => void;
18
+ onTopReached: () => void;
19
+ onBottomReached: () => void;
20
+ hasNext: () => boolean;
21
+ onPressNewMessagesButton: (animated?: boolean) => void;
22
+ onPressScrollToBottomButton: (animated?: boolean) => void;
23
+ onEditMessage: (message: HandleableMessage) => void;
24
+ onDeleteMessage: (message: HandleableMessage) => Promise<void>;
25
+ onResendFailedMessage: (failedMessage: HandleableMessage) => Promise<HandleableMessage | void>;
26
+ onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;
27
+ renderMessage: (props: {
28
+ focused: boolean;
29
+ message: SendbirdMessage;
30
+ prevMessage?: SendbirdMessage;
31
+ nextMessage?: SendbirdMessage;
32
+ onPress?: () => void;
33
+ onLongPress?: () => void;
34
+ onShowUserProfile?: UserProfileContextType['show'];
35
+ channel: T;
36
+ currentUserId?: ChannelThreadMessageListProps<T>['currentUserId'];
37
+ enableMessageGrouping: ChannelThreadMessageListProps<T>['enableMessageGrouping'];
38
+ bottomSheetItem?: BottomSheetItem;
39
+ isFirstItem: boolean;
40
+ }) => React.ReactElement | null;
41
+ renderNewMessagesButton: null | ((props: {
42
+ visible: boolean;
43
+ onPress: () => void;
44
+ newMessages: SendbirdMessage[];
45
+ }) => React.ReactElement | null);
46
+ renderScrollToBottomButton: null | ((props: {
47
+ visible: boolean;
48
+ onPress: () => void;
49
+ }) => React.ReactElement | null);
50
+ flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;
51
+ } & {
52
+ ref?: Ref<FlatList<SendbirdMessage>> | undefined;
53
+ };
54
+ declare const _default: <T extends import("@sendbird/chat/openChannel").OpenChannel | import("@sendbird/chat/groupChannel").GroupChannel>({ searchItem, hasNext, channel, onEditMessage, onDeleteMessage, onResendFailedMessage, onPressMediaMessage, currentUserId, renderNewMessagesButton, renderScrollToBottomButton, renderMessage, messages, newMessages, enableMessageGrouping, onScrolledAwayFromBottom, scrolledAwayFromBottom, onBottomReached, onTopReached, flatListProps, onPressNewMessagesButton, onPressScrollToBottomButton, }: ChannelThreadMessageListProps<T>, ref: React.ForwardedRef<FlatList<SendbirdMessage>>) => React.JSX.Element;
55
+ export default _default;
@@ -5,7 +5,7 @@ type Props = {
5
5
  channel: SendbirdGroupChannel;
6
6
  message: SendbirdUserMessage | SendbirdFileMessage;
7
7
  childMessage: SendbirdUserMessage | SendbirdFileMessage;
8
- onPress?: (message: SendbirdMessage) => void;
8
+ onPress?: (parentMessage: SendbirdMessage, childMessage: SendbirdUserMessage | SendbirdFileMessage) => void;
9
9
  };
10
10
  declare const GroupChannelMessageParentMessage: ({ variant, channel, message, childMessage, onPress }: Props) => React.JSX.Element;
11
11
  export default GroupChannelMessageParentMessage;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessage, SendbirdUserMessage } from '@sendbird/uikit-utils';
3
+ type Props = {
4
+ channel: SendbirdGroupChannel;
5
+ message: SendbirdMessage;
6
+ onPress?: (message: SendbirdUserMessage | SendbirdFileMessage) => void;
7
+ };
8
+ declare const _default: React.MemoExoticComponent<({ channel, message, onPress }: Props) => React.JSX.Element | null>;
9
+ export default _default;