@sendbird/uikit-react 3.7.0-rc.0 → 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 (532) hide show
  1. package/App.js +52 -52
  2. package/Channel/components/ChannelHeader.js +22 -22
  3. package/Channel/components/ChannelUI.js +46 -46
  4. package/Channel/components/FileViewer.js +19 -19
  5. package/Channel/components/FrozenNotification.js +4 -4
  6. package/Channel/components/Message.js +42 -42
  7. package/Channel/components/MessageInput.js +33 -33
  8. package/Channel/components/MessageList.js +42 -42
  9. package/Channel/components/RemoveMessageModal.js +23 -23
  10. package/Channel/components/SuggestedMentionList.js +19 -19
  11. package/Channel/components/TypingIndicator.js +18 -18
  12. package/Channel/components/UnreadCount.js +4 -4
  13. package/Channel/context.js +15 -15
  14. package/Channel/utils/compareMessagesForGrouping.js +6 -6
  15. package/Channel/utils/getMessagePartsInfo.js +7 -7
  16. package/Channel.js +46 -46
  17. package/ChannelList/components/AddChannel.js +16 -16
  18. package/ChannelList/components/ChannelListHeader.js +6 -6
  19. package/ChannelList/components/ChannelListUI.js +32 -32
  20. package/ChannelList/components/ChannelPreview.js +30 -30
  21. package/ChannelList/components/ChannelPreviewAction.js +15 -15
  22. package/ChannelList/context.js +8 -8
  23. package/ChannelList.js +32 -32
  24. package/{ChannelListProvider-f520f5b3.js → ChannelListProvider-eccd99c6.js} +8 -8
  25. package/{ChannelListProvider-f520f5b3.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
  26. package/{ChannelProvider-7f6fd1f8.js → ChannelProvider-9ba5893a.js} +42 -43
  27. package/ChannelProvider-9ba5893a.js.map +1 -0
  28. package/ChannelSettings/components/ChannelProfile.js +14 -14
  29. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  30. package/ChannelSettings/components/EditDetailsModal.js +14 -14
  31. package/ChannelSettings/components/LeaveChannel.js +13 -13
  32. package/ChannelSettings/components/ModerationPanel.js +15 -15
  33. package/ChannelSettings/components/UserListItem.js +11 -11
  34. package/ChannelSettings/components/UserPanel.js +14 -14
  35. package/ChannelSettings/context.js +3 -3
  36. package/ChannelSettings.js +17 -17
  37. package/CreateChannel/components/CreateChannelUI.js +14 -14
  38. package/CreateChannel/components/InviteUsers.js +14 -14
  39. package/CreateChannel/components/SelectChannelType.js +11 -11
  40. package/CreateChannel/context.js +3 -3
  41. package/CreateChannel.js +14 -14
  42. package/{CreateChannelProvider-c25dd81b.js → CreateChannelProvider-a2885972.js} +1 -1
  43. package/{CreateChannelProvider-c25dd81b.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
  44. package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  45. package/CreateOpenChannel/context.js +1 -1
  46. package/CreateOpenChannel.js +12 -12
  47. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  48. package/EditUserProfile.js +13 -13
  49. package/{LocalizationContext-d18a86d8.js → LocalizationContext-287ee149.js} +3 -3
  50. package/{LocalizationContext-d18a86d8.js.map → LocalizationContext-287ee149.js.map} +1 -1
  51. package/{MediaQueryContext-3eeeec4f.js → MediaQueryContext-114ca049.js} +1 -1
  52. package/{MediaQueryContext-3eeeec4f.js.map → MediaQueryContext-114ca049.js.map} +1 -1
  53. package/{MemberList-469dae9b.js → MemberList-4e71a841.js} +7 -7
  54. package/{MemberList-469dae9b.js.map → MemberList-4e71a841.js.map} +1 -1
  55. package/MessageSearch/components/MessageSearchUI.js +12 -12
  56. package/MessageSearch/context.js +1 -1
  57. package/MessageSearch.js +12 -12
  58. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  59. package/OpenChannel/components/OpenChannelHeader.js +11 -11
  60. package/OpenChannel/components/OpenChannelInput.js +21 -21
  61. package/OpenChannel/components/OpenChannelMessage.js +32 -32
  62. package/OpenChannel/components/OpenChannelMessageList.js +34 -34
  63. package/OpenChannel/components/OpenChannelUI.js +34 -34
  64. package/OpenChannel/context.js +7 -7
  65. package/OpenChannel.js +34 -34
  66. package/OpenChannelList/components/OpenChannelListUI.js +14 -14
  67. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  68. package/OpenChannelList/context.js +2 -2
  69. package/OpenChannelList.js +14 -14
  70. package/{OpenChannelListProvider-24e735a1.js → OpenChannelListProvider-45d4ab54.js} +2 -2
  71. package/{OpenChannelListProvider-24e735a1.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
  72. package/{OpenChannelProvider-e9cb0f98.js → OpenChannelProvider-9818f9ed.js} +6 -6
  73. package/{OpenChannelProvider-e9cb0f98.js.map → OpenChannelProvider-9818f9ed.js.map} +1 -1
  74. package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  75. package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  76. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  77. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  78. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  79. package/OpenChannelSettings/context.js +3 -3
  80. package/OpenChannelSettings.js +17 -17
  81. package/{RemoveMessageModal-f0cd37a5.js → RemoveMessageModal-007c2f04.js} +6 -6
  82. package/{RemoveMessageModal-f0cd37a5.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
  83. package/SendbirdProvider.js +18 -18
  84. package/SendbirdProvider.js.map +1 -1
  85. package/Thread/components/ParentMessageInfo.js +38 -38
  86. package/Thread/components/ParentMessageInfoItem.js +25 -25
  87. package/Thread/components/ThreadHeader.js +6 -6
  88. package/Thread/components/ThreadList.js +42 -42
  89. package/Thread/components/ThreadListItem.js +42 -42
  90. package/Thread/components/ThreadMessageInput.js +33 -33
  91. package/Thread/components/ThreadUI.js +45 -45
  92. package/Thread/context.js +12 -10
  93. package/Thread/context.js.map +1 -1
  94. package/Thread.js +45 -45
  95. package/{UserProfileContext-26e71f9a.js → UserProfileContext-2001a468.js} +1 -1
  96. package/{UserProfileContext-26e71f9a.js.map → UserProfileContext-2001a468.js.map} +1 -1
  97. package/VoicePlayer/context.js +3 -3
  98. package/VoicePlayer/useVoicePlayer.js +12 -12
  99. package/VoiceRecorder/context.js +12 -12
  100. package/VoiceRecorder/useVoiceRecorder.js +11 -11
  101. package/{WebAudioUtils-dbb010a5.js → WebAudioUtils-31f7c8eb.js} +2 -2
  102. package/{WebAudioUtils-dbb010a5.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
  103. package/{_rollupPluginBabelHelpers-07dcbc2b.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
  104. package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
  105. package/{actionTypes-3cd49b5c.js → actionTypes-324495ed.js} +1 -1
  106. package/{actionTypes-3cd49b5c.js.map → actionTypes-324495ed.js.map} +1 -1
  107. package/cjs/App.js +52 -52
  108. package/cjs/Channel/components/ChannelHeader.js +22 -22
  109. package/cjs/Channel/components/ChannelUI.js +46 -46
  110. package/cjs/Channel/components/FileViewer.js +19 -19
  111. package/cjs/Channel/components/FrozenNotification.js +4 -4
  112. package/cjs/Channel/components/Message.js +42 -42
  113. package/cjs/Channel/components/MessageInput.js +33 -33
  114. package/cjs/Channel/components/MessageList.js +42 -42
  115. package/cjs/Channel/components/RemoveMessageModal.js +23 -23
  116. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  117. package/cjs/Channel/components/TypingIndicator.js +18 -18
  118. package/cjs/Channel/components/UnreadCount.js +4 -4
  119. package/cjs/Channel/context.js +15 -15
  120. package/cjs/Channel/utils/compareMessagesForGrouping.js +6 -6
  121. package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
  122. package/cjs/Channel.js +46 -46
  123. package/cjs/ChannelList/components/AddChannel.js +16 -16
  124. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  125. package/cjs/ChannelList/components/ChannelListUI.js +32 -32
  126. package/cjs/ChannelList/components/ChannelPreview.js +30 -30
  127. package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
  128. package/cjs/ChannelList/context.js +8 -8
  129. package/cjs/ChannelList.js +32 -32
  130. package/cjs/{ChannelListProvider-a418de2e.js → ChannelListProvider-d0ad5a84.js} +8 -8
  131. package/cjs/{ChannelListProvider-a418de2e.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
  132. package/cjs/{ChannelProvider-7fa98120.js → ChannelProvider-fc111e5f.js} +42 -43
  133. package/cjs/ChannelProvider-fc111e5f.js.map +1 -0
  134. package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  136. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
  137. package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
  138. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  139. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  140. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  141. package/cjs/ChannelSettings/context.js +3 -3
  142. package/cjs/ChannelSettings.js +17 -17
  143. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  144. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  145. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  146. package/cjs/CreateChannel/context.js +3 -3
  147. package/cjs/CreateChannel.js +14 -14
  148. package/cjs/{CreateChannelProvider-70c9cb7c.js → CreateChannelProvider-c3c843e4.js} +1 -1
  149. package/cjs/{CreateChannelProvider-70c9cb7c.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
  150. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
  151. package/cjs/CreateOpenChannel/context.js +1 -1
  152. package/cjs/CreateOpenChannel.js +12 -12
  153. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  154. package/cjs/EditUserProfile.js +13 -13
  155. package/cjs/{LocalizationContext-5009012e.js → LocalizationContext-58b6ed7c.js} +3 -3
  156. package/cjs/{LocalizationContext-5009012e.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
  157. package/cjs/{MediaQueryContext-d6fdbe43.js → MediaQueryContext-6141d955.js} +1 -1
  158. package/cjs/{MediaQueryContext-d6fdbe43.js.map → MediaQueryContext-6141d955.js.map} +1 -1
  159. package/cjs/{MemberList-529a0086.js → MemberList-2bd3db33.js} +7 -7
  160. package/cjs/{MemberList-529a0086.js.map → MemberList-2bd3db33.js.map} +1 -1
  161. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  162. package/cjs/MessageSearch/context.js +1 -1
  163. package/cjs/MessageSearch.js +12 -12
  164. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  165. package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
  166. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  167. package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
  168. package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
  169. package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
  170. package/cjs/OpenChannel/context.js +7 -7
  171. package/cjs/OpenChannel.js +34 -34
  172. package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
  173. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  174. package/cjs/OpenChannelList/context.js +2 -2
  175. package/cjs/OpenChannelList.js +14 -14
  176. package/cjs/{OpenChannelListProvider-0b8cd3bf.js → OpenChannelListProvider-a8560978.js} +2 -2
  177. package/cjs/{OpenChannelListProvider-0b8cd3bf.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
  178. package/cjs/{OpenChannelProvider-d8cc11fe.js → OpenChannelProvider-39f13647.js} +6 -6
  179. package/cjs/{OpenChannelProvider-d8cc11fe.js.map → OpenChannelProvider-39f13647.js.map} +1 -1
  180. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
  181. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
  182. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  183. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  184. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  185. package/cjs/OpenChannelSettings/context.js +3 -3
  186. package/cjs/OpenChannelSettings.js +17 -17
  187. package/cjs/{RemoveMessageModal-f029d40e.js → RemoveMessageModal-afc3e268.js} +6 -6
  188. package/cjs/{RemoveMessageModal-f029d40e.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
  189. package/cjs/SendbirdProvider.js +18 -18
  190. package/cjs/SendbirdProvider.js.map +1 -1
  191. package/cjs/Thread/components/ParentMessageInfo.js +38 -38
  192. package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
  193. package/cjs/Thread/components/ThreadHeader.js +6 -6
  194. package/cjs/Thread/components/ThreadList.js +42 -42
  195. package/cjs/Thread/components/ThreadListItem.js +42 -42
  196. package/cjs/Thread/components/ThreadMessageInput.js +33 -33
  197. package/cjs/Thread/components/ThreadUI.js +45 -45
  198. package/cjs/Thread/context.js +12 -10
  199. package/cjs/Thread/context.js.map +1 -1
  200. package/cjs/Thread.js +45 -45
  201. package/cjs/{UserProfileContext-922a43ec.js → UserProfileContext-c6d7abb7.js} +1 -1
  202. package/cjs/{UserProfileContext-922a43ec.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
  203. package/cjs/VoicePlayer/context.js +3 -3
  204. package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
  205. package/cjs/VoiceRecorder/context.js +12 -12
  206. package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
  207. package/cjs/{WebAudioUtils-29717597.js → WebAudioUtils-36803ab2.js} +2 -2
  208. package/cjs/{WebAudioUtils-29717597.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
  209. package/cjs/{_rollupPluginBabelHelpers-94c18dc1.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
  210. package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
  211. package/cjs/{actionTypes-7fa02f94.js → actionTypes-327123b5.js} +1 -1
  212. package/cjs/{actionTypes-7fa02f94.js.map → actionTypes-327123b5.js.map} +1 -1
  213. package/cjs/{color-477ddbd4.js → color-5bf5a8f5.js} +1 -1
  214. package/cjs/{color-477ddbd4.js.map → color-5bf5a8f5.js.map} +1 -1
  215. package/cjs/{compareIds-de541666.js → compareIds-28c6af62.js} +1 -1
  216. package/cjs/{compareIds-de541666.js.map → compareIds-28c6af62.js.map} +1 -1
  217. package/cjs/{const-640252c1.js → const-876980e8.js} +1 -1
  218. package/cjs/{const-640252c1.js.map → const-876980e8.js.map} +1 -1
  219. package/cjs/{const-9def5c09.js → const-c9e7a340.js} +1 -1
  220. package/cjs/{const-9def5c09.js.map → const-c9e7a340.js.map} +1 -1
  221. package/cjs/{consts-a3b7ae99.js → consts-61d83828.js} +1 -1
  222. package/cjs/{consts-a3b7ae99.js.map → consts-61d83828.js.map} +1 -1
  223. package/cjs/{consts-54f5c12d.js → consts-b3c4f548.js} +1 -1
  224. package/cjs/{consts-54f5c12d.js.map → consts-b3c4f548.js.map} +1 -1
  225. package/cjs/{consts-85cd42fa.js → consts-b711321c.js} +1 -1
  226. package/cjs/{consts-85cd42fa.js.map → consts-b711321c.js.map} +1 -1
  227. package/cjs/{consts-95462b21.js → consts-f54b15c2.js} +1 -1
  228. package/cjs/{consts-95462b21.js.map → consts-f54b15c2.js.map} +1 -1
  229. package/cjs/{context-9814fafe.js → context-6684538e.js} +2 -2
  230. package/cjs/{context-9814fafe.js.map → context-6684538e.js.map} +1 -1
  231. package/cjs/dist/index.css +55 -55
  232. package/cjs/dist/index.css.map +1 -1
  233. package/cjs/hooks/useModal.js +11 -11
  234. package/cjs/{index-826b76d5.js → index-134e9852.js} +2 -2
  235. package/cjs/{index-826b76d5.js.map → index-134e9852.js.map} +1 -1
  236. package/cjs/{index-b6d51e74.js → index-3448df64.js} +2 -2
  237. package/cjs/{index-b6d51e74.js.map → index-3448df64.js.map} +1 -1
  238. package/cjs/{index-80a11b6a.js → index-45933be9.js} +2 -2
  239. package/cjs/{index-80a11b6a.js.map → index-45933be9.js.map} +1 -1
  240. package/cjs/{index-ee3bf381.js → index-4c378655.js} +4 -4
  241. package/cjs/{index-ee3bf381.js.map → index-4c378655.js.map} +1 -1
  242. package/cjs/{index-6b0644d7.js → index-4e939c26.js} +9 -9
  243. package/cjs/{index-6b0644d7.js.map → index-4e939c26.js.map} +1 -1
  244. package/cjs/{index-aeb36f01.js → index-520e12b8.js} +7 -7
  245. package/cjs/{index-aeb36f01.js.map → index-520e12b8.js.map} +1 -1
  246. package/cjs/{index-609b07a2.js → index-54279ec2.js} +1 -1
  247. package/cjs/{index-609b07a2.js.map → index-54279ec2.js.map} +1 -1
  248. package/cjs/{index-c22e0cbf.js → index-692ea6aa.js} +2 -2
  249. package/cjs/{index-c22e0cbf.js.map → index-692ea6aa.js.map} +1 -1
  250. package/cjs/{index-83d2aed9.js → index-7627b546.js} +3 -3
  251. package/cjs/{index-83d2aed9.js.map → index-7627b546.js.map} +1 -1
  252. package/cjs/{index-0ec5a831.js → index-a95c4ab4.js} +3 -3
  253. package/cjs/{index-0ec5a831.js.map → index-a95c4ab4.js.map} +1 -1
  254. package/cjs/{index-35820a94.js → index-b5a9b4b7.js} +2 -2
  255. package/cjs/{index-35820a94.js.map → index-b5a9b4b7.js.map} +1 -1
  256. package/cjs/{index-daf80c58.js → index-b8ba4548.js} +1 -1
  257. package/cjs/{index-daf80c58.js.map → index-b8ba4548.js.map} +1 -1
  258. package/cjs/{index-7b0c6630.js → index-bc6623d7.js} +11 -11
  259. package/cjs/{index-7b0c6630.js.map → index-bc6623d7.js.map} +1 -1
  260. package/cjs/{index-bdf7089c.js → index-cc2e05a4.js} +5 -5
  261. package/cjs/{index-bdf7089c.js.map → index-cc2e05a4.js.map} +1 -1
  262. package/cjs/{index-e81e2882.js → index-ce07a2a3.js} +4 -4
  263. package/cjs/{index-e81e2882.js.map → index-ce07a2a3.js.map} +1 -1
  264. package/cjs/{index-b995f638.js → index-dbe8dd84.js} +3 -3
  265. package/cjs/{index-b995f638.js.map → index-dbe8dd84.js.map} +1 -1
  266. package/cjs/{index-0a25b9b2.js → index-e5e6d9b0.js} +4 -4
  267. package/cjs/{index-0a25b9b2.js.map → index-e5e6d9b0.js.map} +1 -1
  268. package/cjs/{index-fd8a0abb.js → index-e8928da6.js} +1 -1
  269. package/cjs/{index-fd8a0abb.js.map → index-e8928da6.js.map} +1 -1
  270. package/cjs/index.js +56 -56
  271. package/cjs/{resolvedReplyType-c20ef661.js → resolvedReplyType-c4564ebe.js} +1 -1
  272. package/cjs/{resolvedReplyType-c20ef661.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
  273. package/cjs/sendbirdSelectors.js +1 -1
  274. package/cjs/{stringFormatterUtils-e324636c.js → stringFormatterUtils-92dbef3c.js} +3 -3
  275. package/cjs/{stringFormatterUtils-e324636c.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
  276. package/cjs/{stringSet-98b52c49.js → stringSet-1539ac47.js} +1 -1
  277. package/cjs/{stringSet-98b52c49.js.map → stringSet-1539ac47.js.map} +1 -1
  278. package/cjs/{tokenize-91bdbeb0.js → tokenize-d5286fa8.js} +3 -3
  279. package/cjs/{tokenize-91bdbeb0.js.map → tokenize-d5286fa8.js.map} +1 -1
  280. package/cjs/{tslib.es6-2f2b0bca.js → tslib.es6-c74b513f.js} +1 -1
  281. package/cjs/{tslib.es6-2f2b0bca.js.map → tslib.es6-c74b513f.js.map} +1 -1
  282. package/cjs/{types-66554668.js → types-d0d770c3.js} +1 -1
  283. package/cjs/{types-66554668.js.map → types-d0d770c3.js.map} +1 -1
  284. package/cjs/{types-31ed2276.js → types-feda9656.js} +1 -1
  285. package/cjs/{types-31ed2276.js.map → types-feda9656.js.map} +1 -1
  286. package/cjs/ui/Accordion.js +3 -3
  287. package/cjs/ui/AccordionGroup.js +2 -2
  288. package/cjs/ui/AdminMessage.js +3 -3
  289. package/cjs/ui/Avatar.js +2 -2
  290. package/cjs/ui/Badge.js +5 -5
  291. package/cjs/ui/BottomSheet.js +6 -6
  292. package/cjs/ui/Button.js +4 -4
  293. package/cjs/ui/ChannelAvatar.js +3 -3
  294. package/cjs/ui/ConnectionStatus.js +4 -4
  295. package/cjs/ui/ContextMenu.js +6 -6
  296. package/cjs/ui/DateSeparator.js +4 -4
  297. package/cjs/ui/EmojiReactions.js +15 -15
  298. package/cjs/ui/FileMessageItemBody.js +7 -7
  299. package/cjs/ui/FileViewer.js +14 -14
  300. package/cjs/ui/IconButton.js +1 -1
  301. package/cjs/ui/ImageRenderer.js +1 -1
  302. package/cjs/ui/Input.js +2 -2
  303. package/cjs/ui/Label.js +2 -2
  304. package/cjs/ui/LinkLabel.js +2 -2
  305. package/cjs/ui/Loader.js +1 -1
  306. package/cjs/ui/MentionLabel.js +11 -11
  307. package/cjs/ui/MentionUserLabel.js +1 -1
  308. package/cjs/ui/MessageContent.js +37 -37
  309. package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
  310. package/cjs/ui/MessageInput.js +16 -16
  311. package/cjs/ui/MessageItemMenu.js +19 -19
  312. package/cjs/ui/MessageItemReactionMenu.js +10 -10
  313. package/cjs/ui/MessageSearchFileItem.js +12 -12
  314. package/cjs/ui/MessageSearchItem.js +9 -9
  315. package/cjs/ui/MessageStatus.js +11 -11
  316. package/cjs/ui/Modal.js +10 -10
  317. package/cjs/ui/OGMessageItemBody.js +14 -14
  318. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  319. package/cjs/ui/OpenChannelAvatar.js +6 -6
  320. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  321. package/cjs/ui/OpenchannelFileMessage.js +17 -17
  322. package/cjs/ui/OpenchannelOGMessage.js +19 -19
  323. package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
  324. package/cjs/ui/OpenchannelUserMessage.js +17 -17
  325. package/cjs/ui/PlaceHolder.js +5 -5
  326. package/cjs/ui/PlaybackTime.js +2 -2
  327. package/cjs/ui/QuoteMessage.js +8 -8
  328. package/cjs/ui/QuoteMessageInput.js +8 -8
  329. package/cjs/ui/ReactionBadge.js +3 -3
  330. package/cjs/ui/ReactionButton.js +5 -5
  331. package/cjs/ui/SortByRow.js +2 -2
  332. package/cjs/ui/TextButton.js +2 -2
  333. package/cjs/ui/TextMessageItemBody.js +14 -14
  334. package/cjs/ui/ThreadReplies.js +6 -6
  335. package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
  336. package/cjs/ui/Toggle.js +1 -1
  337. package/cjs/ui/Tooltip.js +3 -3
  338. package/cjs/ui/TooltipWrapper.js +1 -1
  339. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  340. package/cjs/ui/UserListItem.js +11 -11
  341. package/cjs/ui/UserProfile.js +9 -9
  342. package/cjs/ui/VoiceMessageItemBody.js +12 -12
  343. package/cjs/ui/VoiceMessgeInput.js +8 -8
  344. package/cjs/ui/Word.js +11 -11
  345. package/cjs/{useHandleUploadFiles-fbe6ad64.js → useHandleUploadFiles-39e8d107.js} +11 -11
  346. package/cjs/{useHandleUploadFiles-fbe6ad64.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
  347. package/cjs/{useLongPress-c1da8ba7.js → useLongPress-18b7af79.js} +3 -3
  348. package/cjs/{useLongPress-c1da8ba7.js.map → useLongPress-18b7af79.js.map} +1 -1
  349. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
  350. package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
  351. package/cjs/useSendbirdStateContext.js +1 -1
  352. package/cjs/{useStatefulFileInfoList-aa70b6b9.js → useStatefulFileInfoList-c510792f.js} +4 -4
  353. package/cjs/{useStatefulFileInfoList-aa70b6b9.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
  354. package/cjs/utils/message/isVoiceMessage.js +3 -3
  355. package/cjs/{utils-46483130.js → utils-1d0f1e0c.js} +1 -1
  356. package/cjs/{utils-46483130.js.map → utils-1d0f1e0c.js.map} +1 -1
  357. package/cjs/{utils-55fc6797.js → utils-9193a195.js} +4 -4
  358. package/cjs/{utils-55fc6797.js.map → utils-9193a195.js.map} +1 -1
  359. package/cjs/{utils-851724e0.js → utils-93ca9d57.js} +3 -3
  360. package/cjs/{utils-851724e0.js.map → utils-93ca9d57.js.map} +1 -1
  361. package/cjs/{utils-e313131f.js → utils-98441ba6.js} +1 -1
  362. package/cjs/{utils-e313131f.js.map → utils-98441ba6.js.map} +1 -1
  363. package/cjs/{utils-0fac6ad1.js → utils-e6c4b2b0.js} +2 -2
  364. package/cjs/{utils-0fac6ad1.js.map → utils-e6c4b2b0.js.map} +1 -1
  365. package/cjs/{utils-180c6bc8.js → utils-eb6d90e0.js} +1 -1
  366. package/cjs/{utils-180c6bc8.js.map → utils-eb6d90e0.js.map} +1 -1
  367. package/cjs/{uuid-c74bbbb6.js → uuid-9a117e16.js} +1 -1
  368. package/cjs/{uuid-c74bbbb6.js.map → uuid-9a117e16.js.map} +1 -1
  369. package/cjs/withSendbird.js +1 -1
  370. package/{color-1383d4ab.js → color-57373b4c.js} +1 -1
  371. package/{color-1383d4ab.js.map → color-57373b4c.js.map} +1 -1
  372. package/{compareIds-b56b02f1.js → compareIds-7e517404.js} +1 -1
  373. package/{compareIds-b56b02f1.js.map → compareIds-7e517404.js.map} +1 -1
  374. package/{const-e3326913.js → const-73db0277.js} +1 -1
  375. package/{const-e3326913.js.map → const-73db0277.js.map} +1 -1
  376. package/{const-4bc3721f.js → const-93731a4c.js} +1 -1
  377. package/{const-4bc3721f.js.map → const-93731a4c.js.map} +1 -1
  378. package/{consts-f0ba9b80.js → consts-4ec7d640.js} +1 -1
  379. package/{consts-f0ba9b80.js.map → consts-4ec7d640.js.map} +1 -1
  380. package/{consts-7f4d53a3.js → consts-57c888b9.js} +1 -1
  381. package/{consts-7f4d53a3.js.map → consts-57c888b9.js.map} +1 -1
  382. package/{consts-833420ed.js → consts-be37687e.js} +1 -1
  383. package/{consts-833420ed.js.map → consts-be37687e.js.map} +1 -1
  384. package/{consts-aa64aca8.js → consts-d9c5f25a.js} +1 -1
  385. package/{consts-aa64aca8.js.map → consts-d9c5f25a.js.map} +1 -1
  386. package/{context-ae47ac54.js → context-729493c4.js} +2 -2
  387. package/{context-ae47ac54.js.map → context-729493c4.js.map} +1 -1
  388. package/dist/index.css +55 -55
  389. package/dist/index.css.map +1 -1
  390. package/hooks/useModal.js +11 -11
  391. package/{index-c7ed4aef.js → index-04bd1a59.js} +1 -1
  392. package/{index-c7ed4aef.js.map → index-04bd1a59.js.map} +1 -1
  393. package/{index-c6095960.js → index-09847c0f.js} +1 -1
  394. package/{index-c6095960.js.map → index-09847c0f.js.map} +1 -1
  395. package/{index-7a1085b6.js → index-0f017704.js} +11 -11
  396. package/{index-7a1085b6.js.map → index-0f017704.js.map} +1 -1
  397. package/{index-c81fd6ec.js → index-2d27aeef.js} +2 -2
  398. package/{index-c81fd6ec.js.map → index-2d27aeef.js.map} +1 -1
  399. package/{index-ec0c048b.js → index-493689bd.js} +4 -4
  400. package/{index-ec0c048b.js.map → index-493689bd.js.map} +1 -1
  401. package/{index-1969ccd8.js → index-494f9e79.js} +2 -2
  402. package/{index-1969ccd8.js.map → index-494f9e79.js.map} +1 -1
  403. package/{index-942c5fa2.js → index-4b4e9682.js} +7 -7
  404. package/{index-942c5fa2.js.map → index-4b4e9682.js.map} +1 -1
  405. package/{index-89b3b8ba.js → index-62d5f020.js} +9 -9
  406. package/{index-89b3b8ba.js.map → index-62d5f020.js.map} +1 -1
  407. package/{index-1432c287.js → index-682a192c.js} +2 -2
  408. package/{index-1432c287.js.map → index-682a192c.js.map} +1 -1
  409. package/{index-8c72f0bd.js → index-686a551d.js} +2 -2
  410. package/{index-8c72f0bd.js.map → index-686a551d.js.map} +1 -1
  411. package/{index-40447645.js → index-6b3b1eca.js} +5 -5
  412. package/{index-40447645.js.map → index-6b3b1eca.js.map} +1 -1
  413. package/{index-fc1642cb.js → index-776554c0.js} +3 -3
  414. package/{index-fc1642cb.js.map → index-776554c0.js.map} +1 -1
  415. package/{index-12103973.js → index-92741c7e.js} +2 -2
  416. package/{index-12103973.js.map → index-92741c7e.js.map} +1 -1
  417. package/{index-3d508585.js → index-a0638563.js} +4 -4
  418. package/{index-3d508585.js.map → index-a0638563.js.map} +1 -1
  419. package/{index-eec0ce47.js → index-c22e4772.js} +4 -4
  420. package/{index-eec0ce47.js.map → index-c22e4772.js.map} +1 -1
  421. package/{index-124a5766.js → index-e04159fe.js} +3 -3
  422. package/{index-124a5766.js.map → index-e04159fe.js.map} +1 -1
  423. package/{index-d3f61405.js → index-e4277f9c.js} +1 -1
  424. package/{index-d3f61405.js.map → index-e4277f9c.js.map} +1 -1
  425. package/{index-dc1827ea.js → index-f8a9cb51.js} +3 -3
  426. package/{index-dc1827ea.js.map → index-f8a9cb51.js.map} +1 -1
  427. package/index.d.ts +1 -1
  428. package/index.js +56 -56
  429. package/package.json +1 -1
  430. package/{resolvedReplyType-0532593c.js → resolvedReplyType-fb987595.js} +1 -1
  431. package/{resolvedReplyType-0532593c.js.map → resolvedReplyType-fb987595.js.map} +1 -1
  432. package/sendbirdSelectors.js +1 -1
  433. package/{stringFormatterUtils-444f6f4c.js → stringFormatterUtils-abbe70ba.js} +3 -3
  434. package/{stringFormatterUtils-444f6f4c.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
  435. package/{stringSet-1106c8ec.js → stringSet-6422c6b9.js} +1 -1
  436. package/{stringSet-1106c8ec.js.map → stringSet-6422c6b9.js.map} +1 -1
  437. package/{tokenize-d17bf862.js → tokenize-eae44765.js} +3 -3
  438. package/{tokenize-d17bf862.js.map → tokenize-eae44765.js.map} +1 -1
  439. package/{tslib.es6-0c779aab.js → tslib.es6-c2fb729e.js} +1 -1
  440. package/{tslib.es6-0c779aab.js.map → tslib.es6-c2fb729e.js.map} +1 -1
  441. package/{types-50e412d8.js → types-781e0bab.js} +1 -1
  442. package/{types-50e412d8.js.map → types-781e0bab.js.map} +1 -1
  443. package/{types-4ffc52f6.js → types-9d43ac6e.js} +1 -1
  444. package/{types-4ffc52f6.js.map → types-9d43ac6e.js.map} +1 -1
  445. package/ui/Accordion.js +3 -3
  446. package/ui/AccordionGroup.js +2 -2
  447. package/ui/AdminMessage.js +3 -3
  448. package/ui/Avatar.js +2 -2
  449. package/ui/Badge.js +5 -5
  450. package/ui/BottomSheet.js +6 -6
  451. package/ui/Button.js +5 -5
  452. package/ui/ChannelAvatar.js +3 -3
  453. package/ui/ConnectionStatus.js +4 -4
  454. package/ui/ContextMenu.js +6 -6
  455. package/ui/DateSeparator.js +4 -4
  456. package/ui/EmojiReactions.js +15 -15
  457. package/ui/FileMessageItemBody.js +7 -7
  458. package/ui/FileViewer.js +14 -14
  459. package/ui/IconButton.js +1 -1
  460. package/ui/ImageRenderer.js +1 -1
  461. package/ui/Input.js +2 -2
  462. package/ui/Label.js +2 -2
  463. package/ui/LinkLabel.js +2 -2
  464. package/ui/Loader.js +1 -1
  465. package/ui/MentionLabel.js +11 -11
  466. package/ui/MentionUserLabel.js +1 -1
  467. package/ui/MessageContent.js +37 -37
  468. package/ui/MessageInput/hooks/usePaste.js +5 -5
  469. package/ui/MessageInput.js +16 -16
  470. package/ui/MessageItemMenu.js +19 -19
  471. package/ui/MessageItemReactionMenu.js +10 -10
  472. package/ui/MessageSearchFileItem.js +12 -12
  473. package/ui/MessageSearchItem.js +9 -9
  474. package/ui/MessageStatus.js +11 -11
  475. package/ui/Modal.js +10 -10
  476. package/ui/OGMessageItemBody.js +14 -14
  477. package/ui/OpenChannelAdminMessage.js +3 -3
  478. package/ui/OpenChannelAvatar.js +6 -6
  479. package/ui/OpenchannelConversationHeader.js +6 -6
  480. package/ui/OpenchannelFileMessage.js +17 -17
  481. package/ui/OpenchannelOGMessage.js +19 -19
  482. package/ui/OpenchannelThumbnailMessage.js +16 -16
  483. package/ui/OpenchannelUserMessage.js +17 -17
  484. package/ui/PlaceHolder.js +5 -5
  485. package/ui/PlaybackTime.js +2 -2
  486. package/ui/QuoteMessage.js +8 -8
  487. package/ui/QuoteMessageInput.js +8 -8
  488. package/ui/ReactionBadge.js +3 -3
  489. package/ui/ReactionButton.js +5 -5
  490. package/ui/SortByRow.js +2 -2
  491. package/ui/TextButton.js +2 -2
  492. package/ui/TextMessageItemBody.js +14 -14
  493. package/ui/ThreadReplies.js +6 -6
  494. package/ui/ThumbnailMessageItemBody.js +8 -8
  495. package/ui/Toggle.js +1 -1
  496. package/ui/Tooltip.js +3 -3
  497. package/ui/TooltipWrapper.js +1 -1
  498. package/ui/UnknownMessageItemBody.js +7 -7
  499. package/ui/UserListItem.js +11 -11
  500. package/ui/UserProfile.js +9 -9
  501. package/ui/VoiceMessageItemBody.js +12 -12
  502. package/ui/VoiceMessgeInput.js +8 -8
  503. package/ui/Word.js +11 -11
  504. package/{useHandleUploadFiles-33aff88e.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
  505. package/{useHandleUploadFiles-33aff88e.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
  506. package/{useLongPress-322bb6a3.js → useLongPress-f8655a14.js} +3 -3
  507. package/{useLongPress-322bb6a3.js.map → useLongPress-f8655a14.js.map} +1 -1
  508. package/{useSendMultipleFilesMessage-4489a0f6.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
  509. package/{useSendMultipleFilesMessage-4489a0f6.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
  510. package/useSendbirdStateContext.js +1 -1
  511. package/{useStatefulFileInfoList-dd95f949.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
  512. package/{useStatefulFileInfoList-dd95f949.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
  513. package/utils/message/isVoiceMessage.js +3 -3
  514. package/{utils-48a3ef27.js → utils-2c1f072b.js} +1 -1
  515. package/{utils-48a3ef27.js.map → utils-2c1f072b.js.map} +1 -1
  516. package/{utils-74c161a0.js → utils-6c50a6d1.js} +1 -1
  517. package/{utils-74c161a0.js.map → utils-6c50a6d1.js.map} +1 -1
  518. package/{utils-40040f8e.js → utils-aa4086dc.js} +4 -4
  519. package/{utils-40040f8e.js.map → utils-aa4086dc.js.map} +1 -1
  520. package/{utils-e98a7f8c.js → utils-bfc0ab3b.js} +3 -3
  521. package/{utils-e98a7f8c.js.map → utils-bfc0ab3b.js.map} +1 -1
  522. package/{utils-158c1683.js → utils-fa321757.js} +1 -1
  523. package/{utils-158c1683.js.map → utils-fa321757.js.map} +1 -1
  524. package/{utils-3660243c.js → utils-fc1f5aa0.js} +2 -2
  525. package/{utils-3660243c.js.map → utils-fc1f5aa0.js.map} +1 -1
  526. package/{uuid-3c77ef7b.js → uuid-c15b8b3b.js} +1 -1
  527. package/{uuid-3c77ef7b.js.map → uuid-c15b8b3b.js.map} +1 -1
  528. package/withSendbird.js +1 -1
  529. package/ChannelProvider-7f6fd1f8.js.map +0 -1
  530. package/_rollupPluginBabelHelpers-07dcbc2b.js.map +0 -1
  531. package/cjs/ChannelProvider-7fa98120.js.map +0 -1
  532. package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useStatefulFileInfoList-dd95f949.js","sources":["../src/ui/ImageGrid/index.tsx","../src/ui/MultipleFilesMessageItemBody/const.ts","../src/ui/MultipleFilesMessageItemBody/index.tsx","../src/modules/Channel/context/hooks/useThreadMessageKindKeySelector.ts","../src/utils/createStatefulFileInfoList.ts","../src/modules/Channel/context/hooks/useStatefulFileInfoList.ts"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport './index.scss';\nimport { getClassName } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\ninterface ImageGridProps {\n children: ReactElement[];\n className?: string;\n message: MultipleFilesMessage;\n isReactionEnabled?: boolean;\n}\n\nexport default function ImageGrid({\n children,\n className,\n message,\n isReactionEnabled,\n}: ImageGridProps): ReactElement {\n return (\n <div className='sendbird-image-grid-wrap'>\n <div className={getClassName([\n className,\n 'sendbird-image-grid',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n { children }\n </div>\n </div>\n );\n}\n","const GRID_WIDTH_CHAT_WEB = 400;\nconst GRID_SIDE_PADDING = 8;\nconst GRID_GAP = 4;\nconst TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;\nconst PROFILE_IMAGE_WIDTH = 40;\n\nconst CHAT_MOBILE_SIDE_PADDING = 48;\n\nconst THREAD_PARENT_WIDTH = 320;\nconst THREAD_PARENT_SIDE_PADDING = 28;\nconst THREAD_PARENT_GRID_MARGIN_LEFT = 12;\n\nconst THREAD_CHILD_WIDTH = 200;\nconst THREAD_CHILD_SIDE_PADDING = 8;\nconst THREAD_CHILD_MOBILE_SIDE_PADDING = 32;\nconst THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;\n\nexport const MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {\n CHAT_WEB: `calc(${GRID_WIDTH_CHAT_WEB / 2}px - ${(GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n CHAT_MOBILE: `calc(50vw - ${(CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n THREAD_PARENT_WEB: `calc(${(THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2}px)`,\n THREAD_PARENT_MOBILE: `calc(50vw - ${(THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2}px)`,\n THREAD_CHILD_WEB: `calc(${(THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2}px)`,\n THREAD_CHILD_MOBILE: `calc(50vw - ${(THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n};\nexport const MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {\n CHAT_WEB: '6px',\n CHAT_MOBILE: '6px',\n THREAD_PARENT_WEB: '6px',\n THREAD_PARENT_MOBILE: '6px',\n THREAD_CHILD_WEB: '6px',\n THREAD_CHILD_MOBILE: '6px',\n};\nexport const MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '34px';\n","import React, { ReactElement, useState } from 'react';\n\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { MultipleFilesMessage, SendingStatus } from '@sendbird/chat/message';\nimport ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from '../ImageRenderer';\nimport ImageGrid from '../ImageGrid';\nimport FileViewer from '../FileViewer';\nimport './index.scss';\nimport {\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS,\n MULTIPLE_FILES_IMAGE_SIDE_LENGTH,\n MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,\n} from './const';\nimport { isGif } from '../../utils';\nimport { StatefulFileInfo } from '../../utils/createStatefulFileInfoList';\n\nexport const ThreadMessageKind = {\n PARENT: 'parent',\n CHILD: 'child',\n} as const;\n\nexport type ThreadMessageKindType = typeof ThreadMessageKind[keyof typeof ThreadMessageKind];\n\ninterface Props {\n className?: string;\n message: MultipleFilesMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n threadMessageKindKey?: string;\n statefulFileInfoList?: StatefulFileInfo[];\n}\n\nexport default function MultipleFilesMessageItemBody({\n className,\n message,\n isReactionEnabled = false,\n threadMessageKindKey,\n statefulFileInfoList = [],\n}: Props): ReactElement {\n const [currentFileViewerIndex, setCurrentFileViewerIndex] = useState(-1);\n\n function onClose() {\n setCurrentFileViewerIndex(-1);\n }\n\n function onClickLeft() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === 0\n ? statefulFileInfoList.length - 1\n : currentFileViewerIndex - 1,\n );\n }\n\n function onClickRight() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === statefulFileInfoList.length - 1\n ? 0\n : currentFileViewerIndex + 1,\n );\n }\n\n return threadMessageKindKey && (\n <>\n {\n currentFileViewerIndex > -1 && (\n <FileViewer\n message={message}\n statefulFileInfoList={statefulFileInfoList}\n currentIndex={currentFileViewerIndex}\n onClickLeft={onClickLeft}\n onClickRight={onClickRight}\n onClose={onClose}\n />\n )\n }\n <ImageGrid\n className={className}\n message={message}\n isReactionEnabled={isReactionEnabled}\n >\n {\n statefulFileInfoList.map((fileInfo: StatefulFileInfo, index: number) => {\n const isGifValue = isGif(fileInfo.mimeType);\n return <div\n className='sendbird-multiple-files-image-renderer-wrapper'\n onClick={\n message.sendingStatus === SendingStatus.SUCCEEDED\n ? () => setCurrentFileViewerIndex(index)\n : undefined\n }\n key={`sendbird-multiple-files-image-renderer-${index}-${fileInfo.url}`}\n >\n <ImageRenderer\n url={fileInfo.url}\n fixedSize={false}\n width={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n maxSideLength={MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB}\n height={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n borderRadius={getBorderRadiusForMultipleImageRenderer(\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey],\n index,\n statefulFileInfoList.length,\n )}\n shadeOnHover={true}\n isUploaded={!!fileInfo.isUploaded}\n placeHolder={\n (style_: Record<string, any>) => (\n <div\n className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\"\n style={style_}\n >\n {\n isGifValue\n ? <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.THUMBNAIL_ICON}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n </div>\n : <Icon\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n )\n }\n defaultComponent={\n <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\">\n {\n <Icon\n type={IconTypes.THUMBNAIL_NONE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n }\n />\n </div>;\n })\n }\n </ImageGrid>\n </>\n );\n}\n","import { useMemo } from 'react';\nimport { ThreadMessageKind, ThreadMessageKindType } from '../../../../ui/MultipleFilesMessageItemBody';\nimport { match } from 'ts-pattern';\n\ninterface DynamicSideLengthProps {\n threadMessageKind?: ThreadMessageKindType;\n isMobile: boolean;\n}\n\nexport function useThreadMessageKindKeySelector({\n threadMessageKind,\n isMobile,\n}: DynamicSideLengthProps): string {\n const threadMessageKindKey = useMemo(() => {\n return match(threadMessageKind)\n .with(ThreadMessageKind.PARENT, () => (isMobile\n ? 'THREAD_PARENT_MOBILE'\n : 'THREAD_PARENT_WEB'\n ))\n .with(ThreadMessageKind.CHILD, () => (isMobile\n ? 'THREAD_CHILD_MOBILE'\n : 'THREAD_CHILD_WEB'\n ))\n .otherwise(() => (isMobile\n ? 'CHAT_MOBILE'\n : 'CHAT_WEB'\n ));\n }, [isMobile, threadMessageKind]);\n return threadMessageKindKey;\n}\n","import { MultipleFilesMessage, SendingStatus, UploadableFileInfo, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport type StatefulFileInfo = {\n fileName?: string,\n fileSize?: number,\n mimeType?: string,\n thumbnails?: Thumbnail[];\n url?: string,\n isUploaded?: boolean;\n};\n\nexport function createStatefulFileInfoList(message: MultipleFilesMessage, oldStatefulFileInfoList: StatefulFileInfo[]): StatefulFileInfo[] {\n if (!message) return null;\n\n // Handle sent messages.\n if (message.sendingStatus === SendingStatus.SUCCEEDED) {\n return message.fileInfoList.map((fileInfo: UploadedFileInfo) => {\n return {\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n thumbnails: fileInfo.thumbnails,\n url: fileInfo.url,\n isUploaded: true,\n };\n });\n }\n // Handle unsent message.\n if (!Array.isArray(message.messageParams?.fileInfoList)) return null;\n return message.messageParams.fileInfoList\n .map((fileInfo: UploadableFileInfo, index: number): StatefulFileInfo => ({\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n /**\n * Note here, we prioritize using fileUrl (implying uploaded state) over file.\n * This is necessary because cache loaded pending/failed mfms is mixed with\n * files (not yet uploaded ones) and fileUrls (uploaded).\n *\n * Notice that if file is used in the old state, it will not be replace with the new fileUrl\n * because doing so will rerender the ImageRenderer component which makes rendering process awkward and slow.\n * */\n url: oldStatefulFileInfoList[index]?.url ?? fileInfo.fileUrl ?? (\n fileInfo.file instanceof Blob\n ? URL.createObjectURL(fileInfo.file)\n : undefined\n ),\n /**\n * Side note: It was a bad design to not include this property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n isUploaded: !fileInfo.file && typeof fileInfo.fileUrl === 'string' && fileInfo.fileUrl.length > 0,\n }));\n}\n","import { useEffect, useState } from 'react';\nimport { MultipleFilesMessage, UploadableFileInfo } from '@sendbird/chat/message';\nimport { createStatefulFileInfoList, StatefulFileInfo } from '../../../../utils/createStatefulFileInfoList';\nimport { CoreMessageType, isMultipleFilesMessage } from '../../../../utils';\n\nexport const useStatefulFileInfoList = (message: CoreMessageType): StatefulFileInfo[] => {\n const [statefulFileInfoList, setStatefulFileInfoList] = useState<StatefulFileInfo[]>([]);\n\n useEffect(() => {\n if (isMultipleFilesMessage(message)) {\n const newStatefulFileInfoList: StatefulFileInfo[] = createStatefulFileInfoList(\n message as MultipleFilesMessage,\n statefulFileInfoList,\n );\n setStatefulFileInfoList(newStatefulFileInfoList);\n }\n }, [\n // Sent message dependency.\n (message as MultipleFilesMessage).fileInfoList?.length,\n // Unsent message dependency.\n /**\n * Side note: It was a bad design to not include 'isUploaded' property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n (message as MultipleFilesMessage).messageParams?.fileInfoList\n ?.map((fileInfo: UploadableFileInfo) => fileInfo.fileUrl).join(','),\n ]);\n return statefulFileInfoList;\n};\n"],"names":["ImageGrid","_a","children","className","message","isReactionEnabled","React","createElement","getClassName","_b","reactions","length","GRID_WIDTH_CHAT_WEB","GRID_SIDE_PADDING","GRID_GAP","TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","PROFILE_IMAGE_WIDTH","CHAT_MOBILE_SIDE_PADDING","THREAD_PARENT_WIDTH","THREAD_PARENT_SIDE_PADDING","THREAD_PARENT_GRID_MARGIN_LEFT","THREAD_CHILD_WIDTH","THREAD_CHILD_SIDE_PADDING","THREAD_CHILD_MOBILE_SIDE_PADDING","THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","MULTIPLE_FILES_IMAGE_SIDE_LENGTH","CHAT_WEB","concat","CHAT_MOBILE","THREAD_PARENT_WEB","THREAD_PARENT_MOBILE","THREAD_CHILD_WEB","THREAD_CHILD_MOBILE","MULTIPLE_FILES_IMAGE_BORDER_RADIUS","MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH","ThreadMessageKind","PARENT","CHILD","MultipleFilesMessageItemBody","threadMessageKindKey","_c","statefulFileInfoList","_d","useState","currentFileViewerIndex","setCurrentFileViewerIndex","onClose","onClickLeft","onClickRight","Fragment","FileViewer","currentIndex","map","fileInfo","index","isGifValue","isGif","mimeType","onClick","sendingStatus","SendingStatus","SUCCEEDED","undefined","key","url","ImageRenderer","fixedSize","width","maxSideLength","height","borderRadius","getBorderRadiusForMultipleImageRenderer","shadeOnHover","isUploaded","placeHolder","style_","style","Icon","type","IconTypes","GIF","fillColor","IconColors","THUMBNAIL_ICON","PHOTO","ON_BACKGROUND_2","defaultComponent","THUMBNAIL_NONE","useThreadMessageKindKeySelector","threadMessageKind","isMobile","useMemo","match","with","otherwise","createStatefulFileInfoList","oldStatefulFileInfoList","fileInfoList","fileName","fileSize","thumbnails","Array","isArray","messageParams","fileUrl","file","Blob","URL","createObjectURL","useStatefulFileInfoList","setStatefulFileInfoList","useEffect","isMultipleFilesMessage","newStatefulFileInfoList","join"],"mappings":"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"}
1
+ {"version":3,"file":"useStatefulFileInfoList-5e68b93f.js","sources":["../src/ui/ImageGrid/index.tsx","../src/ui/MultipleFilesMessageItemBody/const.ts","../src/ui/MultipleFilesMessageItemBody/index.tsx","../src/modules/Channel/context/hooks/useThreadMessageKindKeySelector.ts","../src/utils/createStatefulFileInfoList.ts","../src/modules/Channel/context/hooks/useStatefulFileInfoList.ts"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport './index.scss';\nimport { getClassName } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\ninterface ImageGridProps {\n children: ReactElement[];\n className?: string;\n message: MultipleFilesMessage;\n isReactionEnabled?: boolean;\n}\n\nexport default function ImageGrid({\n children,\n className,\n message,\n isReactionEnabled,\n}: ImageGridProps): ReactElement {\n return (\n <div className='sendbird-image-grid-wrap'>\n <div className={getClassName([\n className,\n 'sendbird-image-grid',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n { children }\n </div>\n </div>\n );\n}\n","const GRID_WIDTH_CHAT_WEB = 400;\nconst GRID_SIDE_PADDING = 8;\nconst GRID_GAP = 4;\nconst TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;\nconst PROFILE_IMAGE_WIDTH = 40;\n\nconst CHAT_MOBILE_SIDE_PADDING = 48;\n\nconst THREAD_PARENT_WIDTH = 320;\nconst THREAD_PARENT_SIDE_PADDING = 28;\nconst THREAD_PARENT_GRID_MARGIN_LEFT = 12;\n\nconst THREAD_CHILD_WIDTH = 200;\nconst THREAD_CHILD_SIDE_PADDING = 8;\nconst THREAD_CHILD_MOBILE_SIDE_PADDING = 32;\nconst THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;\n\nexport const MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {\n CHAT_WEB: `calc(${GRID_WIDTH_CHAT_WEB / 2}px - ${(GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n CHAT_MOBILE: `calc(50vw - ${(CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n THREAD_PARENT_WEB: `calc(${(THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2}px)`,\n THREAD_PARENT_MOBILE: `calc(50vw - ${(THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2}px)`,\n THREAD_CHILD_WEB: `calc(${(THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2}px)`,\n THREAD_CHILD_MOBILE: `calc(50vw - ${(THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n};\nexport const MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {\n CHAT_WEB: '6px',\n CHAT_MOBILE: '6px',\n THREAD_PARENT_WEB: '6px',\n THREAD_PARENT_MOBILE: '6px',\n THREAD_CHILD_WEB: '6px',\n THREAD_CHILD_MOBILE: '6px',\n};\nexport const MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '34px';\n","import React, { ReactElement, useState } from 'react';\n\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { MultipleFilesMessage, SendingStatus } from '@sendbird/chat/message';\nimport ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from '../ImageRenderer';\nimport ImageGrid from '../ImageGrid';\nimport FileViewer from '../FileViewer';\nimport './index.scss';\nimport {\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS,\n MULTIPLE_FILES_IMAGE_SIDE_LENGTH,\n MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,\n} from './const';\nimport { isGif } from '../../utils';\nimport { StatefulFileInfo } from '../../utils/createStatefulFileInfoList';\n\nexport const ThreadMessageKind = {\n PARENT: 'parent',\n CHILD: 'child',\n} as const;\n\nexport type ThreadMessageKindType = typeof ThreadMessageKind[keyof typeof ThreadMessageKind];\n\ninterface Props {\n className?: string;\n message: MultipleFilesMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n threadMessageKindKey?: string;\n statefulFileInfoList?: StatefulFileInfo[];\n}\n\nexport default function MultipleFilesMessageItemBody({\n className,\n message,\n isReactionEnabled = false,\n threadMessageKindKey,\n statefulFileInfoList = [],\n}: Props): ReactElement {\n const [currentFileViewerIndex, setCurrentFileViewerIndex] = useState(-1);\n\n function onClose() {\n setCurrentFileViewerIndex(-1);\n }\n\n function onClickLeft() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === 0\n ? statefulFileInfoList.length - 1\n : currentFileViewerIndex - 1,\n );\n }\n\n function onClickRight() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === statefulFileInfoList.length - 1\n ? 0\n : currentFileViewerIndex + 1,\n );\n }\n\n return threadMessageKindKey && (\n <>\n {\n currentFileViewerIndex > -1 && (\n <FileViewer\n message={message}\n statefulFileInfoList={statefulFileInfoList}\n currentIndex={currentFileViewerIndex}\n onClickLeft={onClickLeft}\n onClickRight={onClickRight}\n onClose={onClose}\n />\n )\n }\n <ImageGrid\n className={className}\n message={message}\n isReactionEnabled={isReactionEnabled}\n >\n {\n statefulFileInfoList.map((fileInfo: StatefulFileInfo, index: number) => {\n const isGifValue = isGif(fileInfo.mimeType);\n return <div\n className='sendbird-multiple-files-image-renderer-wrapper'\n onClick={\n message.sendingStatus === SendingStatus.SUCCEEDED\n ? () => setCurrentFileViewerIndex(index)\n : undefined\n }\n key={`sendbird-multiple-files-image-renderer-${index}-${fileInfo.url}`}\n >\n <ImageRenderer\n url={fileInfo.url}\n fixedSize={false}\n width={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n maxSideLength={MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB}\n height={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n borderRadius={getBorderRadiusForMultipleImageRenderer(\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey],\n index,\n statefulFileInfoList.length,\n )}\n shadeOnHover={true}\n isUploaded={!!fileInfo.isUploaded}\n placeHolder={\n (style_: Record<string, any>) => (\n <div\n className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\"\n style={style_}\n >\n {\n isGifValue\n ? <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.THUMBNAIL_ICON}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n </div>\n : <Icon\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n )\n }\n defaultComponent={\n <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\">\n {\n <Icon\n type={IconTypes.THUMBNAIL_NONE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n }\n />\n </div>;\n })\n }\n </ImageGrid>\n </>\n );\n}\n","import { useMemo } from 'react';\nimport { ThreadMessageKind, ThreadMessageKindType } from '../../../../ui/MultipleFilesMessageItemBody';\nimport { match } from 'ts-pattern';\n\ninterface DynamicSideLengthProps {\n threadMessageKind?: ThreadMessageKindType;\n isMobile: boolean;\n}\n\nexport function useThreadMessageKindKeySelector({\n threadMessageKind,\n isMobile,\n}: DynamicSideLengthProps): string {\n const threadMessageKindKey = useMemo(() => {\n return match(threadMessageKind)\n .with(ThreadMessageKind.PARENT, () => (isMobile\n ? 'THREAD_PARENT_MOBILE'\n : 'THREAD_PARENT_WEB'\n ))\n .with(ThreadMessageKind.CHILD, () => (isMobile\n ? 'THREAD_CHILD_MOBILE'\n : 'THREAD_CHILD_WEB'\n ))\n .otherwise(() => (isMobile\n ? 'CHAT_MOBILE'\n : 'CHAT_WEB'\n ));\n }, [isMobile, threadMessageKind]);\n return threadMessageKindKey;\n}\n","import { MultipleFilesMessage, SendingStatus, UploadableFileInfo, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport type StatefulFileInfo = {\n fileName?: string,\n fileSize?: number,\n mimeType?: string,\n thumbnails?: Thumbnail[];\n url?: string,\n isUploaded?: boolean;\n};\n\nexport function createStatefulFileInfoList(message: MultipleFilesMessage, oldStatefulFileInfoList: StatefulFileInfo[]): StatefulFileInfo[] {\n if (!message) return null;\n\n // Handle sent messages.\n if (message.sendingStatus === SendingStatus.SUCCEEDED) {\n return message.fileInfoList.map((fileInfo: UploadedFileInfo) => {\n return {\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n thumbnails: fileInfo.thumbnails,\n url: fileInfo.url,\n isUploaded: true,\n };\n });\n }\n // Handle unsent message.\n if (!Array.isArray(message.messageParams?.fileInfoList)) return null;\n return message.messageParams.fileInfoList\n .map((fileInfo: UploadableFileInfo, index: number): StatefulFileInfo => ({\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n /**\n * Note here, we prioritize using fileUrl (implying uploaded state) over file.\n * This is necessary because cache loaded pending/failed mfms is mixed with\n * files (not yet uploaded ones) and fileUrls (uploaded).\n *\n * Notice that if file is used in the old state, it will not be replace with the new fileUrl\n * because doing so will rerender the ImageRenderer component which makes rendering process awkward and slow.\n * */\n url: oldStatefulFileInfoList[index]?.url ?? fileInfo.fileUrl ?? (\n fileInfo.file instanceof Blob\n ? URL.createObjectURL(fileInfo.file)\n : undefined\n ),\n /**\n * Side note: It was a bad design to not include this property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n isUploaded: !fileInfo.file && typeof fileInfo.fileUrl === 'string' && fileInfo.fileUrl.length > 0,\n }));\n}\n","import { useEffect, useState } from 'react';\nimport { MultipleFilesMessage, UploadableFileInfo } from '@sendbird/chat/message';\nimport { createStatefulFileInfoList, StatefulFileInfo } from '../../../../utils/createStatefulFileInfoList';\nimport { CoreMessageType, isMultipleFilesMessage } from '../../../../utils';\n\nexport const useStatefulFileInfoList = (message: CoreMessageType): StatefulFileInfo[] => {\n const [statefulFileInfoList, setStatefulFileInfoList] = useState<StatefulFileInfo[]>([]);\n\n useEffect(() => {\n if (isMultipleFilesMessage(message)) {\n const newStatefulFileInfoList: StatefulFileInfo[] = createStatefulFileInfoList(\n message as MultipleFilesMessage,\n statefulFileInfoList,\n );\n setStatefulFileInfoList(newStatefulFileInfoList);\n }\n }, [\n // Sent message dependency.\n (message as MultipleFilesMessage).fileInfoList?.length,\n // Unsent message dependency.\n /**\n * Side note: It was a bad design to not include 'isUploaded' property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n (message as MultipleFilesMessage).messageParams?.fileInfoList\n ?.map((fileInfo: UploadableFileInfo) => fileInfo.fileUrl).join(','),\n ]);\n return statefulFileInfoList;\n};\n"],"names":["ImageGrid","_a","children","className","message","isReactionEnabled","React","createElement","getClassName","_b","reactions","length","GRID_WIDTH_CHAT_WEB","GRID_SIDE_PADDING","GRID_GAP","TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","PROFILE_IMAGE_WIDTH","CHAT_MOBILE_SIDE_PADDING","THREAD_PARENT_WIDTH","THREAD_PARENT_SIDE_PADDING","THREAD_PARENT_GRID_MARGIN_LEFT","THREAD_CHILD_WIDTH","THREAD_CHILD_SIDE_PADDING","THREAD_CHILD_MOBILE_SIDE_PADDING","THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","MULTIPLE_FILES_IMAGE_SIDE_LENGTH","CHAT_WEB","concat","CHAT_MOBILE","THREAD_PARENT_WEB","THREAD_PARENT_MOBILE","THREAD_CHILD_WEB","THREAD_CHILD_MOBILE","MULTIPLE_FILES_IMAGE_BORDER_RADIUS","MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH","ThreadMessageKind","PARENT","CHILD","MultipleFilesMessageItemBody","threadMessageKindKey","_c","statefulFileInfoList","_d","useState","currentFileViewerIndex","setCurrentFileViewerIndex","onClose","onClickLeft","onClickRight","Fragment","FileViewer","currentIndex","map","fileInfo","index","isGifValue","isGif","mimeType","onClick","sendingStatus","SendingStatus","SUCCEEDED","undefined","key","url","ImageRenderer","fixedSize","width","maxSideLength","height","borderRadius","getBorderRadiusForMultipleImageRenderer","shadeOnHover","isUploaded","placeHolder","style_","style","Icon","type","IconTypes","GIF","fillColor","IconColors","THUMBNAIL_ICON","PHOTO","ON_BACKGROUND_2","defaultComponent","THUMBNAIL_NONE","useThreadMessageKindKeySelector","threadMessageKind","isMobile","useMemo","match","with","otherwise","createStatefulFileInfoList","oldStatefulFileInfoList","fileInfoList","fileName","fileSize","thumbnails","Array","isArray","messageParams","fileUrl","file","Blob","URL","createObjectURL","useStatefulFileInfoList","setStatefulFileInfoList","useEffect","isMultipleFilesMessage","newStatefulFileInfoList","join"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { d as isVoiceMessage$1 } from '../../index-fc1642cb.js';
2
- import '../../tslib.es6-0c779aab.js';
1
+ import { d as isVoiceMessage$1 } from '../../index-776554c0.js';
2
+ import '../../tslib.es6-c2fb729e.js';
3
3
  import './getOutgoingMessageState.js';
4
- import '../../index-c6095960.js';
4
+ import '../../index-09847c0f.js';
5
5
 
6
6
  var isVoiceMessage = isVoiceMessage$1;
7
7
 
@@ -28,4 +28,4 @@ var generateDefaultAvatar = function (channel) {
28
28
  };
29
29
 
30
30
  export { getChannelAvatarSource as a, getOpenChannelAvatar as b, generateDefaultAvatar as g };
31
- //# sourceMappingURL=utils-48a3ef27.js.map
31
+ //# sourceMappingURL=utils-2c1f072b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-48a3ef27.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","generateDefaultAvatar","concat"],"mappings":"AAGO,IAAMA,kBAAkB,GAAG,iDAAiD,CAAA;IAEtEC,oBAAoB,GAAG,UAACC,OAAoB,EAAA;AACvD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACxB,GAAA;AACH,EAAC;AAEM,IAAMC,sBAAsB,GAAG,UAACF,OAAqB,EAAEG,aAAqB,EAAA;AACjF,EAAA,IAAIH,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAC,WAAIN,kBAAkB,CAAE,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACxB,KAAA;AACF,GAAA;EACD,OAAO,CAAC,CAAAD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAC,UAACC,MAAM,EAAA;AAAK,IAAA,OAAAA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAA;AAA/B,GAA+B,CAAC,CACnDO,GAAG,CAAC,UAACC,EAAc,EAAA;AAAZ,IAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAA,CAAA;AAAO,IAAA,OAAAA,UAAU,CAAA;AAAV,GAAU,CAAC,CAAA;AACxC,EAAC;IAEYC,qBAAqB,GAAG,UAACb,OAAqB,EAAA;AACzD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAC,GAAA,CAAAU,MAAA,CAAIhB,kBAAkB,CAAE,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AACD,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"utils-2c1f072b.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nexport const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: OpenChannel): string => {\n if (channel?.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel?.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n return (channel?.members || [])\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl);\n};\n\nexport const generateDefaultAvatar = (channel: GroupChannel): boolean => {\n if (channel?.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","generateDefaultAvatar","concat"],"mappings":"AAGO,IAAMA,kBAAkB,GAAG,iDAAiD,CAAA;IAEtEC,oBAAoB,GAAG,UAACC,OAAoB,EAAA;AACvD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;IACrB,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACxB,GAAA;AACH,EAAC;AAEM,IAAMC,sBAAsB,GAAG,UAACF,OAAqB,EAAEG,aAAqB,EAAA;AACjF,EAAA,IAAIH,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,CAAE,IAAIG,MAAM,CAAC,WAAIN,kBAAkB,CAAE,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAE,EAAE;MAClE,OAAOD,OAAO,CAACC,QAAQ,CAAA;AACxB,KAAA;AACF,GAAA;EACD,OAAO,CAAC,CAAAD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAO,KAAI,EAAE,EAC3BC,MAAM,CAAC,UAACC,MAAM,EAAA;AAAK,IAAA,OAAAA,MAAM,CAACC,MAAM,KAAKN,aAAa,CAAA;AAA/B,GAA+B,CAAC,CACnDO,GAAG,CAAC,UAACC,EAAc,EAAA;AAAZ,IAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAA,CAAA;AAAO,IAAA,OAAAA,UAAU,CAAA;AAAV,GAAU,CAAC,CAAA;AACxC,EAAC;IAEYC,qBAAqB,GAAG,UAACb,OAAqB,EAAA;AACzD,EAAA,IAAIA,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEC,QAAQ,EAAE;AACrB,IAAA,IAAI,IAAIG,MAAM,CAAC,GAAA,CAAAU,MAAA,CAAIhB,kBAAkB,CAAE,CAAC,CAACO,IAAI,CAACL,OAAO,CAACC,QAAQ,CAAC,EAAE;AAC/D,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AACD,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -4,4 +4,4 @@ var isAboutSame = function (a, b, px) {
4
4
  };
5
5
 
6
6
  export { isAboutSame as i, noop as n };
7
- //# sourceMappingURL=utils-74c161a0.js.map
7
+ //# sourceMappingURL=utils-6c50a6d1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-74c161a0.js","sources":["../src/utils/utils.ts"],"sourcesContent":["import { SendableMessageType } from './index';\n\nexport const noop = () => { /** noop * */ };\nexport const getSenderProfileUrl = (message: SendableMessageType) => message.sender && message.sender.profileUrl;\nexport const getSenderName = (message: SendableMessageType) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\nexport const isAboutSame = (a: number, b: number, px: number) => Math.abs(a - b) <= px;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop","isAboutSame","a","b","px","Math","abs"],"mappings":"IAEaA,IAAI,GAAG,YAAA,GAAuB;AASpC,IAAMC,WAAW,GAAG,UAACC,CAAS,EAAEC,CAAS,EAAEC,EAAU,EAAK;EAAA,OAAAC,IAAI,CAACC,GAAG,CAACJ,CAAC,GAAGC,CAAC,CAAC,IAAIC,EAAE,CAAA;AAArB;;;;"}
1
+ {"version":3,"file":"utils-6c50a6d1.js","sources":["../src/utils/utils.ts"],"sourcesContent":["import { SendableMessageType } from './index';\n\nexport const noop = () => { /** noop * */ };\nexport const getSenderProfileUrl = (message: SendableMessageType) => message.sender && message.sender.profileUrl;\nexport const getSenderName = (message: SendableMessageType) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\nexport const isAboutSame = (a: number, b: number, px: number) => Math.abs(a - b) <= px;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop","isAboutSame","a","b","px","Math","abs"],"mappings":"IAEaA,IAAI,GAAG,YAAA,GAAuB;AASpC,IAAMC,WAAW,GAAG,UAACC,CAAS,EAAEC,CAAS,EAAEC,EAAU,EAAK;EAAA,OAAAC,IAAI,CAACC,GAAG,CAACJ,CAAC,GAAGC,CAAC,CAAC,IAAIC,EAAE,CAAA;AAArB;;;;"}
@@ -1,6 +1,6 @@
1
- import { c as __spreadArray } from './tslib.es6-0c779aab.js';
2
- import { f as format } from './index-c81fd6ec.js';
3
- import { e as isReadMessage } from './index-fc1642cb.js';
1
+ import { c as __spreadArray } from './tslib.es6-c2fb729e.js';
2
+ import { f as format } from './index-2d27aeef.js';
3
+ import { e as isReadMessage } from './index-776554c0.js';
4
4
  import { SendingStatus } from '@sendbird/chat/message';
5
5
 
6
6
  var scrollToRenderedMessage = function (scrollRef, initialTimeStamp, setIsScrolled) {
@@ -154,4 +154,4 @@ var isAboutSame = function (a, b, px) {
154
154
  };
155
155
 
156
156
  export { scrollToRenderedMessage as a, pxToNumber as b, getNicknamesMapFromMembers as c, isDisabledBecauseFrozen as d, isDisabledBecauseMuted as e, isOperator as f, getAllEmojisMapFromEmojiContainer as g, isSameGroup as h, isAboutSame as i, mergeAndSortMessages as m, passUnsuccessfullMessages as p, scrollIntoLast as s };
157
- //# sourceMappingURL=utils-40040f8e.js.map
157
+ //# sourceMappingURL=utils-aa4086dc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-40040f8e.js","sources":["../src/modules/Channel/context/utils.ts"],"sourcesContent":["import React from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { GroupChannel, Member } from '@sendbird/chat/groupChannel';\nimport format from 'date-fns/format';\n\nimport { CoreMessageType, isReadMessage, SendableMessageType } from '../../../utils';\nimport { BaseMessage, SendingStatus } from '@sendbird/chat/message';\n\nexport const scrollToRenderedMessage = (\n scrollRef: React.MutableRefObject<HTMLElement>,\n initialTimeStamp: number,\n setIsScrolled?: (val: boolean) => void,\n) => {\n try {\n const container = scrollRef.current;\n // scroll into the message with initialTimeStamp\n const element = container.querySelectorAll(`[data-sb-created-at=\"${initialTimeStamp}\"]`)?.[0];\n if (element instanceof HTMLElement) {\n // Calculate the offset of the element from the top of the container\n const containerHeight = container.offsetHeight;\n const elementHeight = element.offsetHeight;\n const elementOffset = (containerHeight - elementHeight) / 2;\n // Set the scroll position of the container to bring the element to the middle\n container.scrollTop = element.offsetTop - elementOffset;\n }\n } catch {\n // do nothing\n } finally {\n setIsScrolled?.(true);\n }\n};\n\n/* eslint-disable default-param-last */\nexport const scrollIntoLast = (\n initialTry = 0,\n scrollRef: React.MutableRefObject<HTMLElement>,\n setIsScrolled?: (val: boolean) => void,\n) => {\n const MAX_TRIES = 10;\n const currentTry = initialTry;\n if (currentTry > MAX_TRIES) {\n setIsScrolled?.(true);\n return;\n }\n try {\n const scrollDOM = scrollRef?.current || document.querySelector('.sendbird-conversation__messages-padding');\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n setIsScrolled?.(true);\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);\n }, 500 * currentTry);\n }\n};\n\nexport const isOperator = (groupChannel?: GroupChannel) => {\n const myRole = groupChannel?.myRole;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel?: GroupChannel) => {\n const isFrozen = groupChannel?.isFrozen;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel?: GroupChannel) => {\n const myMutedState = groupChannel?.myMutedState;\n return myMutedState === 'muted';\n};\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer: EmojiContainer) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members: Member[] = []) => {\n const nicknamesMap = new Map<string, string>();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nconst getUniqueListBy = <T>(arr: T[], key: keyof T): T[] => {\n const entries = arr.map((item) => [item[key], item] as [T[keyof T], T]);\n return Array.from(new Map(entries).values());\n};\nconst getUniqueListByMessageId = (arr: BaseMessage[]) => {\n return getUniqueListBy(arr, 'messageId');\n};\nconst sortByCreatedAt = (messages: BaseMessage[]) => {\n return messages.sort((a, b) => a.createdAt - b.createdAt);\n};\n\nexport const mergeAndSortMessages = (oldMessages: BaseMessage[], newMessages: BaseMessage[]) => {\n const lastOldMessage = oldMessages[oldMessages.length - 1];\n const firstNewMessage = newMessages[0];\n // If the last message of oldMessages is older than the first message of newMessages,\n // then we can safely append newMessages to oldMessages.\n if (lastOldMessage?.createdAt < firstNewMessage?.createdAt) {\n return [...oldMessages, ...newMessages];\n }\n\n // todo: optimize this\n // If the last message of oldMessages is newer than the first message of newMessages,\n // then we need to merge the two arrays and sort them by createdAt.\n const mergedMessages = [...oldMessages, ...newMessages];\n const unique = getUniqueListByMessageId(mergedMessages);\n return sortByCreatedAt(unique);\n};\n\nexport const getMessageCreatedAt = (message: BaseMessage) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (\n message: SendableMessageType | BaseMessage,\n comparingMessage: SendableMessageType | BaseMessage,\n currentChannel: GroupChannel,\n) => {\n if (\n !(\n message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && 'sender' in message\n && 'sender' in comparingMessage\n && message.createdAt\n && comparingMessage.createdAt\n && message.sender.userId\n && comparingMessage.sender.userId\n )\n ) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const passUnsuccessfullMessages = (\n allMessages: (CoreMessageType | SendableMessageType)[],\n newMessage: CoreMessageType | SendableMessageType,\n) => {\n if (\n 'sendingStatus' in newMessage\n && (newMessage.sendingStatus === SendingStatus.SUCCEEDED || newMessage.sendingStatus === SendingStatus.PENDING)\n ) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => {\n if ('sendingStatus' in message && message.sendingStatus) return message.sendingStatus;\n return message.isAdminMessage() ? SendingStatus.SUCCEEDED : null;\n })\n .lastIndexOf(SendingStatus.SUCCEEDED);\n\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [...allMessages, newMessage];\n};\n\nexport const pxToNumber = (px: string | number) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport const isAboutSame = (a: number, b: number, px: number) => {\n return Math.abs(a - b) <= px;\n};\n"],"names":["scrollToRenderedMessage","scrollRef","initialTimeStamp","setIsScrolled","container","current","element","_a","querySelectorAll","concat","HTMLElement","containerHeight","offsetHeight","elementHeight","elementOffset","scrollTop","offsetTop","_b","scrollIntoLast","initialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollHeight","error","setTimeout","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getAllEmojisMapFromEmojiContainer","emojiContainer","emojiCategories","allEmojisMap","Map","categoryIndex","length","emojis","emojiIndex","key","url","set","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getUniqueListBy","arr","entries","map","item","Array","from","values","getUniqueListByMessageId","sortByCreatedAt","messages","sort","a","b","createdAt","mergeAndSortMessages","oldMessages","newMessages","lastOldMessage","firstNewMessage","__spreadArray","mergedMessages","unique","getMessageCreatedAt","message","format","isSameGroup","comparingMessage","currentChannel","messageType","sender","sendingStatus","isReadMessage","passUnsuccessfullMessages","allMessages","newMessage","SendingStatus","SUCCEEDED","PENDING","lastIndexOfSucceededMessage","isAdminMessage","lastIndexOf","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","isAboutSame","Math","abs"],"mappings":"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"}
1
+ {"version":3,"file":"utils-aa4086dc.js","sources":["../src/modules/Channel/context/utils.ts"],"sourcesContent":["import React from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { GroupChannel, Member } from '@sendbird/chat/groupChannel';\nimport format from 'date-fns/format';\n\nimport { CoreMessageType, isReadMessage, SendableMessageType } from '../../../utils';\nimport { BaseMessage, SendingStatus } from '@sendbird/chat/message';\n\nexport const scrollToRenderedMessage = (\n scrollRef: React.MutableRefObject<HTMLElement>,\n initialTimeStamp: number,\n setIsScrolled?: (val: boolean) => void,\n) => {\n try {\n const container = scrollRef.current;\n // scroll into the message with initialTimeStamp\n const element = container.querySelectorAll(`[data-sb-created-at=\"${initialTimeStamp}\"]`)?.[0];\n if (element instanceof HTMLElement) {\n // Calculate the offset of the element from the top of the container\n const containerHeight = container.offsetHeight;\n const elementHeight = element.offsetHeight;\n const elementOffset = (containerHeight - elementHeight) / 2;\n // Set the scroll position of the container to bring the element to the middle\n container.scrollTop = element.offsetTop - elementOffset;\n }\n } catch {\n // do nothing\n } finally {\n setIsScrolled?.(true);\n }\n};\n\n/* eslint-disable default-param-last */\nexport const scrollIntoLast = (\n initialTry = 0,\n scrollRef: React.MutableRefObject<HTMLElement>,\n setIsScrolled?: (val: boolean) => void,\n) => {\n const MAX_TRIES = 10;\n const currentTry = initialTry;\n if (currentTry > MAX_TRIES) {\n setIsScrolled?.(true);\n return;\n }\n try {\n const scrollDOM = scrollRef?.current || document.querySelector('.sendbird-conversation__messages-padding');\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n setIsScrolled?.(true);\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);\n }, 500 * currentTry);\n }\n};\n\nexport const isOperator = (groupChannel?: GroupChannel) => {\n const myRole = groupChannel?.myRole;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel?: GroupChannel) => {\n const isFrozen = groupChannel?.isFrozen;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel?: GroupChannel) => {\n const myMutedState = groupChannel?.myMutedState;\n return myMutedState === 'muted';\n};\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer: EmojiContainer) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members: Member[] = []) => {\n const nicknamesMap = new Map<string, string>();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nconst getUniqueListBy = <T>(arr: T[], key: keyof T): T[] => {\n const entries = arr.map((item) => [item[key], item] as [T[keyof T], T]);\n return Array.from(new Map(entries).values());\n};\nconst getUniqueListByMessageId = (arr: BaseMessage[]) => {\n return getUniqueListBy(arr, 'messageId');\n};\nconst sortByCreatedAt = (messages: BaseMessage[]) => {\n return messages.sort((a, b) => a.createdAt - b.createdAt);\n};\n\nexport const mergeAndSortMessages = (oldMessages: BaseMessage[], newMessages: BaseMessage[]) => {\n const lastOldMessage = oldMessages[oldMessages.length - 1];\n const firstNewMessage = newMessages[0];\n // If the last message of oldMessages is older than the first message of newMessages,\n // then we can safely append newMessages to oldMessages.\n if (lastOldMessage?.createdAt < firstNewMessage?.createdAt) {\n return [...oldMessages, ...newMessages];\n }\n\n // todo: optimize this\n // If the last message of oldMessages is newer than the first message of newMessages,\n // then we need to merge the two arrays and sort them by createdAt.\n const mergedMessages = [...oldMessages, ...newMessages];\n const unique = getUniqueListByMessageId(mergedMessages);\n return sortByCreatedAt(unique);\n};\n\nexport const getMessageCreatedAt = (message: BaseMessage) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (\n message: SendableMessageType | BaseMessage,\n comparingMessage: SendableMessageType | BaseMessage,\n currentChannel: GroupChannel,\n) => {\n if (\n !(\n message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && 'sender' in message\n && 'sender' in comparingMessage\n && message.createdAt\n && comparingMessage.createdAt\n && message.sender.userId\n && comparingMessage.sender.userId\n )\n ) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const passUnsuccessfullMessages = (\n allMessages: (CoreMessageType | SendableMessageType)[],\n newMessage: CoreMessageType | SendableMessageType,\n) => {\n if (\n 'sendingStatus' in newMessage\n && (newMessage.sendingStatus === SendingStatus.SUCCEEDED || newMessage.sendingStatus === SendingStatus.PENDING)\n ) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => {\n if ('sendingStatus' in message && message.sendingStatus) return message.sendingStatus;\n return message.isAdminMessage() ? SendingStatus.SUCCEEDED : null;\n })\n .lastIndexOf(SendingStatus.SUCCEEDED);\n\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [...allMessages, newMessage];\n};\n\nexport const pxToNumber = (px: string | number) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport const isAboutSame = (a: number, b: number, px: number) => {\n return Math.abs(a - b) <= px;\n};\n"],"names":["scrollToRenderedMessage","scrollRef","initialTimeStamp","setIsScrolled","container","current","element","_a","querySelectorAll","concat","HTMLElement","containerHeight","offsetHeight","elementHeight","elementOffset","scrollTop","offsetTop","_b","scrollIntoLast","initialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollHeight","error","setTimeout","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getAllEmojisMapFromEmojiContainer","emojiContainer","emojiCategories","allEmojisMap","Map","categoryIndex","length","emojis","emojiIndex","key","url","set","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getUniqueListBy","arr","entries","map","item","Array","from","values","getUniqueListByMessageId","sortByCreatedAt","messages","sort","a","b","createdAt","mergeAndSortMessages","oldMessages","newMessages","lastOldMessage","firstNewMessage","__spreadArray","mergedMessages","unique","getMessageCreatedAt","message","format","isSameGroup","comparingMessage","currentChannel","messageType","sender","sendingStatus","isReadMessage","passUnsuccessfullMessages","allMessages","newMessage","SendingStatus","SUCCEEDED","PENDING","lastIndexOfSucceededMessage","isAdminMessage","lastIndexOf","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","isAboutSame","Math","abs"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { r as isFileMessage, c as isMultipleFilesMessage } from './index-fc1642cb.js';
2
- import { K } from './index-c6095960.js';
1
+ import { r as isFileMessage, c as isMultipleFilesMessage } from './index-776554c0.js';
2
+ import { K } from './index-09847c0f.js';
3
3
 
4
4
  function getMessageFirstFileType(message) {
5
5
  return K(message).when(isFileMessage, function () {
@@ -54,4 +54,4 @@ function getMessageFirstFileThumbnailUrl(message) {
54
54
  }
55
55
 
56
56
  export { getMessageFirstFileName as a, getMessageFirstFileThumbnailUrl as b, getMessageFirstFileType as c, getMessageFirstFileUrl as g };
57
- //# sourceMappingURL=utils-e98a7f8c.js.map
57
+ //# sourceMappingURL=utils-bfc0ab3b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-e98a7f8c.js","sources":["../src/ui/QuoteMessage/utils.ts"],"sourcesContent":["import { CoreMessageType, isFileMessage, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport function getMessageFirstFileType(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.type ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.mimeType ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nfunction getFirstFileInfo(message: MultipleFilesMessage): UploadedFileInfo | null {\n const fileInfoList: UploadedFileInfo[] = message.fileInfoList;\n return fileInfoList.length > 0 ? fileInfoList[0] : null;\n}\n\nexport function getMessageFirstFileName(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.name ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.fileName ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileUrl(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.url ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.url ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileThumbnails(message: CoreMessageType): Thumbnail[] {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage).thumbnails;\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.thumbnails ?? [];\n })\n .otherwise(() => {\n return [];\n });\n}\n\nexport function getMessageFirstFileThumbnailUrl(message: CoreMessageType): string {\n const thumbnails: Thumbnail[] = getMessageFirstFileThumbnails(message);\n return (thumbnails && thumbnails.length > 0) ? thumbnails[0].url : '';\n}\n"],"names":["getMessageFirstFileType","message","match","when","isFileMessage","_a","type","isMultipleFilesMessage","_b","getFirstFileInfo","mimeType","otherwise","fileInfoList","length","getMessageFirstFileName","name","fileName","getMessageFirstFileUrl","url","getMessageFirstFileThumbnails","thumbnails","getMessageFirstFileThumbnailUrl"],"mappings":"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"}
1
+ {"version":3,"file":"utils-bfc0ab3b.js","sources":["../src/ui/QuoteMessage/utils.ts"],"sourcesContent":["import { CoreMessageType, isFileMessage, isMultipleFilesMessage } from '../../utils';\nimport { match } from 'ts-pattern';\nimport { FileMessage, MultipleFilesMessage, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport function getMessageFirstFileType(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.type ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.mimeType ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nfunction getFirstFileInfo(message: MultipleFilesMessage): UploadedFileInfo | null {\n const fileInfoList: UploadedFileInfo[] = message.fileInfoList;\n return fileInfoList.length > 0 ? fileInfoList[0] : null;\n}\n\nexport function getMessageFirstFileName(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.name ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.fileName ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileUrl(message: CoreMessageType): string {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage)?.url ?? '';\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.url ?? '';\n })\n .otherwise(() => {\n return '';\n });\n}\n\nexport function getMessageFirstFileThumbnails(message: CoreMessageType): Thumbnail[] {\n return match(message)\n .when(isFileMessage, () => {\n return (message as FileMessage).thumbnails;\n })\n .when(isMultipleFilesMessage, () => {\n return getFirstFileInfo(message as MultipleFilesMessage)?.thumbnails ?? [];\n })\n .otherwise(() => {\n return [];\n });\n}\n\nexport function getMessageFirstFileThumbnailUrl(message: CoreMessageType): string {\n const thumbnails: Thumbnail[] = getMessageFirstFileThumbnails(message);\n return (thumbnails && thumbnails.length > 0) ? thumbnails[0].url : '';\n}\n"],"names":["getMessageFirstFileType","message","match","when","isFileMessage","_a","type","isMultipleFilesMessage","_b","getFirstFileInfo","mimeType","otherwise","fileInfoList","length","getMessageFirstFileName","name","fileName","getMessageFirstFileUrl","url","getMessageFirstFileThumbnails","thumbnails","getMessageFirstFileThumbnailUrl"],"mappings":"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"}
@@ -23,4 +23,4 @@ var copyToClipboard = function (text) {
23
23
  };
24
24
 
25
25
  export { copyToClipboard as c };
26
- //# sourceMappingURL=utils-158c1683.js.map
26
+ //# sourceMappingURL=utils-fa321757.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-158c1683.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"IAAaA,eAAe,GAAG,UAACC,IAAY,EAAA;AAC1C;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AAClD,GAAA;EACD,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACb,KAAA,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AACD,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"utils-fa321757.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"IAAaA,eAAe,GAAG,UAACC,IAAY,EAAA;AAC1C;EACA,IAAIC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACC,aAAa,CAACC,OAAO,EAAE;AACxD;AACA;IACA,OAAOF,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,MAAM,EAAEH,IAAI,CAAC,CAAA;AAClD,GAAA;EACD,IAAII,QAAQ,CAACC,qBAAqB,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC,EAAE;AAC5E,IAAA,IAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAa,CAAC,UAAU,CAAC,CAAA;IACnDD,QAAQ,CAACE,WAAW,GAAGR,IAAI,CAAA;AAC3BM,IAAAA,QAAQ,CAACG,KAAK,CAACC,QAAQ,GAAG,OAAO,CAAC;AAClCN,IAAAA,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACN,QAAQ,CAAC,CAAA;IACnCA,QAAQ,CAACO,MAAM,EAAE,CAAA;IACjB,IAAI;AACF,MAAA,OAAOT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC,OAAOC,EAAE,EAAE;AACX,MAAA,OAAO,KAAK,CAAA;AACb,KAAA,SAAS;AACRX,MAAAA,QAAQ,CAACO,IAAI,CAACK,WAAW,CAACV,QAAQ,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AACD,EAAA,OAAO,KAAK,CAAA;AACd;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as LabelStringSet } from './index-12103973.js';
1
+ import { c as LabelStringSet } from './index-92741c7e.js';
2
2
 
3
3
  var getChannelTitle = function (channel, currentUserId, stringSet) {
4
4
  var _a;
@@ -22,4 +22,4 @@ var getChannelTitle = function (channel, currentUserId, stringSet) {
22
22
  };
23
23
 
24
24
  export { getChannelTitle as g };
25
- //# sourceMappingURL=utils-3660243c.js.map
25
+ //# sourceMappingURL=utils-fc1f5aa0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-3660243c.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","_a","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join"],"mappings":";;AAGO,IAAMA,eAAe,GAAG,UAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,EAAA;;AAEtC,EAAA,IAAMC,gBAAgB,GAAgCD,SAAS,IAAIE,cAAc,CAAA;AACjF,EAAA,IAAI,EAACJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEK,IAAI,CAAA,IAAI,EAACL,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,CAAA,EAAE;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AACjC,GAAA;EACD,IAAI,CAAAP,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEK,IAAI,KAAIL,OAAO,CAACK,IAAI,KAAK,eAAe,EAAE;IACrD,OAAOL,OAAO,CAACK,IAAI,CAAA;AACpB,GAAA;AAED,EAAA,IAAI,CAAA,CAAAG,EAAA,GAAAR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEM,OAAO,MAAA,IAAA,IAAAE,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEC,MAAM,MAAK,CAAC,EAAE;IAClC,OAAON,gBAAgB,CAACO,UAAU,CAAA;AACnC,GAAA;EAED,OAAOV,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAO,CACpBK,MAAM,CAAC,UAACH,EAAU,EAAA;AAAR,IAAA,IAAAI,MAAM,GAAAJ,EAAA,CAAAI,MAAA,CAAA;IAAO,OAAAA,MAAM,KAAKX,aAAa,CAAA;AAAxB,GAAwB,CAC/C,CAAAY,GAAG,CAAC,UAACL,EAAY,EAAA;AAAV,IAAA,IAAAM,QAAQ,GAAAN,EAAA,CAAAM,QAAA,CAAA;AAAO,IAAA,OAACA,QAAQ,IAAIX,gBAAgB,CAACY,OAAO,CAAA;AAArC,GAAsC,CAC5D,CAAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
1
+ {"version":3,"file":"utils-fc1f5aa0.js","sources":["../src/modules/Channel/components/ChannelHeader/utils.ts"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (\n channel: GroupChannel,\n currentUserId: string,\n stringSet: { [label: string]: string },\n): string => {\n const LABEL_STRING_SET: { [label: string]: string } = stringSet || LabelStringSet;\n if (!channel?.name && !channel?.members) {\n return LABEL_STRING_SET.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel?.members?.length === 1) {\n return LABEL_STRING_SET.NO_MEMBERS;\n }\n\n return channel?.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || LABEL_STRING_SET.NO_NAME))\n .join(', ');\n};\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LABEL_STRING_SET","LabelStringSet","name","members","NO_TITLE","_a","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join"],"mappings":";;AAGO,IAAMA,eAAe,GAAG,UAC7BC,OAAqB,EACrBC,aAAqB,EACrBC,SAAsC,EAAA;;AAEtC,EAAA,IAAMC,gBAAgB,GAAgCD,SAAS,IAAIE,cAAc,CAAA;AACjF,EAAA,IAAI,EAACJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEK,IAAI,CAAA,IAAI,EAACL,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,CAAA,EAAE;IACvC,OAAOH,gBAAgB,CAACI,QAAQ,CAAA;AACjC,GAAA;EACD,IAAI,CAAAP,OAAO,KAAP,IAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEK,IAAI,KAAIL,OAAO,CAACK,IAAI,KAAK,eAAe,EAAE;IACrD,OAAOL,OAAO,CAACK,IAAI,CAAA;AACpB,GAAA;AAED,EAAA,IAAI,CAAA,CAAAG,EAAA,GAAAR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEM,OAAO,MAAA,IAAA,IAAAE,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAEC,MAAM,MAAK,CAAC,EAAE;IAClC,OAAON,gBAAgB,CAACO,UAAU,CAAA;AACnC,GAAA;EAED,OAAOV,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEM,OAAO,CACpBK,MAAM,CAAC,UAACH,EAAU,EAAA;AAAR,IAAA,IAAAI,MAAM,GAAAJ,EAAA,CAAAI,MAAA,CAAA;IAAO,OAAAA,MAAM,KAAKX,aAAa,CAAA;AAAxB,GAAwB,CAC/C,CAAAY,GAAG,CAAC,UAACL,EAAY,EAAA;AAAV,IAAA,IAAAM,QAAQ,GAAAN,EAAA,CAAAM,QAAA,CAAA;AAAO,IAAA,OAACA,QAAQ,IAAIX,gBAAgB,CAACY,OAAO,CAAA;AAArC,GAAsC,CAC5D,CAAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf;;;;"}
@@ -12,4 +12,4 @@ var uuidv4 = function () {
12
12
  };
13
13
 
14
14
  export { uuidv4 as u };
15
- //# sourceMappingURL=uuid-3c77ef7b.js.map
15
+ //# sourceMappingURL=uuid-c15b8b3b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid-3c77ef7b.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,IAAAA,MAAM,GAAG,YAAc;EAAA,OAAA,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAE,UAACC,CAAC,EAAA;IAC5F,IAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,IAAA,IAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,IAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,GAAC,CAAC,CAAA;AAJkC;;;;"}
1
+ {"version":3,"file":"uuid-c15b8b3b.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACaA,IAAAA,MAAM,GAAG,YAAc;EAAA,OAAA,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAE,UAACC,CAAC,EAAA;IAC5F,IAAMC,CAAC,GAAGC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,IAAA,IAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAG,GAAI,CAAA;AACzC,IAAA,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACvB,GAAC,CAAC,CAAA;AAJkC;;;;"}
package/withSendbird.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as __assign } from './tslib.es6-0c779aab.js';
1
+ import { _ as __assign } from './tslib.es6-c2fb729e.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  var SendbirdSdkContext = /*#__PURE__*/React__default.createContext(null);