@sendbird/uikit-react 3.5.0-rc.1 → 3.5.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 (936) hide show
  1. package/App.js +312 -235
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +544 -0
  4. package/Channel/components/ChannelHeader.js +46 -41
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +104 -131
  7. package/Channel/components/ChannelUI.js.map +1 -1
  8. package/Channel/components/FileViewer.js +56 -52
  9. package/Channel/components/FileViewer.js.map +1 -1
  10. package/Channel/components/FrozenNotification.js +12 -7
  11. package/Channel/components/FrozenNotification.js.map +1 -1
  12. package/Channel/components/Message.js +240 -230
  13. package/Channel/components/Message.js.map +1 -1
  14. package/Channel/components/MessageInput.js +152 -129
  15. package/Channel/components/MessageInput.js.map +1 -1
  16. package/Channel/components/MessageList.js +260 -175
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +34 -30
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +139 -193
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +44 -61
  23. package/Channel/components/TypingIndicator.js.map +1 -1
  24. package/Channel/components/UnreadCount.js +18 -20
  25. package/Channel/components/UnreadCount.js.map +1 -1
  26. package/Channel/context.js +12 -19
  27. package/Channel/context.js.map +1 -1
  28. package/Channel.js +69 -44
  29. package/Channel.js.map +1 -1
  30. package/ChannelList/components/AddChannel.js +29 -30
  31. package/ChannelList/components/AddChannel.js.map +1 -1
  32. package/ChannelList/components/ChannelListHeader.js +32 -28
  33. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  34. package/ChannelList/components/ChannelListUI.js +101 -142
  35. package/ChannelList/components/ChannelListUI.js.map +1 -1
  36. package/ChannelList/components/ChannelPreview.js +72 -82
  37. package/ChannelList/components/ChannelPreview.js.map +1 -1
  38. package/ChannelList/components/ChannelPreviewAction.js +36 -36
  39. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  40. package/ChannelList/context.js +7 -8
  41. package/ChannelList/context.js.map +1 -1
  42. package/ChannelList.js +32 -31
  43. package/ChannelList.js.map +1 -1
  44. package/{ChannelListProvider-1d36e2e9.js → ChannelListProvider-4cf5c0f5.js} +233 -285
  45. package/ChannelListProvider-4cf5c0f5.js.map +1 -0
  46. package/{ChannelProvider-289cd35f.js → ChannelProvider-6e8e99df.js} +659 -726
  47. package/ChannelProvider-6e8e99df.js.map +1 -0
  48. package/ChannelSettings/components/ChannelProfile.js +33 -46
  49. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  50. package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  51. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  52. package/ChannelSettings/components/EditDetailsModal.js +47 -58
  53. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  54. package/ChannelSettings/components/LeaveChannel.js +40 -46
  55. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  56. package/ChannelSettings/components/ModerationPanel.js +522 -605
  57. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  58. package/ChannelSettings/components/UserListItem.js +71 -72
  59. package/ChannelSettings/components/UserListItem.js.map +1 -1
  60. package/ChannelSettings/components/UserPanel.js +29 -32
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +53 -57
  63. package/ChannelSettings/context.js.map +1 -1
  64. package/ChannelSettings.js +20 -20
  65. package/ChannelSettings.js.map +1 -1
  66. package/CreateChannel/components/CreateChannelUI.js +24 -24
  67. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  68. package/CreateChannel/components/InviteUsers.js +102 -124
  69. package/CreateChannel/components/InviteUsers.js.map +1 -1
  70. package/CreateChannel/components/SelectChannelType.js +41 -42
  71. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  72. package/CreateChannel/context.js +4 -4
  73. package/CreateChannel.js +22 -21
  74. package/CreateChannel.js.map +1 -1
  75. package/CreateChannelProvider-34603fa5.js +44 -0
  76. package/CreateChannelProvider-34603fa5.js.map +1 -0
  77. package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  78. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  79. package/CreateOpenChannel/context.js +33 -33
  80. package/CreateOpenChannel/context.js.map +1 -1
  81. package/CreateOpenChannel.js +18 -17
  82. package/CreateOpenChannel.js.map +1 -1
  83. package/EditUserProfile/components/EditUserProfileUI.js +12 -13
  84. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  85. package/EditUserProfile/context.js +0 -2
  86. package/EditUserProfile/context.js.map +1 -1
  87. package/EditUserProfile.js +18 -17
  88. package/EditUserProfile.js.map +1 -1
  89. package/LocalizationContext-04c0c9dc.js +20 -0
  90. package/{LocalizationContext-289c1917.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
  91. package/MediaQueryContext-ff9dca2b.js +87 -0
  92. package/MediaQueryContext-ff9dca2b.js.map +1 -0
  93. package/MemberList-9bf26111.js +403 -0
  94. package/MemberList-9bf26111.js.map +1 -0
  95. package/Message/context.js +31 -0
  96. package/Message/context.js.map +1 -0
  97. package/MessageSearch/components/MessageSearchUI.js +62 -71
  98. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  99. package/MessageSearch/context.js +201 -224
  100. package/MessageSearch/context.js.map +1 -1
  101. package/MessageSearch.js +46 -58
  102. package/MessageSearch.js.map +1 -1
  103. package/OpenChannel/components/FrozenChannelNotification.js +8 -6
  104. package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  105. package/OpenChannel/components/OpenChannelHeader.js +27 -25
  106. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  107. package/OpenChannel/components/OpenChannelInput.js +50 -35
  108. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  109. package/OpenChannel/components/OpenChannelMessage.js +174 -191
  110. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  111. package/OpenChannel/components/OpenChannelMessageList.js +72 -92
  112. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  113. package/OpenChannel/components/OpenChannelUI.js +52 -49
  114. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  115. package/OpenChannel/context.js +8 -9
  116. package/OpenChannel/context.js.map +1 -1
  117. package/OpenChannel.js +36 -30
  118. package/OpenChannel.js.map +1 -1
  119. package/OpenChannelList/components/OpenChannelListUI.js +61 -76
  120. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  121. package/OpenChannelList/components/OpenChannelPreview.js +21 -22
  122. package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  123. package/OpenChannelList/context.js +3 -4
  124. package/OpenChannelList/context.js.map +1 -1
  125. package/OpenChannelList.js +26 -24
  126. package/OpenChannelList.js.map +1 -1
  127. package/OpenChannelListProvider-d7372692.js +429 -0
  128. package/OpenChannelListProvider-d7372692.js.map +1 -0
  129. package/OpenChannelProvider-24cd68b9.js +1885 -0
  130. package/OpenChannelProvider-24cd68b9.js.map +1 -0
  131. package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  132. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  133. package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  134. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  135. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  136. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  137. package/OpenChannelSettings/components/OperatorUI.js +516 -586
  138. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  139. package/OpenChannelSettings/components/ParticipantUI.js +15 -16
  140. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  141. package/OpenChannelSettings/context.js +56 -69
  142. package/OpenChannelSettings/context.js.map +1 -1
  143. package/OpenChannelSettings.js +19 -20
  144. package/OpenChannelSettings.js.map +1 -1
  145. package/README.md +62 -13
  146. package/RemoveMessageModal-94e2bf9e.js +36 -0
  147. package/RemoveMessageModal-94e2bf9e.js.map +1 -0
  148. package/SendbirdProvider.js +749 -408
  149. package/SendbirdProvider.js.map +1 -1
  150. package/Thread/components/ParentMessageInfo.js +238 -217
  151. package/Thread/components/ParentMessageInfo.js.map +1 -1
  152. package/Thread/components/ParentMessageInfoItem.js +112 -89
  153. package/Thread/components/ParentMessageInfoItem.js.map +1 -1
  154. package/Thread/components/ThreadHeader.js +22 -23
  155. package/Thread/components/ThreadHeader.js.map +1 -1
  156. package/Thread/components/ThreadList.js +108 -83
  157. package/Thread/components/ThreadList.js.map +1 -1
  158. package/Thread/components/ThreadListItem.js +306 -276
  159. package/Thread/components/ThreadListItem.js.map +1 -1
  160. package/Thread/components/ThreadMessageInput.js +146 -113
  161. package/Thread/components/ThreadMessageInput.js.map +1 -1
  162. package/Thread/components/ThreadUI.js +169 -138
  163. package/Thread/components/ThreadUI.js.map +1 -1
  164. package/Thread/context/types.js +9 -14
  165. package/Thread/context/types.js.map +1 -1
  166. package/Thread/context.js +8 -8
  167. package/Thread.js +87 -57
  168. package/Thread.js.map +1 -1
  169. package/ThreadProvider-203b94f3.js +1695 -0
  170. package/ThreadProvider-203b94f3.js.map +1 -0
  171. package/{UserProfileContext-e3530842.js → UserProfileContext-c776d522.js} +1 -4
  172. package/{UserProfileContext-e3530842.js.map → UserProfileContext-c776d522.js.map} +1 -1
  173. package/VoiceMessageInputWrapper-77d8f487.js +170 -0
  174. package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
  175. package/VoicePlayer/context.js +7 -0
  176. package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  177. package/VoicePlayer/useVoicePlayer.js +84 -0
  178. package/VoicePlayer/useVoicePlayer.js.map +1 -0
  179. package/VoiceRecorder/context.js +156 -0
  180. package/VoiceRecorder/context.js.map +1 -0
  181. package/VoiceRecorder/useVoiceRecorder.js +121 -0
  182. package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  183. package/WebAudioUtils-62e6d3a7.js +123 -0
  184. package/WebAudioUtils-62e6d3a7.js.map +1 -0
  185. package/{_rollupPluginBabelHelpers-519f674b.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
  186. package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
  187. package/actionTypes-1db5749d.js +8 -0
  188. package/actionTypes-1db5749d.js.map +1 -0
  189. package/cjs/App.js +312 -235
  190. package/cjs/App.js.map +1 -1
  191. package/cjs/Channel/components/ChannelHeader.js +46 -41
  192. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  193. package/cjs/Channel/components/ChannelUI.js +102 -129
  194. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  195. package/cjs/Channel/components/FileViewer.js +56 -52
  196. package/cjs/Channel/components/FileViewer.js.map +1 -1
  197. package/cjs/Channel/components/FrozenNotification.js +12 -7
  198. package/cjs/Channel/components/FrozenNotification.js.map +1 -1
  199. package/cjs/Channel/components/Message.js +243 -233
  200. package/cjs/Channel/components/Message.js.map +1 -1
  201. package/cjs/Channel/components/MessageInput.js +151 -128
  202. package/cjs/Channel/components/MessageInput.js.map +1 -1
  203. package/cjs/Channel/components/MessageList.js +260 -175
  204. package/cjs/Channel/components/MessageList.js.map +1 -1
  205. package/cjs/Channel/components/RemoveMessageModal.js +34 -30
  206. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  207. package/cjs/Channel/components/SuggestedMentionList.js +139 -193
  208. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  209. package/cjs/Channel/components/TypingIndicator.js +44 -61
  210. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  211. package/cjs/Channel/components/UnreadCount.js +18 -20
  212. package/cjs/Channel/components/UnreadCount.js.map +1 -1
  213. package/cjs/Channel/context.js +12 -23
  214. package/cjs/Channel/context.js.map +1 -1
  215. package/cjs/Channel.js +69 -44
  216. package/cjs/Channel.js.map +1 -1
  217. package/cjs/ChannelList/components/AddChannel.js +29 -30
  218. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  219. package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
  220. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  221. package/cjs/ChannelList/components/ChannelListUI.js +100 -141
  222. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  223. package/cjs/ChannelList/components/ChannelPreview.js +72 -82
  224. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  225. package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
  226. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  227. package/cjs/ChannelList/context.js +7 -8
  228. package/cjs/ChannelList/context.js.map +1 -1
  229. package/cjs/ChannelList.js +32 -31
  230. package/cjs/ChannelList.js.map +1 -1
  231. package/cjs/{ChannelListProvider-0de52d2b.js → ChannelListProvider-e0ce316a.js} +232 -284
  232. package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
  233. package/cjs/{ChannelProvider-fc58e60e.js → ChannelProvider-0df75472.js} +657 -724
  234. package/cjs/ChannelProvider-0df75472.js.map +1 -0
  235. package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
  236. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  237. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
  238. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  239. package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
  240. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  241. package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
  242. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  243. package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
  244. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  245. package/cjs/ChannelSettings/components/UserListItem.js +71 -72
  246. package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
  247. package/cjs/ChannelSettings/components/UserPanel.js +29 -32
  248. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  249. package/cjs/ChannelSettings/context.js +55 -59
  250. package/cjs/ChannelSettings/context.js.map +1 -1
  251. package/cjs/ChannelSettings.js +20 -20
  252. package/cjs/ChannelSettings.js.map +1 -1
  253. package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
  254. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  255. package/cjs/CreateChannel/components/InviteUsers.js +102 -124
  256. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  257. package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
  258. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  259. package/cjs/CreateChannel/context.js +4 -4
  260. package/cjs/CreateChannel.js +22 -21
  261. package/cjs/CreateChannel.js.map +1 -1
  262. package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
  263. package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
  264. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
  265. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  266. package/cjs/CreateOpenChannel/context.js +33 -33
  267. package/cjs/CreateOpenChannel/context.js.map +1 -1
  268. package/cjs/CreateOpenChannel.js +18 -17
  269. package/cjs/CreateOpenChannel.js.map +1 -1
  270. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
  271. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  272. package/cjs/EditUserProfile/context.js +0 -2
  273. package/cjs/EditUserProfile/context.js.map +1 -1
  274. package/cjs/EditUserProfile.js +18 -17
  275. package/cjs/EditUserProfile.js.map +1 -1
  276. package/cjs/{LocalizationContext-bddc5c2b.js → LocalizationContext-0e429c3d.js} +9 -11
  277. package/cjs/{LocalizationContext-bddc5c2b.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
  278. package/cjs/MediaQueryContext-33fc3b17.js +94 -0
  279. package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
  280. package/cjs/MemberList-a45a51c4.js +409 -0
  281. package/cjs/MemberList-a45a51c4.js.map +1 -0
  282. package/cjs/Message/context.js +40 -0
  283. package/cjs/Message/context.js.map +1 -0
  284. package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
  285. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  286. package/cjs/MessageSearch/context.js +201 -224
  287. package/cjs/MessageSearch/context.js.map +1 -1
  288. package/cjs/MessageSearch.js +46 -58
  289. package/cjs/MessageSearch.js.map +1 -1
  290. package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
  291. package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
  292. package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
  293. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  294. package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
  295. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  296. package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
  297. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  298. package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
  299. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  300. package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
  301. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  302. package/cjs/OpenChannel/context.js +8 -9
  303. package/cjs/OpenChannel/context.js.map +1 -1
  304. package/cjs/OpenChannel.js +36 -30
  305. package/cjs/OpenChannel.js.map +1 -1
  306. package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
  307. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  308. package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
  309. package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
  310. package/cjs/OpenChannelList/context.js +3 -4
  311. package/cjs/OpenChannelList/context.js.map +1 -1
  312. package/cjs/OpenChannelList.js +26 -24
  313. package/cjs/OpenChannelList.js.map +1 -1
  314. package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
  315. package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
  316. package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
  317. package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
  318. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
  319. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  320. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
  321. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  322. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
  323. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  324. package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
  325. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  326. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
  327. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  328. package/cjs/OpenChannelSettings/context.js +57 -70
  329. package/cjs/OpenChannelSettings/context.js.map +1 -1
  330. package/cjs/OpenChannelSettings.js +19 -20
  331. package/cjs/OpenChannelSettings.js.map +1 -1
  332. package/cjs/{RemoveMessageModal-9169766a.js → RemoveMessageModal-5903f232.js} +19 -14
  333. package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
  334. package/cjs/SendbirdProvider.js +748 -408
  335. package/cjs/SendbirdProvider.js.map +1 -1
  336. package/cjs/Thread/components/ParentMessageInfo.js +237 -216
  337. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  338. package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
  339. package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
  340. package/cjs/Thread/components/ThreadHeader.js +22 -23
  341. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  342. package/cjs/Thread/components/ThreadList.js +108 -83
  343. package/cjs/Thread/components/ThreadList.js.map +1 -1
  344. package/cjs/Thread/components/ThreadListItem.js +305 -275
  345. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  346. package/cjs/Thread/components/ThreadMessageInput.js +146 -113
  347. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  348. package/cjs/Thread/components/ThreadUI.js +170 -139
  349. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  350. package/cjs/Thread/context/types.js +13 -14
  351. package/cjs/Thread/context/types.js.map +1 -1
  352. package/cjs/Thread/context.js +8 -8
  353. package/cjs/Thread.js +87 -57
  354. package/cjs/Thread.js.map +1 -1
  355. package/cjs/ThreadProvider-8ee179c2.js +1704 -0
  356. package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
  357. package/cjs/{UserProfileContext-8d0dee57.js → UserProfileContext-87580795.js} +1 -4
  358. package/cjs/{UserProfileContext-8d0dee57.js.map → UserProfileContext-87580795.js.map} +1 -1
  359. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
  360. package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
  361. package/cjs/VoicePlayer/context.js +17 -0
  362. package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
  363. package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
  364. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
  365. package/cjs/VoiceRecorder/context.js +166 -0
  366. package/cjs/VoiceRecorder/context.js.map +1 -0
  367. package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
  368. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
  369. package/cjs/WebAudioUtils-e226789c.js +126 -0
  370. package/cjs/WebAudioUtils-e226789c.js.map +1 -0
  371. package/cjs/{_rollupPluginBabelHelpers-fed1e122.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
  372. package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
  373. package/cjs/actionTypes-0fa2943d.js +10 -0
  374. package/cjs/actionTypes-0fa2943d.js.map +1 -0
  375. package/cjs/{color-f47044b3.js → color-bada0fc7.js} +13 -21
  376. package/cjs/color-bada0fc7.js.map +1 -0
  377. package/cjs/{compareIds-4124b297.js → compareIds-ccccfe86.js} +5 -6
  378. package/cjs/compareIds-ccccfe86.js.map +1 -0
  379. package/cjs/const-a85f3364.js +20 -0
  380. package/cjs/const-a85f3364.js.map +1 -0
  381. package/cjs/{const-fd64914b.js → const-d8cece19.js} +4 -4
  382. package/cjs/const-d8cece19.js.map +1 -0
  383. package/cjs/consts-1c3020ad.js +6 -0
  384. package/cjs/consts-1c3020ad.js.map +1 -0
  385. package/cjs/consts-1d94dc61.js +6 -0
  386. package/cjs/consts-1d94dc61.js.map +1 -0
  387. package/cjs/consts-5e0f96b3.js +41 -0
  388. package/cjs/consts-5e0f96b3.js.map +1 -0
  389. package/cjs/consts-740f60b8.js +6 -0
  390. package/cjs/consts-740f60b8.js.map +1 -0
  391. package/cjs/{context-7a0e057b.js → context-8e7e8457.js} +6 -5
  392. package/cjs/{context-7a0e057b.js.map → context-8e7e8457.js.map} +1 -1
  393. package/cjs/dist/index.css +1640 -1187
  394. package/cjs/dist/index.css.map +1 -1
  395. package/cjs/handlers/OpenChannelHandler.js.map +1 -1
  396. package/cjs/handlers/SessionHandler.js.map +1 -1
  397. package/cjs/{index-d14a43c4.js → index-016f7106.js} +1 -1
  398. package/cjs/{index-d14a43c4.js.map → index-016f7106.js.map} +1 -1
  399. package/cjs/{index-9ca07037.js → index-1613ae03.js} +29 -37
  400. package/cjs/index-1613ae03.js.map +1 -0
  401. package/cjs/index-2be14d85.js +57 -0
  402. package/cjs/index-2be14d85.js.map +1 -0
  403. package/cjs/index-3b30939e.js +79 -0
  404. package/cjs/index-3b30939e.js.map +1 -0
  405. package/cjs/index-5231fde8.js +585 -0
  406. package/cjs/index-5231fde8.js.map +1 -0
  407. package/cjs/index-648c06ed.js +330 -0
  408. package/cjs/index-648c06ed.js.map +1 -0
  409. package/cjs/{index-5d5497c2.js → index-6cb0d040.js} +11 -25
  410. package/cjs/index-6cb0d040.js.map +1 -0
  411. package/cjs/{index-c475c3c8.js → index-71fdaa1b.js} +55 -63
  412. package/cjs/index-71fdaa1b.js.map +1 -0
  413. package/cjs/{index-343cd84a.js → index-7d125728.js} +2 -2
  414. package/cjs/{index-343cd84a.js.map → index-7d125728.js.map} +1 -1
  415. package/cjs/{index-3a4f8219.js → index-7f6bbe0c.js} +42 -51
  416. package/cjs/index-7f6bbe0c.js.map +1 -0
  417. package/cjs/{index-8de8f28a.js → index-869e9a94.js} +2 -2
  418. package/cjs/{index-8de8f28a.js.map → index-869e9a94.js.map} +1 -1
  419. package/cjs/index-89d81dad.js +456 -0
  420. package/cjs/index-89d81dad.js.map +1 -0
  421. package/cjs/{index-abbc8024.js → index-8affdde5.js} +57 -3
  422. package/cjs/index-8affdde5.js.map +1 -0
  423. package/cjs/index-99f16473.js +202 -0
  424. package/cjs/index-99f16473.js.map +1 -0
  425. package/cjs/index-c9d348b6.js +367 -0
  426. package/cjs/index-c9d348b6.js.map +1 -0
  427. package/cjs/index-e8c0080f.js +161 -0
  428. package/cjs/index-e8c0080f.js.map +1 -0
  429. package/cjs/{index-c5cd589d.js → index-f570d25c.js} +1 -1
  430. package/cjs/index-f570d25c.js.map +1 -0
  431. package/cjs/index.js +84 -63
  432. package/cjs/index.js.map +1 -1
  433. package/cjs/index.module-0585715f.js +6 -0
  434. package/cjs/index.module-0585715f.js.map +1 -0
  435. package/cjs/lame.all.js +2541 -0
  436. package/cjs/lame.all.js.map +1 -0
  437. package/cjs/resolvedReplyType-67e78c63.js +32 -0
  438. package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
  439. package/cjs/sendbirdSelectors.js +307 -417
  440. package/cjs/sendbirdSelectors.js.map +1 -1
  441. package/cjs/{stringSet-3e6167ef.js → stringSet-106da549.js} +112 -90
  442. package/cjs/stringSet-106da549.js.map +1 -0
  443. package/cjs/tokenize-2aa0f876.js +164 -0
  444. package/cjs/tokenize-2aa0f876.js.map +1 -0
  445. package/cjs/topics-b384e6b3.js +18 -0
  446. package/cjs/topics-b384e6b3.js.map +1 -0
  447. package/cjs/types-e0b77c8c.js +17 -0
  448. package/cjs/types-e0b77c8c.js.map +1 -0
  449. package/cjs/ui/Accordion.js +21 -24
  450. package/cjs/ui/Accordion.js.map +1 -1
  451. package/cjs/ui/AccordionGroup.js +10 -13
  452. package/cjs/ui/AccordionGroup.js.map +1 -1
  453. package/cjs/ui/AdminMessage.js +10 -13
  454. package/cjs/ui/AdminMessage.js.map +1 -1
  455. package/cjs/ui/Avatar.js +57 -79
  456. package/cjs/ui/Avatar.js.map +1 -1
  457. package/cjs/ui/Badge.js +16 -15
  458. package/cjs/ui/Badge.js.map +1 -1
  459. package/cjs/ui/BottomSheet.js +14 -12
  460. package/cjs/ui/BottomSheet.js.map +1 -1
  461. package/cjs/ui/Button.js +20 -35
  462. package/cjs/ui/Button.js.map +1 -1
  463. package/cjs/ui/ChannelAvatar.js +38 -41
  464. package/cjs/ui/ChannelAvatar.js.map +1 -1
  465. package/cjs/ui/Checkbox.js +11 -13
  466. package/cjs/ui/Checkbox.js.map +1 -1
  467. package/cjs/ui/ConnectionStatus.js +7 -5
  468. package/cjs/ui/ConnectionStatus.js.map +1 -1
  469. package/cjs/ui/ContextMenu.js +175 -199
  470. package/cjs/ui/ContextMenu.js.map +1 -1
  471. package/cjs/ui/DateSeparator.js +12 -14
  472. package/cjs/ui/DateSeparator.js.map +1 -1
  473. package/cjs/ui/EmojiReactions.js +299 -107
  474. package/cjs/ui/EmojiReactions.js.map +1 -1
  475. package/cjs/ui/FileMessageItemBody.js +22 -23
  476. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  477. package/cjs/ui/FileViewer.js +36 -36
  478. package/cjs/ui/FileViewer.js.map +1 -1
  479. package/cjs/ui/Icon.js +447 -623
  480. package/cjs/ui/Icon.js.map +1 -1
  481. package/cjs/ui/IconButton.js +20 -31
  482. package/cjs/ui/IconButton.js.map +1 -1
  483. package/cjs/ui/ImageRenderer.js +34 -43
  484. package/cjs/ui/ImageRenderer.js.map +1 -1
  485. package/cjs/ui/Input.js +16 -16
  486. package/cjs/ui/Input.js.map +1 -1
  487. package/cjs/ui/Label.js +2 -2
  488. package/cjs/ui/LinkLabel.js +4 -3
  489. package/cjs/ui/LinkLabel.js.map +1 -1
  490. package/cjs/ui/Loader.js +10 -12
  491. package/cjs/ui/Loader.js.map +1 -1
  492. package/cjs/ui/MentionLabel.js +58 -65
  493. package/cjs/ui/MentionLabel.js.map +1 -1
  494. package/cjs/ui/MentionUserLabel.js +12 -10
  495. package/cjs/ui/MentionUserLabel.js.map +1 -1
  496. package/cjs/ui/MessageContent.js +212 -548
  497. package/cjs/ui/MessageContent.js.map +1 -1
  498. package/cjs/ui/MessageInput.js +392 -119
  499. package/cjs/ui/MessageInput.js.map +1 -1
  500. package/cjs/ui/MessageItemMenu.js +83 -83
  501. package/cjs/ui/MessageItemMenu.js.map +1 -1
  502. package/cjs/ui/MessageItemReactionMenu.js +58 -62
  503. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  504. package/cjs/ui/MessageSearchFileItem.js +56 -51
  505. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  506. package/cjs/ui/MessageSearchItem.js +42 -41
  507. package/cjs/ui/MessageSearchItem.js.map +1 -1
  508. package/cjs/ui/MessageStatus.js +10 -11
  509. package/cjs/ui/MessageStatus.js.map +1 -1
  510. package/cjs/ui/Modal.js +52 -46
  511. package/cjs/ui/Modal.js.map +1 -1
  512. package/cjs/ui/MutedAvatarOverlay.js +10 -10
  513. package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
  514. package/cjs/ui/OGMessageItemBody.js +67 -63
  515. package/cjs/ui/OGMessageItemBody.js.map +1 -1
  516. package/cjs/ui/OpenChannelAdminMessage.js +8 -7
  517. package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
  518. package/cjs/ui/OpenChannelAvatar.js +18 -17
  519. package/cjs/ui/OpenChannelAvatar.js.map +1 -1
  520. package/cjs/ui/OpenchannelConversationHeader.js +17 -13
  521. package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
  522. package/cjs/ui/OpenchannelFileMessage.js +140 -151
  523. package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
  524. package/cjs/ui/OpenchannelOGMessage.js +204 -233
  525. package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
  526. package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
  527. package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
  528. package/cjs/ui/OpenchannelUserMessage.js +168 -178
  529. package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
  530. package/cjs/ui/PlaceHolder.js +5 -6
  531. package/cjs/ui/PlaceHolder.js.map +1 -1
  532. package/cjs/ui/PlaybackTime.js +35 -0
  533. package/cjs/ui/PlaybackTime.js.map +1 -0
  534. package/cjs/ui/ProgressBar.js +40 -0
  535. package/cjs/ui/ProgressBar.js.map +1 -0
  536. package/cjs/ui/QuoteMessage.js +50 -44
  537. package/cjs/ui/QuoteMessage.js.map +1 -1
  538. package/cjs/ui/QuoteMessageInput.js +31 -29
  539. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  540. package/cjs/ui/ReactionBadge.js +13 -21
  541. package/cjs/ui/ReactionBadge.js.map +1 -1
  542. package/cjs/ui/ReactionButton.js +30 -27
  543. package/cjs/ui/ReactionButton.js.map +1 -1
  544. package/cjs/ui/SortByRow.js +14 -18
  545. package/cjs/ui/SortByRow.js.map +1 -1
  546. package/cjs/ui/TextButton.js +13 -21
  547. package/cjs/ui/TextButton.js.map +1 -1
  548. package/cjs/ui/TextMessageItemBody.js +41 -48
  549. package/cjs/ui/TextMessageItemBody.js.map +1 -1
  550. package/cjs/ui/ThreadReplies.js +25 -22
  551. package/cjs/ui/ThreadReplies.js.map +1 -1
  552. package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
  553. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  554. package/cjs/ui/Toggle.js +202 -0
  555. package/cjs/ui/Toggle.js.map +1 -0
  556. package/cjs/ui/Tooltip.js +8 -9
  557. package/cjs/ui/Tooltip.js.map +1 -1
  558. package/cjs/ui/TooltipWrapper.js +17 -20
  559. package/cjs/ui/TooltipWrapper.js.map +1 -1
  560. package/cjs/ui/UnknownMessageItemBody.js +21 -22
  561. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  562. package/cjs/ui/UserListItem.js +76 -76
  563. package/cjs/ui/UserListItem.js.map +1 -1
  564. package/cjs/ui/UserProfile.js +31 -29
  565. package/cjs/ui/UserProfile.js.map +1 -1
  566. package/cjs/ui/VoiceMessageItemBody.js +119 -0
  567. package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
  568. package/cjs/ui/VoiceMessgeInput.js +22 -0
  569. package/cjs/ui/VoiceMessgeInput.js.map +1 -0
  570. package/cjs/ui/Word.js +31 -39
  571. package/cjs/ui/Word.js.map +1 -1
  572. package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
  573. package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
  574. package/cjs/useLongPress-8037894e.js +87 -0
  575. package/cjs/useLongPress-8037894e.js.map +1 -0
  576. package/cjs/useSendbirdStateContext.js +2 -3
  577. package/cjs/useSendbirdStateContext.js.map +1 -1
  578. package/cjs/utils/message/getOutgoingMessageState.js +16 -21
  579. package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
  580. package/cjs/utils/message/isVoiceMessage.js +12 -0
  581. package/cjs/utils/message/isVoiceMessage.js.map +1 -0
  582. package/cjs/{utils-5f86a394.js → utils-01ff5332.js} +3 -7
  583. package/cjs/{utils-5f86a394.js.map → utils-01ff5332.js.map} +1 -1
  584. package/cjs/utils-2edcddc8.js +35 -0
  585. package/cjs/utils-2edcddc8.js.map +1 -0
  586. package/cjs/utils-5ac3db44.js +31 -0
  587. package/cjs/utils-5ac3db44.js.map +1 -0
  588. package/cjs/{utils-374d57b4.js → utils-ad7b5b82.js} +1 -1
  589. package/cjs/{utils-374d57b4.js.map → utils-ad7b5b82.js.map} +1 -1
  590. package/cjs/uuid-12b01f73.js +15 -0
  591. package/cjs/{uuid-2475ef6c.js.map → uuid-12b01f73.js.map} +1 -1
  592. package/cjs/withSendbird.js +5 -6
  593. package/cjs/withSendbird.js.map +1 -1
  594. package/{color-163ba24d.js → color-347926b6.js} +5 -14
  595. package/{color-163ba24d.js.map → color-347926b6.js.map} +1 -1
  596. package/{compareIds-ef41eb2c.js → compareIds-3a43c11b.js} +5 -6
  597. package/compareIds-3a43c11b.js.map +1 -0
  598. package/const-18dba7a4.js +13 -0
  599. package/const-18dba7a4.js.map +1 -0
  600. package/{const-76d87f47.js → const-c608f749.js} +4 -4
  601. package/const-c608f749.js.map +1 -0
  602. package/consts-6bca01c7.js +4 -0
  603. package/consts-6bca01c7.js.map +1 -0
  604. package/consts-7a169a0f.js +4 -0
  605. package/consts-7a169a0f.js.map +1 -0
  606. package/consts-c1baf70a.js +27 -0
  607. package/consts-c1baf70a.js.map +1 -0
  608. package/consts-fb4d475a.js +4 -0
  609. package/consts-fb4d475a.js.map +1 -0
  610. package/context-786ef1a2.js +13 -0
  611. package/{context-10475c77.js.map → context-786ef1a2.js.map} +1 -1
  612. package/dist/index.css +1640 -1187
  613. package/dist/index.css.map +1 -1
  614. package/handlers/OpenChannelHandler.js.map +1 -1
  615. package/handlers/SessionHandler.js.map +1 -1
  616. package/{index-12754b45.js → index-06b854f7.js} +55 -63
  617. package/index-06b854f7.js.map +1 -0
  618. package/index-2673effb.js +360 -0
  619. package/index-2673effb.js.map +1 -0
  620. package/{index-4ebfc7a7.js → index-319984d0.js} +1 -1
  621. package/{index-4ebfc7a7.js.map → index-319984d0.js.map} +1 -1
  622. package/{index-3c013a28.js → index-4455855e.js} +2 -2
  623. package/{index-3c013a28.js.map → index-4455855e.js.map} +1 -1
  624. package/index-6663ce18.js +450 -0
  625. package/index-6663ce18.js.map +1 -0
  626. package/{index-a02da5bd.js → index-6c252d25.js} +2 -2
  627. package/{index-a02da5bd.js.map → index-6c252d25.js.map} +1 -1
  628. package/index-71a20863.js +320 -0
  629. package/index-71a20863.js.map +1 -0
  630. package/index-7d71b26c.js +154 -0
  631. package/index-7d71b26c.js.map +1 -0
  632. package/{index-2f346069.js → index-9a4e0846.js} +1 -1
  633. package/index-9a4e0846.js.map +1 -0
  634. package/{index-232388fa.js → index-9cd77b08.js} +29 -37
  635. package/index-9cd77b08.js.map +1 -0
  636. package/index-c149ea48.js +187 -0
  637. package/index-c149ea48.js.map +1 -0
  638. package/index-cf3939c6.js +76 -0
  639. package/index-cf3939c6.js.map +1 -0
  640. package/index-cf859f03.js +540 -0
  641. package/index-cf859f03.js.map +1 -0
  642. package/{index-2784bdd8.js → index-e33f7f55.js} +11 -25
  643. package/index-e33f7f55.js.map +1 -0
  644. package/{index-aea7b7d6.js → index-eabd1e7e.js} +39 -48
  645. package/index-eabd1e7e.js.map +1 -0
  646. package/index-ebb62af1.js +51 -0
  647. package/index-ebb62af1.js.map +1 -0
  648. package/{index-751f97ce.js → index-edf844f0.js} +57 -4
  649. package/index-edf844f0.js.map +1 -0
  650. package/index.d.ts +176 -124
  651. package/index.js +84 -63
  652. package/index.js.map +1 -1
  653. package/index.module-6b7ed635.js +4 -0
  654. package/index.module-6b7ed635.js.map +1 -0
  655. package/lame.all.js +2537 -0
  656. package/lame.all.js.map +1 -0
  657. package/package.json +62 -41
  658. package/resolvedReplyType-8776d777.js +29 -0
  659. package/resolvedReplyType-8776d777.js.map +1 -0
  660. package/sendbirdSelectors.js +307 -417
  661. package/sendbirdSelectors.js.map +1 -1
  662. package/{stringSet-9ae71b7d.js → stringSet-e0ee1265.js} +112 -90
  663. package/stringSet-e0ee1265.js.map +1 -0
  664. package/tokenize-1b053c86.js +159 -0
  665. package/tokenize-1b053c86.js.map +1 -0
  666. package/topics-70f569e9.js +16 -0
  667. package/topics-70f569e9.js.map +1 -0
  668. package/types-77bbdda6.js +15 -0
  669. package/types-77bbdda6.js.map +1 -0
  670. package/ui/Accordion.js +21 -24
  671. package/ui/Accordion.js.map +1 -1
  672. package/ui/AccordionGroup.js +10 -13
  673. package/ui/AccordionGroup.js.map +1 -1
  674. package/ui/AdminMessage.js +10 -13
  675. package/ui/AdminMessage.js.map +1 -1
  676. package/ui/Avatar.js +57 -79
  677. package/ui/Avatar.js.map +1 -1
  678. package/ui/Badge.js +16 -15
  679. package/ui/Badge.js.map +1 -1
  680. package/ui/BottomSheet.js +14 -12
  681. package/ui/BottomSheet.js.map +1 -1
  682. package/ui/Button.js +20 -35
  683. package/ui/Button.js.map +1 -1
  684. package/ui/ChannelAvatar.js +38 -41
  685. package/ui/ChannelAvatar.js.map +1 -1
  686. package/ui/Checkbox.js +11 -13
  687. package/ui/Checkbox.js.map +1 -1
  688. package/ui/ConnectionStatus.js +7 -5
  689. package/ui/ConnectionStatus.js.map +1 -1
  690. package/ui/ContextMenu.js +176 -200
  691. package/ui/ContextMenu.js.map +1 -1
  692. package/ui/DateSeparator.js +12 -14
  693. package/ui/DateSeparator.js.map +1 -1
  694. package/ui/EmojiReactions.js +300 -108
  695. package/ui/EmojiReactions.js.map +1 -1
  696. package/ui/FileMessageItemBody.js +22 -23
  697. package/ui/FileMessageItemBody.js.map +1 -1
  698. package/ui/FileViewer.js +36 -36
  699. package/ui/FileViewer.js.map +1 -1
  700. package/ui/Icon.js +448 -622
  701. package/ui/Icon.js.map +1 -1
  702. package/ui/IconButton.js +20 -31
  703. package/ui/IconButton.js.map +1 -1
  704. package/ui/ImageRenderer.js +34 -43
  705. package/ui/ImageRenderer.js.map +1 -1
  706. package/ui/Input.js +16 -16
  707. package/ui/Input.js.map +1 -1
  708. package/ui/Label.js +2 -2
  709. package/ui/LinkLabel.js +4 -3
  710. package/ui/LinkLabel.js.map +1 -1
  711. package/ui/Loader.js +10 -12
  712. package/ui/Loader.js.map +1 -1
  713. package/ui/MentionLabel.js +58 -65
  714. package/ui/MentionLabel.js.map +1 -1
  715. package/ui/MentionUserLabel.js +12 -10
  716. package/ui/MentionUserLabel.js.map +1 -1
  717. package/ui/MessageContent.js +215 -551
  718. package/ui/MessageContent.js.map +1 -1
  719. package/ui/MessageInput.js +392 -120
  720. package/ui/MessageInput.js.map +1 -1
  721. package/ui/MessageItemMenu.js +83 -83
  722. package/ui/MessageItemMenu.js.map +1 -1
  723. package/ui/MessageItemReactionMenu.js +58 -62
  724. package/ui/MessageItemReactionMenu.js.map +1 -1
  725. package/ui/MessageSearchFileItem.js +55 -50
  726. package/ui/MessageSearchFileItem.js.map +1 -1
  727. package/ui/MessageSearchItem.js +41 -40
  728. package/ui/MessageSearchItem.js.map +1 -1
  729. package/ui/MessageStatus.js +10 -11
  730. package/ui/MessageStatus.js.map +1 -1
  731. package/ui/Modal.js +52 -46
  732. package/ui/Modal.js.map +1 -1
  733. package/ui/MutedAvatarOverlay.js +10 -10
  734. package/ui/MutedAvatarOverlay.js.map +1 -1
  735. package/ui/OGMessageItemBody.js +68 -64
  736. package/ui/OGMessageItemBody.js.map +1 -1
  737. package/ui/OpenChannelAdminMessage.js +8 -7
  738. package/ui/OpenChannelAdminMessage.js.map +1 -1
  739. package/ui/OpenChannelAvatar.js +18 -17
  740. package/ui/OpenChannelAvatar.js.map +1 -1
  741. package/ui/OpenchannelConversationHeader.js +17 -13
  742. package/ui/OpenchannelConversationHeader.js.map +1 -1
  743. package/ui/OpenchannelFileMessage.js +140 -151
  744. package/ui/OpenchannelFileMessage.js.map +1 -1
  745. package/ui/OpenchannelOGMessage.js +204 -233
  746. package/ui/OpenchannelOGMessage.js.map +1 -1
  747. package/ui/OpenchannelThumbnailMessage.js +215 -222
  748. package/ui/OpenchannelThumbnailMessage.js.map +1 -1
  749. package/ui/OpenchannelUserMessage.js +168 -178
  750. package/ui/OpenchannelUserMessage.js.map +1 -1
  751. package/ui/PlaceHolder.js +5 -6
  752. package/ui/PlaceHolder.js.map +1 -1
  753. package/ui/PlaybackTime.js +26 -0
  754. package/ui/PlaybackTime.js.map +1 -0
  755. package/ui/ProgressBar.js +30 -0
  756. package/ui/ProgressBar.js.map +1 -0
  757. package/ui/QuoteMessage.js +50 -44
  758. package/ui/QuoteMessage.js.map +1 -1
  759. package/ui/QuoteMessageInput.js +31 -29
  760. package/ui/QuoteMessageInput.js.map +1 -1
  761. package/ui/ReactionBadge.js +13 -21
  762. package/ui/ReactionBadge.js.map +1 -1
  763. package/ui/ReactionButton.js +30 -27
  764. package/ui/ReactionButton.js.map +1 -1
  765. package/ui/SortByRow.js +14 -18
  766. package/ui/SortByRow.js.map +1 -1
  767. package/ui/TextButton.js +13 -21
  768. package/ui/TextButton.js.map +1 -1
  769. package/ui/TextMessageItemBody.js +41 -48
  770. package/ui/TextMessageItemBody.js.map +1 -1
  771. package/ui/ThreadReplies.js +25 -22
  772. package/ui/ThreadReplies.js.map +1 -1
  773. package/ui/ThumbnailMessageItemBody.js +36 -45
  774. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  775. package/ui/Toggle.js +191 -0
  776. package/ui/Toggle.js.map +1 -0
  777. package/ui/Tooltip.js +8 -9
  778. package/ui/Tooltip.js.map +1 -1
  779. package/ui/TooltipWrapper.js +17 -20
  780. package/ui/TooltipWrapper.js.map +1 -1
  781. package/ui/UnknownMessageItemBody.js +21 -22
  782. package/ui/UnknownMessageItemBody.js.map +1 -1
  783. package/ui/UserListItem.js +76 -76
  784. package/ui/UserListItem.js.map +1 -1
  785. package/ui/UserProfile.js +31 -29
  786. package/ui/UserProfile.js.map +1 -1
  787. package/ui/VoiceMessageItemBody.js +110 -0
  788. package/ui/VoiceMessageItemBody.js.map +1 -0
  789. package/ui/VoiceMessgeInput.js +14 -0
  790. package/ui/VoiceMessgeInput.js.map +1 -0
  791. package/ui/Word.js +31 -39
  792. package/ui/Word.js.map +1 -1
  793. package/useDirtyGetMentions-f00f1f94.js +75 -0
  794. package/useDirtyGetMentions-f00f1f94.js.map +1 -0
  795. package/useLongPress-1ab49410.js +85 -0
  796. package/useLongPress-1ab49410.js.map +1 -0
  797. package/useSendbirdStateContext.js +2 -3
  798. package/useSendbirdStateContext.js.map +1 -1
  799. package/utils/message/getOutgoingMessageState.js +9 -15
  800. package/utils/message/getOutgoingMessageState.js.map +1 -1
  801. package/utils/message/isVoiceMessage.js +8 -0
  802. package/utils/message/isVoiceMessage.js.map +1 -0
  803. package/{utils-ea66f822.js → utils-56cb7de5.js} +1 -1
  804. package/{utils-ea66f822.js.map → utils-56cb7de5.js.map} +1 -1
  805. package/utils-77f7e8b2.js +29 -0
  806. package/utils-77f7e8b2.js.map +1 -0
  807. package/{utils-ddb0df4c.js → utils-7f3d0d8c.js} +3 -7
  808. package/{utils-ddb0df4c.js.map → utils-7f3d0d8c.js.map} +1 -1
  809. package/utils-af9b1c06.js +31 -0
  810. package/utils-af9b1c06.js.map +1 -0
  811. package/uuid-92d22300.js +13 -0
  812. package/{uuid-7e004f47.js.map → uuid-92d22300.js.map} +1 -1
  813. package/withSendbird.js +5 -6
  814. package/withSendbird.js.map +1 -1
  815. package/ChannelListProvider-1d36e2e9.js.map +0 -1
  816. package/ChannelProvider-289cd35f.js.map +0 -1
  817. package/CreateChannelProvider-72b655e9.js +0 -55
  818. package/CreateChannelProvider-72b655e9.js.map +0 -1
  819. package/LocalizationContext-289c1917.js +0 -22
  820. package/MediaQueryContext-273d29f6.js +0 -90
  821. package/MediaQueryContext-273d29f6.js.map +0 -1
  822. package/MemberList-7ad0fa0b.js +0 -435
  823. package/MemberList-7ad0fa0b.js.map +0 -1
  824. package/NotificationChannel/components/NotificationChannelUI.js +0 -119
  825. package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  826. package/NotificationChannel/components/NotificationList.js +0 -111
  827. package/NotificationChannel/components/NotificationList.js.map +0 -1
  828. package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
  829. package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  830. package/NotificationChannel/context.js +0 -12
  831. package/NotificationChannel.js +0 -58
  832. package/NotificationChannel.js.map +0 -1
  833. package/NotificationChannelProvider-ad556c64.js +0 -535
  834. package/NotificationChannelProvider-ad556c64.js.map +0 -1
  835. package/OpenChannelListProvider-0febf8b2.js +0 -434
  836. package/OpenChannelListProvider-0febf8b2.js.map +0 -1
  837. package/OpenChannelProvider-c254c663.js +0 -2000
  838. package/OpenChannelProvider-c254c663.js.map +0 -1
  839. package/RemoveMessageModal-d6cbf9fa.js +0 -31
  840. package/RemoveMessageModal-d6cbf9fa.js.map +0 -1
  841. package/ThreadProvider-8696ef31.js +0 -1644
  842. package/ThreadProvider-8696ef31.js.map +0 -1
  843. package/_rollupPluginBabelHelpers-519f674b.js.map +0 -1
  844. package/actionTypes-9f87e87f.js +0 -6
  845. package/actionTypes-9f87e87f.js.map +0 -1
  846. package/cjs/ChannelListProvider-0de52d2b.js.map +0 -1
  847. package/cjs/ChannelProvider-fc58e60e.js.map +0 -1
  848. package/cjs/CreateChannelProvider-a82d20f4.js +0 -62
  849. package/cjs/CreateChannelProvider-a82d20f4.js.map +0 -1
  850. package/cjs/MediaQueryContext-4711a81f.js +0 -97
  851. package/cjs/MediaQueryContext-4711a81f.js.map +0 -1
  852. package/cjs/MemberList-b2623166.js +0 -441
  853. package/cjs/MemberList-b2623166.js.map +0 -1
  854. package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
  855. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
  856. package/cjs/NotificationChannel/components/NotificationList.js +0 -117
  857. package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
  858. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
  859. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
  860. package/cjs/NotificationChannel/context.js +0 -21
  861. package/cjs/NotificationChannel.js +0 -64
  862. package/cjs/NotificationChannel.js.map +0 -1
  863. package/cjs/NotificationChannelProvider-2cdc7ff4.js +0 -543
  864. package/cjs/NotificationChannelProvider-2cdc7ff4.js.map +0 -1
  865. package/cjs/OpenChannelListProvider-60bc3c69.js +0 -443
  866. package/cjs/OpenChannelListProvider-60bc3c69.js.map +0 -1
  867. package/cjs/OpenChannelProvider-3ed4eb6e.js +0 -2009
  868. package/cjs/OpenChannelProvider-3ed4eb6e.js.map +0 -1
  869. package/cjs/RemoveMessageModal-9169766a.js.map +0 -1
  870. package/cjs/ThreadProvider-389f5031.js +0 -1653
  871. package/cjs/ThreadProvider-389f5031.js.map +0 -1
  872. package/cjs/_rollupPluginBabelHelpers-fed1e122.js.map +0 -1
  873. package/cjs/actionTypes-2f90e726.js +0 -10
  874. package/cjs/actionTypes-2f90e726.js.map +0 -1
  875. package/cjs/color-f47044b3.js.map +0 -1
  876. package/cjs/compareIds-4124b297.js.map +0 -1
  877. package/cjs/const-015e5589.js +0 -20
  878. package/cjs/const-015e5589.js.map +0 -1
  879. package/cjs/const-fd64914b.js.map +0 -1
  880. package/cjs/index-30c97863.js +0 -194
  881. package/cjs/index-30c97863.js.map +0 -1
  882. package/cjs/index-3a4f8219.js.map +0 -1
  883. package/cjs/index-40e4653a.js +0 -59
  884. package/cjs/index-40e4653a.js.map +0 -1
  885. package/cjs/index-5d5497c2.js.map +0 -1
  886. package/cjs/index-62c1bdfc.js +0 -701
  887. package/cjs/index-62c1bdfc.js.map +0 -1
  888. package/cjs/index-9ca07037.js.map +0 -1
  889. package/cjs/index-9f3670d0.js +0 -360
  890. package/cjs/index-9f3670d0.js.map +0 -1
  891. package/cjs/index-abbc8024.js.map +0 -1
  892. package/cjs/index-c475c3c8.js.map +0 -1
  893. package/cjs/index-c5cd589d.js.map +0 -1
  894. package/cjs/stringSet-3e6167ef.js.map +0 -1
  895. package/cjs/topics-56842e14.js +0 -22
  896. package/cjs/topics-56842e14.js.map +0 -1
  897. package/cjs/tslib.es6-b8ba50ef.js +0 -110
  898. package/cjs/tslib.es6-b8ba50ef.js.map +0 -1
  899. package/cjs/useLongPress-99c66f7f.js +0 -118
  900. package/cjs/useLongPress-99c66f7f.js.map +0 -1
  901. package/cjs/utils-9adfd244.js +0 -38
  902. package/cjs/utils-9adfd244.js.map +0 -1
  903. package/cjs/utils-f6a96ebf.js +0 -32
  904. package/cjs/utils-f6a96ebf.js.map +0 -1
  905. package/cjs/uuid-2475ef6c.js +0 -19
  906. package/compareIds-ef41eb2c.js.map +0 -1
  907. package/const-76d87f47.js.map +0 -1
  908. package/const-da6f3d34.js +0 -14
  909. package/const-da6f3d34.js.map +0 -1
  910. package/context-10475c77.js +0 -12
  911. package/index-12754b45.js.map +0 -1
  912. package/index-1e46e582.js +0 -179
  913. package/index-1e46e582.js.map +0 -1
  914. package/index-232388fa.js.map +0 -1
  915. package/index-2784bdd8.js.map +0 -1
  916. package/index-2f346069.js.map +0 -1
  917. package/index-4637b0de.js +0 -57
  918. package/index-4637b0de.js.map +0 -1
  919. package/index-4900e890.js +0 -353
  920. package/index-4900e890.js.map +0 -1
  921. package/index-751f97ce.js.map +0 -1
  922. package/index-855ef33d.js +0 -662
  923. package/index-855ef33d.js.map +0 -1
  924. package/index-aea7b7d6.js.map +0 -1
  925. package/stringSet-9ae71b7d.js.map +0 -1
  926. package/topics-e2963bba.js +0 -13
  927. package/topics-e2963bba.js.map +0 -1
  928. package/tslib.es6-72df3331.js +0 -104
  929. package/tslib.es6-72df3331.js.map +0 -1
  930. package/useLongPress-1a777e9e.js +0 -116
  931. package/useLongPress-1a777e9e.js.map +0 -1
  932. package/utils-2976f2c1.js +0 -30
  933. package/utils-2976f2c1.js.map +0 -1
  934. package/utils-6b69fb18.js +0 -34
  935. package/utils-6b69fb18.js.map +0 -1
  936. package/uuid-7e004f47.js +0 -17
@@ -0,0 +1,110 @@
1
+ import React__default, { useState, useEffect, useMemo } from 'react';
2
+ import { ProgressBar, ProgressBarColorTypes } from './ProgressBar.js';
3
+ import { useVoicePlayer } from '../VoicePlayer/useVoicePlayer.js';
4
+ import { PlaybackTime } from './PlaybackTime.js';
5
+ import Loader from './Loader.js';
6
+ import Icon, { IconTypes, IconColors } from './Icon.js';
7
+ import { a as LabelTypography, b as LabelColors } from '../index-e33f7f55.js';
8
+ import { a as VOICE_PLAYER_STATUS } from '../index-71a20863.js';
9
+ import '../consts-c1baf70a.js';
10
+ import '../VoiceRecorder/context.js';
11
+ import '../LocalizationContext-04c0c9dc.js';
12
+ import '../stringSet-e0ee1265.js';
13
+ import '../index-319984d0.js';
14
+ import './Modal.js';
15
+ import 'react-dom';
16
+ import '../index-9a4e0846.js';
17
+ import './Button.js';
18
+ import 'prop-types';
19
+ import './IconButton.js';
20
+ import '../_rollupPluginBabelHelpers-fb0e05a4.js';
21
+ import '../MediaQueryContext-ff9dca2b.js';
22
+ import '../useSendbirdStateContext.js';
23
+ import '../withSendbird.js';
24
+
25
+ const VoiceMessageItemBody = _ref => {
26
+ var _message$reactions2;
27
+ let {
28
+ className,
29
+ message,
30
+ channelUrl,
31
+ isByMe = false,
32
+ isReactionEnabled = false
33
+ } = _ref;
34
+ const [usingReaction, setUsingReaction] = useState(false);
35
+ const {
36
+ play,
37
+ // do not pause on unmount, because on desktop layout
38
+ // the component can be paused when it is played from
39
+ // channel and same message is unmounted from the thread
40
+ pause,
41
+ playbackTime = 0,
42
+ duration,
43
+ playingStatus = VOICE_PLAYER_STATUS.IDLE
44
+ } = useVoicePlayer({
45
+ channelUrl,
46
+ key: `${message === null || message === void 0 ? void 0 : message.messageId}`,
47
+ audioFileUrl: message === null || message === void 0 ? void 0 : message.url
48
+ });
49
+ useEffect(() => {
50
+ var _message$reactions;
51
+ if (isReactionEnabled && (message === null || message === void 0 ? void 0 : (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : _message$reactions.length) > 0) {
52
+ setUsingReaction(true);
53
+ } else {
54
+ setUsingReaction(false);
55
+ }
56
+ }, [isReactionEnabled, message === null || message === void 0 ? void 0 : (_message$reactions2 = message.reactions) === null || _message$reactions2 === void 0 ? void 0 : _message$reactions2.length]);
57
+ const progresBarMaxSize = useMemo(() => {
58
+ if (message !== null && message !== void 0 && message.metaArrays) {
59
+ var _message$metaArrays$f;
60
+ const duration = message === null || message === void 0 ? void 0 : (_message$metaArrays$f = message.metaArrays.find(metaArray => metaArray.key === 'KEY_VOICE_MESSAGE_DURATION')) === null || _message$metaArrays$f === void 0 ? void 0 : _message$metaArrays$f.value[0];
61
+ return duration && parseInt(duration);
62
+ }
63
+ return 1;
64
+ }, [message === null || message === void 0 ? void 0 : message.metaArrays]);
65
+ return /*#__PURE__*/React__default.createElement("div", {
66
+ className: `sendbird-voice-message-item-body ${className} ${usingReaction ? 'is-reactions-contained' : ''}`
67
+ }, /*#__PURE__*/React__default.createElement(ProgressBar, {
68
+ className: "sendbird-voice-message-item-body__progress-bar",
69
+ maxSize: duration || progresBarMaxSize,
70
+ currentSize: playbackTime,
71
+ colorType: isByMe ? ProgressBarColorTypes.PRIMARY : ProgressBarColorTypes.GRAY
72
+ }), /*#__PURE__*/React__default.createElement("div", {
73
+ className: "sendbird-voice-message-item-body__status-button"
74
+ }, (playingStatus === VOICE_PLAYER_STATUS.IDLE || playingStatus === VOICE_PLAYER_STATUS.PAUSED) && /*#__PURE__*/React__default.createElement("div", {
75
+ className: "sendbird-voice-message-item-body__status-button__button",
76
+ onClick: play
77
+ }, /*#__PURE__*/React__default.createElement(Icon, {
78
+ width: "18px",
79
+ height: "18px",
80
+ type: IconTypes.PLAY,
81
+ fillColor: IconColors.PRIMARY
82
+ })), playingStatus === VOICE_PLAYER_STATUS.PREPARING && /*#__PURE__*/React__default.createElement(Loader, {
83
+ width: "22.2px",
84
+ height: "22.2px"
85
+ }, /*#__PURE__*/React__default.createElement(Icon, {
86
+ width: "22.2px",
87
+ height: "22.2px",
88
+ type: IconTypes.SPINNER,
89
+ fillColor: IconColors.PRIMARY_2
90
+ })), playingStatus === VOICE_PLAYER_STATUS.PLAYING && /*#__PURE__*/React__default.createElement("div", {
91
+ className: "sendbird-voice-message-item-body__status-button__button",
92
+ onClick: () => {
93
+ pause();
94
+ }
95
+ }, /*#__PURE__*/React__default.createElement("div", {
96
+ className: "sendbird-voice-message-item-body__status-button__button__pause"
97
+ }, /*#__PURE__*/React__default.createElement("div", {
98
+ className: "sendbird-voice-message-item-body__status-button__button__pause__inner"
99
+ }), /*#__PURE__*/React__default.createElement("div", {
100
+ className: "sendbird-voice-message-item-body__status-button__button__pause__inner"
101
+ })))), /*#__PURE__*/React__default.createElement(PlaybackTime, {
102
+ className: "sendbird-voice-message-item-body__playback-time",
103
+ time: progresBarMaxSize - playbackTime,
104
+ labelType: LabelTypography.BODY_1,
105
+ labelColor: isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1
106
+ }));
107
+ };
108
+
109
+ export { VoiceMessageItemBody, VoiceMessageItemBody as default };
110
+ //# sourceMappingURL=VoiceMessageItemBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceMessageItemBody.js","sources":["../../src/ui/VoiceMessageItemBody/index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\n\nimport './index.scss';\n\nimport ProgressBar, { ProgressBarColorTypes } from '../ProgressBar';\nimport { useVoicePlayer } from '../../hooks/VoicePlayer/useVoicePlayer';\nimport PlaybackTime from '../PlaybackTime';\nimport Loader from '../Loader';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { LabelTypography, LabelColors } from '../Label';\nimport { VOICE_PLAYER_STATUS } from '../../hooks/VoicePlayer/dux/initialState';\n\nexport interface VoiceMessageItemBodyProps {\n className?: string;\n message: FileMessage;\n channelUrl: string;\n isByMe?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport const VoiceMessageItemBody = ({\n className,\n message,\n channelUrl,\n isByMe = false,\n isReactionEnabled = false,\n}: VoiceMessageItemBodyProps): React.ReactElement => {\n const [usingReaction, setUsingReaction] = useState(false);\n const {\n play,\n // do not pause on unmount, because on desktop layout\n // the component can be paused when it is played from\n // channel and same message is unmounted from the thread\n pause,\n playbackTime = 0,\n duration,\n playingStatus = VOICE_PLAYER_STATUS.IDLE,\n } = useVoicePlayer({\n channelUrl,\n key: `${message?.messageId}`,\n audioFileUrl: message?.url,\n });\n\n useEffect(() => {\n if (isReactionEnabled && message?.reactions?.length > 0) {\n setUsingReaction(true);\n } else {\n setUsingReaction(false);\n }\n }, [isReactionEnabled, message?.reactions?.length]);\n const progresBarMaxSize = useMemo(() => {\n if (message?.metaArrays) {\n const duration = message?.metaArrays.find((metaArray) => metaArray.key === 'KEY_VOICE_MESSAGE_DURATION')?.value[0];\n return duration && parseInt(duration);\n }\n return 1;\n }, [message?.metaArrays]);\n\n return (\n <div className={`sendbird-voice-message-item-body ${className} ${usingReaction ? 'is-reactions-contained' : ''}`}>\n <ProgressBar\n className=\"sendbird-voice-message-item-body__progress-bar\"\n maxSize={duration || progresBarMaxSize}\n currentSize={playbackTime}\n colorType={isByMe ? ProgressBarColorTypes.PRIMARY : ProgressBarColorTypes.GRAY}\n />\n <div className=\"sendbird-voice-message-item-body__status-button\">\n {(playingStatus === VOICE_PLAYER_STATUS.IDLE || playingStatus === VOICE_PLAYER_STATUS.PAUSED) && (\n <div\n className=\"sendbird-voice-message-item-body__status-button__button\"\n onClick={play}\n >\n <Icon\n width=\"18px\"\n height=\"18px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )}\n {playingStatus === VOICE_PLAYER_STATUS.PREPARING && (\n <Loader width=\"22.2px\" height=\"22.2px\">\n <Icon\n width=\"22.2px\"\n height=\"22.2px\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY_2}\n />\n </Loader>\n )}\n {playingStatus === VOICE_PLAYER_STATUS.PLAYING && (\n <div\n className=\"sendbird-voice-message-item-body__status-button__button\"\n onClick={() => { pause(); }}\n >\n <div className=\"sendbird-voice-message-item-body__status-button__button__pause\">\n <div className=\"sendbird-voice-message-item-body__status-button__button__pause__inner\" />\n <div className=\"sendbird-voice-message-item-body__status-button__button__pause__inner\" />\n </div>\n </div>\n )}\n </div>\n <PlaybackTime\n className=\"sendbird-voice-message-item-body__playback-time\"\n time={progresBarMaxSize - playbackTime}\n labelType={LabelTypography.BODY_1}\n labelColor={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n />\n </div>\n );\n};\n\nexport default VoiceMessageItemBody;\n"],"names":["VoiceMessageItemBody","_ref","_message$reactions2","className","message","channelUrl","isByMe","isReactionEnabled","usingReaction","setUsingReaction","useState","play","pause","playbackTime","duration","playingStatus","VOICE_PLAYER_STATUS","IDLE","useVoicePlayer","key","messageId","audioFileUrl","url","useEffect","_message$reactions","reactions","length","progresBarMaxSize","useMemo","metaArrays","_message$metaArrays$f","find","metaArray","value","parseInt","React","createElement","ProgressBar","maxSize","currentSize","colorType","ProgressBarColorTypes","PRIMARY","GRAY","PAUSED","onClick","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","PREPARING","Loader","SPINNER","PRIMARY_2","PLAYING","PlaybackTime","time","labelType","LabelTypography","BODY_1","labelColor","LabelColors","ONCONTENT_1","ONBACKGROUND_1"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import 'react';
2
+ import './PlaybackTime.js';
3
+ import './ProgressBar.js';
4
+ import './TextButton.js';
5
+ import './Icon.js';
6
+ import '../index-e33f7f55.js';
7
+ import '../LocalizationContext-04c0c9dc.js';
8
+ export { a as VoiceMessageInput } from '../index-7d71b26c.js';
9
+ import '../consts-c1baf70a.js';
10
+ import 'prop-types';
11
+ import '../stringSet-e0ee1265.js';
12
+ import '../color-347926b6.js';
13
+ import '../index-319984d0.js';
14
+ //# sourceMappingURL=VoiceMessgeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceMessgeInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
package/ui/Word.js CHANGED
@@ -1,58 +1,55 @@
1
1
  import React__default from 'react';
2
- import { a as LabelTypography } from '../index-2784bdd8.js';
2
+ import { a as LabelTypography } from '../index-e33f7f55.js';
3
3
  import LinkLabel from './LinkLabel.js';
4
- import { u as uuidv4 } from '../uuid-7e004f47.js';
5
- import { j as convertWordToStringObj, S as StringObjType } from '../index-855ef33d.js';
4
+ import { u as uuidv4 } from '../uuid-92d22300.js';
5
+ import { P as convertWordToStringObj, S as StringObjType } from '../index-cf859f03.js';
6
6
  import MentionLabel from './MentionLabel.js';
7
7
  import 'prop-types';
8
- import '../stringSet-9ae71b7d.js';
9
- import '../tslib.es6-72df3331.js';
8
+ import '../stringSet-e0ee1265.js';
9
+ import '../_rollupPluginBabelHelpers-fb0e05a4.js';
10
10
  import '../utils/message/getOutgoingMessageState.js';
11
11
  import './ContextMenu.js';
12
12
  import 'react-dom';
13
13
  import './SortByRow.js';
14
14
  import './UserProfile.js';
15
- import '../LocalizationContext-289c1917.js';
16
- import '../index-4ebfc7a7.js';
17
- import '../UserProfileContext-e3530842.js';
15
+ import '../LocalizationContext-04c0c9dc.js';
16
+ import '../index-319984d0.js';
17
+ import '../UserProfileContext-c776d522.js';
18
18
  import '../sendbirdSelectors.js';
19
- import '../topics-e2963bba.js';
20
- import '../utils-ea66f822.js';
19
+ import '../topics-70f569e9.js';
20
+ import '../utils-56cb7de5.js';
21
21
  import './Avatar.js';
22
22
  import './ImageRenderer.js';
23
23
  import './Icon.js';
24
24
  import './Button.js';
25
25
  import '../useSendbirdStateContext.js';
26
26
  import '../withSendbird.js';
27
- import '../_rollupPluginBabelHelpers-519f674b.js';
28
27
 
28
+ /**
29
+ * @deprecated This component is deprecated and will be removed in the next major version.
30
+ * Use TextFragment instead.
31
+ */
32
+ // Word and StringObj will include types: normal, mention, url
29
33
  function Word(props) {
30
- var word = props.word,
31
- message = props.message,
32
- _a = props.isByMe,
33
- isByMe = _a === void 0 ? false : _a,
34
- _b = props.mentionTemplate,
35
- mentionTemplate = _b === void 0 ? '@' : _b,
36
- _c = props.renderString,
37
- renderString = _c === void 0 ? null : _c;
38
-
34
+ const {
35
+ word,
36
+ message,
37
+ isByMe = false,
38
+ mentionTemplate = '@',
39
+ renderString = null
40
+ } = props;
39
41
  if (word === '') {
40
42
  return null;
41
43
  }
42
-
43
44
  return /*#__PURE__*/React__default.createElement("span", {
44
45
  className: "sendbird-word"
45
- }, convertWordToStringObj(word, message === null || message === void 0 ? void 0 : message.mentionedUsers).map(function (stringObj) {
46
- var _a;
47
-
48
- var type = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.type) || '';
49
- var value = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.value) || '';
50
- var userId = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.userId) || '';
51
-
46
+ }, convertWordToStringObj(word, message === null || message === void 0 ? void 0 : message.mentionedUsers).map(stringObj => {
47
+ const type = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.type) || '';
48
+ const value = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.value) || '';
49
+ const userId = (stringObj === null || stringObj === void 0 ? void 0 : stringObj.userId) || '';
52
50
  if (renderString && typeof renderString === 'function') {
53
51
  return renderString(stringObj);
54
52
  }
55
-
56
53
  if (type === StringObjType.mention) {
57
54
  return /*#__PURE__*/React__default.createElement(MentionLabel, {
58
55
  mentionTemplate: mentionTemplate,
@@ -62,28 +59,24 @@ function Word(props) {
62
59
  isByMe: isByMe
63
60
  });
64
61
  } else if (type === StringObjType.url) {
65
- var urlRegex = new RegExp("([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?");
66
- var targetUrl = (_a = urlRegex.exec(value)) === null || _a === void 0 ? void 0 : _a[0];
67
- var stringUrl = {
62
+ var _value$match;
63
+ const urlRegex = /([a-zA-Z0-9]+:\/\/)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\.[A-Za-z]{2,4})(:[0-9]+)?(\/.*)?/;
64
+ const targetUrl = (_value$match = value.match(urlRegex)) === null || _value$match === void 0 ? void 0 : _value$match[0];
65
+ const stringUrl = {
68
66
  front: '',
69
67
  url: '',
70
68
  back: ''
71
69
  };
72
-
73
70
  if (targetUrl) {
74
- var targetUrlIndex = value.indexOf(targetUrl);
75
-
71
+ const targetUrlIndex = value.indexOf(targetUrl);
76
72
  if (targetUrlIndex > 0) {
77
73
  stringUrl.front = value.slice(0, targetUrlIndex);
78
74
  }
79
-
80
75
  stringUrl.url = value.slice(targetUrlIndex, targetUrlIndex + targetUrl.length);
81
-
82
76
  if (targetUrlIndex + targetUrl.length < value.length) {
83
77
  stringUrl.back = value.slice(targetUrlIndex + targetUrl.length);
84
78
  }
85
79
  }
86
-
87
80
  if (targetUrl) {
88
81
  return [stringUrl.front ? stringUrl.front : '', stringUrl.url ? /*#__PURE__*/React__default.createElement(LinkLabel, {
89
82
  className: "sendbird-word__url",
@@ -92,7 +85,6 @@ function Word(props) {
92
85
  type: LabelTypography.BODY_1
93
86
  }, stringUrl.url) : null, stringUrl.back ? stringUrl.back : ''];
94
87
  }
95
-
96
88
  return /*#__PURE__*/React__default.createElement(LinkLabel, {
97
89
  className: "sendbird-word__url",
98
90
  key: uuidv4(),
package/ui/Word.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Word.js","sources":["../../src/ui/Word/index.tsx"],"sourcesContent":["import './index.scss';\nimport React from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport { LabelTypography } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { convertWordToStringObj, StringObjType, StringObj } from '../../utils';\nimport MentionLabel from '../MentionLabel';\n\ninterface WordProps {\n word: string;\n message: UserMessage;\n isByMe?: boolean;\n mentionTemplate?: string;\n renderString?: (stringObj: StringObj) => JSX.Element;\n}\n\n// Word and StringObj will include types: normal, mention, url\nexport default function Word(props: WordProps): JSX.Element {\n const {\n word,\n message,\n isByMe = false,\n mentionTemplate = '@',\n renderString = null,\n } = props;\n if (word === '') {\n return null;\n }\n return (\n <span className=\"sendbird-word\">\n {\n convertWordToStringObj(word, message?.mentionedUsers).map((stringObj) => {\n const type = stringObj?.type || '';\n const value = stringObj?.value || '';\n const userId = stringObj?.userId || '';\n if (renderString && typeof renderString === 'function') {\n return renderString(stringObj);\n }\n if (type === StringObjType.mention) {\n return (\n <MentionLabel\n mentionTemplate={mentionTemplate}\n mentionedUserId={userId}\n mentionedUserNickname={value}\n key={uuidv4()}\n isByMe={isByMe}\n />\n );\n } else if (type === StringObjType.url) {\n const urlRegex = new RegExp(\"([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?\");\n const targetUrl = urlRegex.exec(value)?.[0];\n const stringUrl = { front: '', url: '', back: '' };\n if (targetUrl) {\n const targetUrlIndex = value.indexOf(targetUrl);\n if (targetUrlIndex > 0) {\n stringUrl.front = value.slice(0, targetUrlIndex);\n }\n stringUrl.url = value.slice(targetUrlIndex, targetUrlIndex + targetUrl.length);\n if (targetUrlIndex + targetUrl.length < value.length) {\n stringUrl.back = value.slice(targetUrlIndex + targetUrl.length);\n }\n }\n if (targetUrl) {\n return [\n stringUrl.front ? stringUrl.front : '',\n stringUrl.url ? (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={stringUrl.url}\n type={LabelTypography.BODY_1}\n >\n {stringUrl.url}\n </LinkLabel>\n ) : null,\n stringUrl.back ? stringUrl.back : '',\n ];\n }\n return (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={word}\n type={LabelTypography.BODY_1}\n >\n {value}\n </LinkLabel>\n );\n } else {\n return value\n }\n })\n }\n </span>\n );\n}\n"],"names":["Word","props","word","message","_a","isByMe","_b","mentionTemplate","_c","renderString","React","convertWordToStringObj","mentionedUsers","map","stringObj","type","value","userId","StringObjType","mention","uuidv4","url","urlRegex","RegExp","targetUrl","exec","stringUrl","front","back","targetUrlIndex","indexOf","slice","length","LabelTypography","BODY_1"],"mappings":"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"}
1
+ {"version":3,"file":"Word.js","sources":["../../src/ui/Word/index.tsx"],"sourcesContent":["/**\n * @deprecated This component is deprecated and will be removed in the next major version.\n * Use TextFragment instead.\n */\nimport './index.scss';\nimport React from 'react';\nimport type { UserMessage } from '@sendbird/chat/message';\n\nimport { LabelTypography } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { convertWordToStringObj, StringObjType, StringObj } from '../../utils';\nimport MentionLabel from '../MentionLabel';\n\ninterface WordProps {\n word: string;\n message: UserMessage;\n isByMe?: boolean;\n mentionTemplate?: string;\n renderString?: (stringObj: StringObj) => JSX.Element;\n}\n\n// Word and StringObj will include types: normal, mention, url\nexport default function Word(props: WordProps): JSX.Element {\n const {\n word,\n message,\n isByMe = false,\n mentionTemplate = '@',\n renderString = null,\n } = props;\n if (word === '') {\n return null;\n }\n return (\n <span className=\"sendbird-word\">\n {\n convertWordToStringObj(word, message?.mentionedUsers).map((stringObj) => {\n const type = stringObj?.type || '';\n const value = stringObj?.value || '';\n const userId = stringObj?.userId || '';\n if (renderString && typeof renderString === 'function') {\n return renderString(stringObj);\n }\n if (type === StringObjType.mention) {\n return (\n <MentionLabel\n mentionTemplate={mentionTemplate}\n mentionedUserId={userId}\n mentionedUserNickname={value}\n key={uuidv4()}\n isByMe={isByMe}\n />\n );\n } else if (type === StringObjType.url) {\n const urlRegex = /([a-zA-Z0-9]+:\\/\\/)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(\\/.*)?/;\n const targetUrl = value.match(urlRegex)?.[0];\n const stringUrl = { front: '', url: '', back: '' };\n if (targetUrl) {\n const targetUrlIndex = value.indexOf(targetUrl);\n if (targetUrlIndex > 0) {\n stringUrl.front = value.slice(0, targetUrlIndex);\n }\n stringUrl.url = value.slice(targetUrlIndex, targetUrlIndex + targetUrl.length);\n if (targetUrlIndex + targetUrl.length < value.length) {\n stringUrl.back = value.slice(targetUrlIndex + targetUrl.length);\n }\n }\n if (targetUrl) {\n return [\n stringUrl.front ? stringUrl.front : '',\n stringUrl.url ? (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={stringUrl.url}\n type={LabelTypography.BODY_1}\n >\n {stringUrl.url}\n </LinkLabel>\n ) : null,\n stringUrl.back ? stringUrl.back : '',\n ];\n }\n return (\n <LinkLabel\n className=\"sendbird-word__url\"\n key={uuidv4()}\n src={word}\n type={LabelTypography.BODY_1}\n >\n {value}\n </LinkLabel>\n );\n } else {\n return value;\n }\n })\n }\n </span>\n );\n}\n"],"names":["Word","props","word","message","isByMe","mentionTemplate","renderString","React","createElement","className","convertWordToStringObj","mentionedUsers","map","stringObj","type","value","userId","StringObjType","mention","MentionLabel","mentionedUserId","mentionedUserNickname","key","uuidv4","url","_value$match","urlRegex","targetUrl","match","stringUrl","front","back","targetUrlIndex","indexOf","slice","length","LinkLabel","src","LabelTypography","BODY_1"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { useState, useLayoutEffect, useEffect } from 'react';
2
+
3
+ function getMentionNodes(root) {
4
+ if (root) {
5
+ const mentions = root.querySelectorAll("[data-sb-mention='true']");
6
+ const mentionsArray = Array.from(mentions);
7
+ return mentionsArray;
8
+ }
9
+ return [];
10
+ }
11
+
12
+ /**
13
+ * This is a dirty way to get the mentions given DOM node
14
+ */
15
+ function useDirtyGetMentions(_ref, _ref2) {
16
+ let {
17
+ ref
18
+ } = _ref;
19
+ let {
20
+ logger
21
+ } = _ref2;
22
+ // Select the node that will be observed for mutations
23
+ const targetNode = ref.current;
24
+ const [mentionNodes, setMentionNodes] = useState([]);
25
+
26
+ // to get the initial mentions
27
+ useLayoutEffect(() => {
28
+ if (targetNode) {
29
+ const mentions = getMentionNodes(targetNode);
30
+ setMentionNodes(mentions);
31
+ }
32
+ }, [targetNode]);
33
+ useEffect(() => {
34
+ // Options for the observer (which mutations to observe)
35
+ const config = {
36
+ childList: true,
37
+ subtree: true
38
+ };
39
+
40
+ // Callback function to execute when mutations are observed
41
+ const callback = mutationList => {
42
+ const hasMutation = mutationList.length > 0;
43
+ if (hasMutation) {
44
+ setMentionNodes(getMentionNodes(targetNode));
45
+ }
46
+ };
47
+
48
+ // Create an observer instance linked to the callback function
49
+ const observer = new MutationObserver(callback);
50
+ if (targetNode) {
51
+ // Start observing the target node for configured mutations
52
+ observer.observe(targetNode, config);
53
+ logger.info('useDirtyGetMentions: observer started', {
54
+ observer,
55
+ config
56
+ });
57
+ }
58
+ return () => {
59
+ try {
60
+ observer.disconnect();
61
+ logger.info('useDirtyGetMentions: observer disconnected', {
62
+ observer
63
+ });
64
+ } catch (error) {
65
+ logger.error('useDirtyGetMentions: observer disconnect failed', {
66
+ observer
67
+ });
68
+ }
69
+ };
70
+ }, [targetNode]);
71
+ return mentionNodes;
72
+ }
73
+
74
+ export { useDirtyGetMentions as u };
75
+ //# sourceMappingURL=useDirtyGetMentions-f00f1f94.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirtyGetMentions-f00f1f94.js","sources":["../src/modules/Message/utils/getMentionNodes.ts","../src/modules/Message/hooks/useDirtyGetMentions.ts"],"sourcesContent":["export function getMentionNodes(root: HTMLElement): Element[] {\n if (root) {\n const mentions = root.querySelectorAll(\"[data-sb-mention='true']\");\n const mentionsArray = Array.from(mentions);\n return mentionsArray;\n }\n return [];\n}\n","import { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Logger } from '../../../lib/SendbirdState';\nimport { getMentionNodes } from '../utils/getMentionNodes';\n\ninterface DynamicParams {\n ref: React.RefObject<HTMLElement>;\n}\n\ninterface StaticParams {\n logger: Logger;\n}\n\n/**\n * This is a dirty way to get the mentions given DOM node\n */\nexport function useDirtyGetMentions({\n ref,\n}: DynamicParams, {\n logger,\n}: StaticParams) {\n // Select the node that will be observed for mutations\n const targetNode = ref.current as HTMLElement;\n const [mentionNodes, setMentionNodes] = useState<Element[]>([]);\n\n // to get the initial mentions\n useLayoutEffect(() => {\n if (targetNode) {\n const mentions = getMentionNodes(targetNode);\n setMentionNodes(mentions);\n }\n }, [targetNode]);\n\n useEffect(() => {\n // Options for the observer (which mutations to observe)\n const config = { childList: true, subtree: true };\n\n // Callback function to execute when mutations are observed\n const callback = (mutationList: MutationRecord[]): void => {\n const hasMutation = mutationList.length > 0;\n if (hasMutation) {\n setMentionNodes(getMentionNodes(targetNode));\n }\n };\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(callback);\n\n if (targetNode) {\n // Start observing the target node for configured mutations\n observer.observe(targetNode, config);\n logger.info('useDirtyGetMentions: observer started', { observer, config });\n }\n\n return () => {\n try {\n observer.disconnect();\n logger.info('useDirtyGetMentions: observer disconnected', { observer });\n } catch (error) {\n logger.error('useDirtyGetMentions: observer disconnect failed', { observer });\n }\n };\n }, [targetNode]);\n return mentionNodes;\n}\n"],"names":["getMentionNodes","root","mentions","querySelectorAll","mentionsArray","Array","from","useDirtyGetMentions","_ref","_ref2","ref","logger","targetNode","current","mentionNodes","setMentionNodes","useState","useLayoutEffect","useEffect","config","childList","subtree","callback","mutationList","hasMutation","length","observer","MutationObserver","observe","info","disconnect","error"],"mappings":";;AAAO,SAASA,eAAeA,CAACC,IAAiB,EAAa;AAC5D,EAAA,IAAIA,IAAI,EAAE;AACR,IAAA,MAAMC,QAAQ,GAAGD,IAAI,CAACE,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AAClE,IAAA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAAC,CAAA;AAC1C,IAAA,OAAOE,aAAa,CAAA;AACtB,GAAA;AACA,EAAA,OAAO,EAAE,CAAA;AACX;;ACMA;AACA;AACA;AACO,SAASG,mBAAmBA,CAAAC,IAAA,EAAAC,KAAA,EAIlB;EAAA,IAJmB;AAClCC,IAAAA,GAAAA;AACa,GAAC,GAAAF,IAAA,CAAA;EAAA,IAAE;AAChBG,IAAAA,MAAAA;AACY,GAAC,GAAAF,KAAA,CAAA;AACb;AACA,EAAA,MAAMG,UAAU,GAAGF,GAAG,CAACG,OAAsB,CAAA;EAC7C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAY,EAAE,CAAC,CAAA;;AAE/D;AACAC,EAAAA,eAAe,CAAC,MAAM;AACpB,IAAA,IAAIL,UAAU,EAAE;AACd,MAAA,MAAMV,QAAQ,GAAGF,eAAe,CAACY,UAAU,CAAC,CAAA;MAC5CG,eAAe,CAACb,QAAQ,CAAC,CAAA;AAC3B,KAAA;AACF,GAAC,EAAE,CAACU,UAAU,CAAC,CAAC,CAAA;AAEhBM,EAAAA,SAAS,CAAC,MAAM;AACd;AACA,IAAA,MAAMC,MAAM,GAAG;AAAEC,MAAAA,SAAS,EAAE,IAAI;AAAEC,MAAAA,OAAO,EAAE,IAAA;KAAM,CAAA;;AAEjD;IACA,MAAMC,QAAQ,GAAIC,YAA8B,IAAW;AACzD,MAAA,MAAMC,WAAW,GAAGD,YAAY,CAACE,MAAM,GAAG,CAAC,CAAA;AAC3C,MAAA,IAAID,WAAW,EAAE;AACfT,QAAAA,eAAe,CAACf,eAAe,CAACY,UAAU,CAAC,CAAC,CAAA;AAC9C,OAAA;KACD,CAAA;;AAED;AACA,IAAA,MAAMc,QAAQ,GAAG,IAAIC,gBAAgB,CAACL,QAAQ,CAAC,CAAA;AAE/C,IAAA,IAAIV,UAAU,EAAE;AACd;AACAc,MAAAA,QAAQ,CAACE,OAAO,CAAChB,UAAU,EAAEO,MAAM,CAAC,CAAA;AACpCR,MAAAA,MAAM,CAACkB,IAAI,CAAC,uCAAuC,EAAE;QAAEH,QAAQ;AAAEP,QAAAA,MAAAA;AAAO,OAAC,CAAC,CAAA;AAC5E,KAAA;AAEA,IAAA,OAAO,MAAM;MACX,IAAI;QACFO,QAAQ,CAACI,UAAU,EAAE,CAAA;AACrBnB,QAAAA,MAAM,CAACkB,IAAI,CAAC,4CAA4C,EAAE;AAAEH,UAAAA,QAAAA;AAAS,SAAC,CAAC,CAAA;OACxE,CAAC,OAAOK,KAAK,EAAE;AACdpB,QAAAA,MAAM,CAACoB,KAAK,CAAC,iDAAiD,EAAE;AAAEL,UAAAA,QAAAA;AAAS,SAAC,CAAC,CAAA;AAC/E,OAAA;KACD,CAAA;AACH,GAAC,EAAE,CAACd,UAAU,CAAC,CAAC,CAAA;AAChB,EAAA,OAAOE,YAAY,CAAA;AACrB;;;;"}
@@ -0,0 +1,85 @@
1
+ import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-fb0e05a4.js';
2
+ import { useState, useRef, useCallback } from 'react';
3
+ import { u as useMediaQueryContext } from './MediaQueryContext-ff9dca2b.js';
4
+
5
+ const DEFAULT_DURATION = 300;
6
+ function preventDefault(e) {
7
+ if (!isTouchEvent(e)) {
8
+ return;
9
+ }
10
+ if (e.touches.length < 2 && e.preventDefault) {
11
+ e.preventDefault();
12
+ }
13
+ }
14
+ function isTouchEvent(e) {
15
+ return e && 'touches' in e;
16
+ }
17
+ function useLongPress(_ref) {
18
+ let {
19
+ onLongPress,
20
+ onClick
21
+ } = _ref;
22
+ let {
23
+ delay = DEFAULT_DURATION,
24
+ shouldPreventDefault = true,
25
+ shouldStopPropagation = false
26
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
+ const {
28
+ isMobile
29
+ } = useMediaQueryContext();
30
+ const [longPressTriggered, setLongPressTriggered] = useState(false);
31
+ const [dragTriggered, setDragTriggered] = useState(false);
32
+ // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype
33
+ const timeout = useRef();
34
+ const target = useRef();
35
+ const start = useCallback(e => {
36
+ e.persist();
37
+ const clonedEvent = _objectSpread2({}, e);
38
+ setDragTriggered(false);
39
+ if (shouldStopPropagation) {
40
+ e.stopPropagation();
41
+ }
42
+ if (shouldPreventDefault && e.target) {
43
+ e.target.addEventListener('touchend', preventDefault, {
44
+ passive: false
45
+ });
46
+ target.current = e.target;
47
+ }
48
+ timeout.current = setTimeout(() => {
49
+ onLongPress(clonedEvent);
50
+ setLongPressTriggered(true);
51
+ }, delay);
52
+ }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);
53
+ const clear = useCallback(function (e) {
54
+ let shouldTriggerClick = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55
+ let onDrag = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
56
+ if (onDrag) {
57
+ setDragTriggered(true);
58
+ } else {
59
+ setDragTriggered(false);
60
+ }
61
+ if (timeout !== null && timeout !== void 0 && timeout.current) {
62
+ clearTimeout(timeout.current);
63
+ }
64
+ if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {
65
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
66
+ }
67
+ setLongPressTriggered(false);
68
+ if (shouldPreventDefault && target.current) {
69
+ target.current.removeEventListener('touchend', preventDefault);
70
+ }
71
+ }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);
72
+ return {
73
+ onMouseDown: e => start(e),
74
+ onMouseUp: e => clear(e),
75
+ onMouseLeave: e => clear(e, false),
76
+ onTouchStart: e => start(e),
77
+ // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored
78
+ // if we dont do it, onClick?.(e) will be triggred, see inside clear()
79
+ onTouchMove: e => clear(e, false, true),
80
+ onTouchEnd: e => clear(e)
81
+ };
82
+ }
83
+
84
+ export { useLongPress as u };
85
+ //# sourceMappingURL=useLongPress-1ab49410.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongPress-1ab49410.js","sources":["../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_ref","onLongPress","onClick","delay","shouldPreventDefault","shouldStopPropagation","arguments","undefined","isMobile","useMediaQueryContext","longPressTriggered","setLongPressTriggered","useState","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","_objectSpread","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { SendbirdSdkContext } from './withSendbird.js';
3
- import './_rollupPluginBabelHelpers-519f674b.js';
3
+ import './_rollupPluginBabelHelpers-fb0e05a4.js';
4
4
 
5
5
  /**
6
6
  * Example:
@@ -10,9 +10,8 @@ import './_rollupPluginBabelHelpers-519f674b.js';
10
10
  * return (<div>...</div>);
11
11
  * }
12
12
  */
13
-
14
13
  function useSendbirdStateContext() {
15
- var context = useContext(SendbirdSdkContext);
14
+ const context = useContext(SendbirdSdkContext);
16
15
  return context;
17
16
  }
18
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"useSendbirdStateContext.js","sources":["../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["/**\n * Example:\n * const MyComponent = () => {\n * const context = useSendbirdStateContext();\n * const sdk = sendbirdSelectors.getSdk(context);\n * return (<div>...</div>);\n * }\n */\nimport { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../lib/types';\n\nfunction useSendbirdStateContext (): SendBirdState {\n const context: SendBirdState = useContext(SendbirdSdkContext);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["useSendbirdStateContext","context","useContext","SendbirdSdkContext"],"mappings":";;;;AAAA;;;;;;;AAOG;;AAMH,SAASA,uBAAT,GAAgC;AAC9B,EAAA,IAAMC,OAAO,GAAkBC,UAAU,CAACC,kBAAD,CAAzC,CAAA;AACA,EAAA,OAAOF,OAAP,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useSendbirdStateContext.js","sources":["../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["/**\n * Example:\n * const MyComponent = () => {\n * const context = useSendbirdStateContext();\n * const sdk = sendbirdSelectors.getSdk(context);\n * return (<div>...</div>);\n * }\n */\nimport { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../lib/types';\n\nfunction useSendbirdStateContext(): SendBirdState {\n const context: SendBirdState = useContext(SendbirdSdkContext);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["useSendbirdStateContext","context","useContext","SendbirdSdkContext"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,SAASA,uBAAuBA,GAAkB;AAChD,EAAA,MAAMC,OAAsB,GAAGC,UAAU,CAACC,kBAAkB,CAAC,CAAA;AAC7D,EAAA,OAAOF,OAAO,CAAA;AAChB;;;;"}
@@ -1,38 +1,32 @@
1
- var OutgoingMessageStates;
2
-
3
- (function (OutgoingMessageStates) {
1
+ let OutgoingMessageStates = /*#__PURE__*/function (OutgoingMessageStates) {
4
2
  OutgoingMessageStates["NONE"] = "NONE";
5
3
  OutgoingMessageStates["PENDING"] = "PENDING";
6
4
  OutgoingMessageStates["SENT"] = "SENT";
7
5
  OutgoingMessageStates["FAILED"] = "FAILED";
8
6
  OutgoingMessageStates["DELIVERED"] = "DELIVERED";
9
7
  OutgoingMessageStates["READ"] = "READ";
10
- })(OutgoingMessageStates || (OutgoingMessageStates = {}));
11
-
12
- var getOutgoingMessageState = function (channel, message) {
13
- var _a, _b, _c, _d, _e;
14
-
8
+ return OutgoingMessageStates;
9
+ }({});
10
+ const getOutgoingMessageState = (channel, message) => {
11
+ var _channel$isGroupChann;
15
12
  if (message.sendingStatus === 'pending') {
16
13
  return OutgoingMessageStates.PENDING;
17
14
  }
18
-
19
15
  if (message.sendingStatus === 'failed') {
20
16
  return OutgoingMessageStates.FAILED;
21
17
  }
22
-
23
- if ((_a = channel === null || channel === void 0 ? void 0 : channel.isGroupChannel) === null || _a === void 0 ? void 0 : _a.call(channel)) {
18
+ if (channel !== null && channel !== void 0 && (_channel$isGroupChann = channel.isGroupChannel) !== null && _channel$isGroupChann !== void 0 && _channel$isGroupChann.call(channel)) {
19
+ var _getUnreadMemberCount, _ref, _getUndeliveredMember, _ref2;
24
20
  /* GroupChannel only */
25
- if (((_c = (_b = channel).getUnreadMemberCount) === null || _c === void 0 ? void 0 : _c.call(_b, message)) === 0) {
21
+ if (((_getUnreadMemberCount = (_ref = channel).getUnreadMemberCount) === null || _getUnreadMemberCount === void 0 ? void 0 : _getUnreadMemberCount.call(_ref, message)) === 0) {
26
22
  return OutgoingMessageStates.READ;
27
- } else if (((_e = (_d = channel).getUndeliveredMemberCount) === null || _e === void 0 ? void 0 : _e.call(_d, message)) === 0) {
23
+ } else if (((_getUndeliveredMember = (_ref2 = channel).getUndeliveredMemberCount) === null || _getUndeliveredMember === void 0 ? void 0 : _getUndeliveredMember.call(_ref2, message)) === 0) {
28
24
  return OutgoingMessageStates.DELIVERED;
29
25
  }
30
26
  }
31
-
32
27
  if (message.sendingStatus === 'succeeded') {
33
28
  return OutgoingMessageStates.SENT;
34
29
  }
35
-
36
30
  return OutgoingMessageStates.NONE;
37
31
  };
38
32
 
@@ -1 +1 @@
1
- {"version":3,"file":"getOutgoingMessageState.js","sources":["../../../src/utils/exports/getOutgoingMessageState.ts"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { OpenChannel } from '@sendbird/chat/openChannel';\nimport { UserMessage, FileMessage } from '@sendbird/chat/message';\n\nexport enum OutgoingMessageStates {\n NONE = 'NONE',\n PENDING = 'PENDING',\n SENT = 'SENT',\n FAILED = 'FAILED',\n DELIVERED = 'DELIVERED',\n READ = 'READ',\n}\n\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') {\n return OutgoingMessageStates.PENDING;\n }\n if (message.sendingStatus === 'failed') {\n return OutgoingMessageStates.FAILED\n }\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount?.(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount?.(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') {\n return OutgoingMessageStates.SENT\n }\n return OutgoingMessageStates.NONE;\n};\n"],"names":["OutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","PENDING","FAILED","_a","isGroupChannel","call","_c","_b","getUnreadMemberCount","READ","_e","_d","getUndeliveredMemberCount","DELIVERED","SENT","NONE"],"mappings":"IAIYA,sBAAZ;;AAAA,CAAA,UAAYA,qBAAZ,EAAiC;AAC/BA,EAAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AACAA,EAAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;AACAA,EAAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AACAA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AACAA,EAAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;AACAA,EAAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AACD,CAPD,EAAYA,qBAAqB,KAArBA,qBAAqB,GAOhC,EAPgC,CAAjC,CAAA,CAAA;;IASaC,uBAAuB,GAAG,UAACC,OAAD,EAAsCC,OAAtC,EAAwE;;;AAC7G,EAAA,IAAIA,OAAO,CAACC,aAAR,KAA0B,SAA9B,EAAyC;IACvC,OAAOJ,qBAAqB,CAACK,OAA7B,CAAA;AACD,GAAA;;AACD,EAAA,IAAIF,OAAO,CAACC,aAAR,KAA0B,QAA9B,EAAwC;IACtC,OAAOJ,qBAAqB,CAACM,MAA7B,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAAAC,EAAA,GAAAL,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEM,cAAT,MAAuB,IAAvB,IAAuBD,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAAE,IAAA,CAAAP,OAAA,CAA3B,EAAiC;AAC/B;AACA,IAAA,IAAI,CAAA,CAAAQ,EAAA,GAAA,CAAAC,EAAA,GAACT,OAAD,EAA0BU,oBAA1B,MAA8C,IAA9C,IAA8CF,EAAA,KAAA,KAAA,CAA9C,GAA8C,KAAA,CAA9C,GAA8CA,EAAA,CAAAD,IAAA,CAAAE,EAAA,EAAGR,OAAH,CAA9C,MAA8D,CAAlE,EAAqE;MACnE,OAAOH,qBAAqB,CAACa,IAA7B,CAAA;AACD,KAFD,MAEO,IAAI,CAAA,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAACb,OAAD,EAA0Bc,yBAA1B,MAAmD,IAAnD,IAAmDF,EAAA,KAAA,KAAA,CAAnD,GAAmD,KAAA,CAAnD,GAAmDA,EAAA,CAAAL,IAAA,CAAAM,EAAA,EAAGZ,OAAH,CAAnD,MAAmE,CAAvE,EAA0E;MAC/E,OAAOH,qBAAqB,CAACiB,SAA7B,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,IAAId,OAAO,CAACC,aAAR,KAA0B,WAA9B,EAA2C;IACzC,OAAOJ,qBAAqB,CAACkB,IAA7B,CAAA;AACD,GAAA;;EACD,OAAOlB,qBAAqB,CAACmB,IAA7B,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"getOutgoingMessageState.js","sources":["../../../src/utils/exports/getOutgoingMessageState.ts"],"sourcesContent":["import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { OpenChannel } from '@sendbird/chat/openChannel';\nimport { UserMessage, FileMessage } from '@sendbird/chat/message';\nimport { Nullable } from '../../types';\n\nexport enum OutgoingMessageStates {\n NONE = 'NONE',\n PENDING = 'PENDING',\n SENT = 'SENT',\n FAILED = 'FAILED',\n DELIVERED = 'DELIVERED',\n READ = 'READ',\n}\n\nexport const getOutgoingMessageState = (channel: Nullable<GroupChannel | OpenChannel>, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') {\n return OutgoingMessageStates.PENDING;\n }\n if (message.sendingStatus === 'failed') {\n return OutgoingMessageStates.FAILED;\n }\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount?.(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount?.(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') {\n return OutgoingMessageStates.SENT;\n }\n return OutgoingMessageStates.NONE;\n};\n"],"names":["OutgoingMessageStates","getOutgoingMessageState","channel","message","_channel$isGroupChann","sendingStatus","PENDING","FAILED","isGroupChannel","call","_getUnreadMemberCount","_ref","_getUndeliveredMember","_ref2","getUnreadMemberCount","READ","getUndeliveredMemberCount","DELIVERED","SENT","NONE"],"mappings":"AAKYA,IAAAA,qBAAqB,0BAArBA,qBAAqB,EAAA;EAArBA,qBAAqB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAArBA,qBAAqB,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAArBA,qBAAqB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAArBA,qBAAqB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAArBA,qBAAqB,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAArBA,qBAAqB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAArBA,qBAAqB,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;MASpBC,uBAAuB,GAAGA,CAACC,OAA6C,EAAEC,OAAkC,KAAa;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACpI,EAAA,IAAID,OAAO,CAACE,aAAa,KAAK,SAAS,EAAE;IACvC,OAAOL,qBAAqB,CAACM,OAAO,CAAA;AACtC,GAAA;AACA,EAAA,IAAIH,OAAO,CAACE,aAAa,KAAK,QAAQ,EAAE;IACtC,OAAOL,qBAAqB,CAACO,MAAM,CAAA;AACrC,GAAA;AACA,EAAA,IAAIL,OAAO,KAAPA,IAAAA,IAAAA,OAAO,gBAAAE,qBAAA,GAAPF,OAAO,CAAEM,cAAc,MAAAJ,IAAAA,IAAAA,qBAAA,eAAvBA,qBAAA,CAAAK,IAAA,CAAAP,OAAO,CAAoB,EAAE;AAAA,IAAA,IAAAQ,qBAAA,EAAAC,IAAA,EAAAC,qBAAA,EAAAC,KAAA,CAAA;AAC/B;IACA,IAAI,CAAA,CAAAH,qBAAA,GAAAC,CAAAA,IAAA,GAACT,OAAO,EAAkBY,oBAAoB,MAAAJ,IAAAA,IAAAA,qBAAA,uBAA9CA,qBAAA,CAAAD,IAAA,CAAAE,IAAA,EAAiDR,OAAO,CAAC,MAAK,CAAC,EAAE;MACnE,OAAOH,qBAAqB,CAACe,IAAI,CAAA;KAClC,MAAM,IAAI,CAAAH,CAAAA,qBAAA,IAAAC,KAAA,GAACX,OAAO,EAAkBc,yBAAyB,MAAA,IAAA,IAAAJ,qBAAA,KAAnDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAH,IAAA,CAAAI,KAAA,EAAsDV,OAAO,CAAC,MAAK,CAAC,EAAE;MAC/E,OAAOH,qBAAqB,CAACiB,SAAS,CAAA;AACxC,KAAA;AACF,GAAA;AACA,EAAA,IAAId,OAAO,CAACE,aAAa,KAAK,WAAW,EAAE;IACzC,OAAOL,qBAAqB,CAACkB,IAAI,CAAA;AACnC,GAAA;EACA,OAAOlB,qBAAqB,CAACmB,IAAI,CAAA;AACnC;;;;"}