@sendbird/uikit-react 3.3.5-rc.0 → 3.5.0-beta.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 (501) hide show
  1. package/App.js +35 -34
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +76 -0
  4. package/Channel/components/ChannelHeader.js +18 -18
  5. package/Channel/components/ChannelUI.js +28 -27
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +14 -14
  8. package/Channel/components/FrozenNotification.js +4 -4
  9. package/Channel/components/Message.js +25 -24
  10. package/Channel/components/Message.js.map +1 -1
  11. package/Channel/components/MessageInput.js +16 -16
  12. package/Channel/components/MessageList.js +26 -25
  13. package/Channel/components/MessageList.js.map +1 -1
  14. package/Channel/components/RemoveMessageModal.js +16 -16
  15. package/Channel/components/SuggestedMentionList.js +16 -16
  16. package/Channel/components/TypingIndicator.js +14 -14
  17. package/Channel/components/UnreadCount.js +4 -4
  18. package/Channel/context.js +13 -13
  19. package/Channel.js +28 -27
  20. package/Channel.js.map +1 -1
  21. package/ChannelList/components/AddChannel.js +15 -15
  22. package/ChannelList/components/ChannelListHeader.js +7 -7
  23. package/ChannelList/components/ChannelListUI.js +29 -28
  24. package/ChannelList/components/ChannelListUI.js.map +1 -1
  25. package/ChannelList/components/ChannelPreview.js +25 -24
  26. package/ChannelList/components/ChannelPreview.js.map +1 -1
  27. package/ChannelList/components/ChannelPreviewAction.js +14 -14
  28. package/ChannelList/context.js +8 -8
  29. package/ChannelList.js +29 -28
  30. package/ChannelList.js.map +1 -1
  31. package/{ChannelListProvider-88cdca14.js → ChannelListProvider-f461d265.js} +8 -8
  32. package/{ChannelListProvider-88cdca14.js.map → ChannelListProvider-f461d265.js.map} +1 -1
  33. package/{ChannelProvider-01c79c11.js → ChannelProvider-554e7116.js} +9 -9
  34. package/{ChannelProvider-01c79c11.js.map → ChannelProvider-554e7116.js.map} +1 -1
  35. package/ChannelSettings/components/ChannelProfile.js +12 -12
  36. package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  37. package/ChannelSettings/components/EditDetailsModal.js +12 -12
  38. package/ChannelSettings/components/LeaveChannel.js +12 -12
  39. package/ChannelSettings/components/ModerationPanel.js +15 -15
  40. package/ChannelSettings/components/UserListItem.js +11 -11
  41. package/ChannelSettings/components/UserPanel.js +14 -14
  42. package/ChannelSettings/context.js +3 -3
  43. package/ChannelSettings.js +18 -18
  44. package/CreateChannel/components/CreateChannelUI.js +14 -14
  45. package/CreateChannel/components/InviteUsers.js +14 -14
  46. package/CreateChannel/components/SelectChannelType.js +11 -11
  47. package/CreateChannel/context.js +4 -4
  48. package/CreateChannel.js +14 -14
  49. package/{CreateChannelProvider-86bd8f13.js → CreateChannelProvider-250cd98e.js} +1 -1
  50. package/{CreateChannelProvider-86bd8f13.js.map → CreateChannelProvider-250cd98e.js.map} +1 -1
  51. package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  52. package/CreateOpenChannel/context.js +1 -1
  53. package/CreateOpenChannel.js +10 -10
  54. package/EditUserProfile/components/EditUserProfileUI.js +13 -13
  55. package/EditUserProfile.js +13 -13
  56. package/{LocalizationContext-2884fc26.js → LocalizationContext-4df0cc32.js} +3 -3
  57. package/{LocalizationContext-2884fc26.js.map → LocalizationContext-4df0cc32.js.map} +1 -1
  58. package/{MediaQueryContext-4b77fc65.js → MediaQueryContext-74183e34.js} +1 -1
  59. package/{MediaQueryContext-4b77fc65.js.map → MediaQueryContext-74183e34.js.map} +1 -1
  60. package/{MemberList-72872fdc.js → MemberList-51c7afaa.js} +5 -5
  61. package/{MemberList-72872fdc.js.map → MemberList-51c7afaa.js.map} +1 -1
  62. package/MessageSearch/components/MessageSearchUI.js +12 -11
  63. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  64. package/MessageSearch/context.js +2 -2
  65. package/MessageSearch.js +12 -11
  66. package/MessageSearch.js.map +1 -1
  67. package/NotificationChannel/components/NotificationChannelUI.js +119 -0
  68. package/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
  69. package/NotificationChannel/components/NotificationList.js +111 -0
  70. package/NotificationChannel/components/NotificationList.js.map +1 -0
  71. package/NotificationChannel/components/NotificationMessageWrap.js +136 -0
  72. package/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
  73. package/NotificationChannel/context.js +12 -0
  74. package/NotificationChannel/context.js.map +1 -0
  75. package/NotificationChannel.js +58 -0
  76. package/NotificationChannel.js.map +1 -0
  77. package/NotificationChannelProvider-0d8be1ad.js +535 -0
  78. package/NotificationChannelProvider-0d8be1ad.js.map +1 -0
  79. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  80. package/OpenChannel/components/OpenChannelHeader.js +13 -13
  81. package/OpenChannel/components/OpenChannelInput.js +15 -15
  82. package/OpenChannel/components/OpenChannelMessage.js +22 -22
  83. package/OpenChannel/components/OpenChannelMessageList.js +24 -24
  84. package/OpenChannel/components/OpenChannelUI.js +24 -24
  85. package/OpenChannel/context.js +9 -9
  86. package/OpenChannel.js +24 -24
  87. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  88. package/OpenChannelList/components/OpenChannelPreview.js +4 -4
  89. package/OpenChannelList/context.js +4 -4
  90. package/OpenChannelList.js +13 -13
  91. package/{OpenChannelListProvider-559bfc77.js → OpenChannelListProvider-8c753945.js} +3 -3
  92. package/{OpenChannelListProvider-559bfc77.js.map → OpenChannelListProvider-8c753945.js.map} +1 -1
  93. package/{OpenChannelProvider-b0a05b47.js → OpenChannelProvider-2fa01820.js} +7 -7
  94. package/{OpenChannelProvider-b0a05b47.js.map → OpenChannelProvider-2fa01820.js.map} +1 -1
  95. package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  96. package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  97. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  98. package/OpenChannelSettings/components/OperatorUI.js +17 -17
  99. package/OpenChannelSettings/components/ParticipantUI.js +15 -15
  100. package/OpenChannelSettings/context.js +3 -3
  101. package/OpenChannelSettings.js +18 -18
  102. package/{RemoveMessageModal-a5901174.js → RemoveMessageModal-9762fed1.js} +3 -3
  103. package/{RemoveMessageModal-a5901174.js.map → RemoveMessageModal-9762fed1.js.map} +1 -1
  104. package/SendbirdProvider.js +10 -10
  105. package/SendbirdProvider.js.map +1 -1
  106. package/Thread/components/ParentMessageInfo.js +21 -21
  107. package/Thread/components/ParentMessageInfoItem.js +14 -14
  108. package/Thread/components/ThreadHeader.js +6 -6
  109. package/Thread/components/ThreadList.js +25 -24
  110. package/Thread/components/ThreadList.js.map +1 -1
  111. package/Thread/components/ThreadListItem.js +25 -24
  112. package/Thread/components/ThreadListItem.js.map +1 -1
  113. package/Thread/components/ThreadMessageInput.js +16 -16
  114. package/Thread/components/ThreadUI.js +27 -26
  115. package/Thread/components/ThreadUI.js.map +1 -1
  116. package/Thread/context.js +8 -8
  117. package/Thread.js +27 -26
  118. package/Thread.js.map +1 -1
  119. package/{ThreadProvider-2e278d0b.js → ThreadProvider-6974fb3e.js} +6 -6
  120. package/{ThreadProvider-2e278d0b.js.map → ThreadProvider-6974fb3e.js.map} +1 -1
  121. package/{UserProfileContext-f1df8507.js → UserProfileContext-c58a7b86.js} +1 -1
  122. package/{UserProfileContext-f1df8507.js.map → UserProfileContext-c58a7b86.js.map} +1 -1
  123. package/{_rollupPluginBabelHelpers-c0cff13a.js → _rollupPluginBabelHelpers-498add61.js} +1 -1
  124. package/_rollupPluginBabelHelpers-498add61.js.map +1 -0
  125. package/{actionTypes-7a81aa4a.js → actionTypes-ad2cbd73.js} +1 -1
  126. package/{actionTypes-7a81aa4a.js.map → actionTypes-ad2cbd73.js.map} +1 -1
  127. package/cjs/App.js +35 -34
  128. package/cjs/App.js.map +1 -1
  129. package/cjs/Channel/components/ChannelHeader.js +18 -18
  130. package/cjs/Channel/components/ChannelUI.js +28 -27
  131. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  132. package/cjs/Channel/components/FileViewer.js +14 -14
  133. package/cjs/Channel/components/FrozenNotification.js +4 -4
  134. package/cjs/Channel/components/Message.js +25 -24
  135. package/cjs/Channel/components/Message.js.map +1 -1
  136. package/cjs/Channel/components/MessageInput.js +16 -16
  137. package/cjs/Channel/components/MessageList.js +26 -25
  138. package/cjs/Channel/components/MessageList.js.map +1 -1
  139. package/cjs/Channel/components/RemoveMessageModal.js +16 -16
  140. package/cjs/Channel/components/SuggestedMentionList.js +16 -16
  141. package/cjs/Channel/components/TypingIndicator.js +14 -14
  142. package/cjs/Channel/components/UnreadCount.js +4 -4
  143. package/cjs/Channel/context.js +13 -13
  144. package/cjs/Channel.js +28 -27
  145. package/cjs/Channel.js.map +1 -1
  146. package/cjs/ChannelList/components/AddChannel.js +15 -15
  147. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  148. package/cjs/ChannelList/components/ChannelListUI.js +29 -28
  149. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  150. package/cjs/ChannelList/components/ChannelPreview.js +25 -24
  151. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  152. package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
  153. package/cjs/ChannelList/context.js +8 -8
  154. package/cjs/ChannelList.js +29 -28
  155. package/cjs/ChannelList.js.map +1 -1
  156. package/cjs/{ChannelListProvider-fca2402f.js → ChannelListProvider-c2148b43.js} +8 -8
  157. package/cjs/{ChannelListProvider-fca2402f.js.map → ChannelListProvider-c2148b43.js.map} +1 -1
  158. package/cjs/{ChannelProvider-c69451a4.js → ChannelProvider-cf5dc7e3.js} +9 -9
  159. package/cjs/{ChannelProvider-c69451a4.js.map → ChannelProvider-cf5dc7e3.js.map} +1 -1
  160. package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
  161. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
  162. package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
  163. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
  164. package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
  165. package/cjs/ChannelSettings/components/UserListItem.js +11 -11
  166. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  167. package/cjs/ChannelSettings/context.js +3 -3
  168. package/cjs/ChannelSettings.js +18 -18
  169. package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
  170. package/cjs/CreateChannel/components/InviteUsers.js +14 -14
  171. package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
  172. package/cjs/CreateChannel/context.js +4 -4
  173. package/cjs/CreateChannel.js +14 -14
  174. package/cjs/{CreateChannelProvider-4bc1d9c4.js → CreateChannelProvider-c98de398.js} +1 -1
  175. package/cjs/{CreateChannelProvider-4bc1d9c4.js.map → CreateChannelProvider-c98de398.js.map} +1 -1
  176. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
  177. package/cjs/CreateOpenChannel/context.js +1 -1
  178. package/cjs/CreateOpenChannel.js +10 -10
  179. package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
  180. package/cjs/EditUserProfile.js +13 -13
  181. package/cjs/{LocalizationContext-d41b4430.js → LocalizationContext-2b3f310d.js} +3 -3
  182. package/cjs/{LocalizationContext-d41b4430.js.map → LocalizationContext-2b3f310d.js.map} +1 -1
  183. package/cjs/{MediaQueryContext-5b7eb39a.js → MediaQueryContext-71862be1.js} +1 -1
  184. package/cjs/{MediaQueryContext-5b7eb39a.js.map → MediaQueryContext-71862be1.js.map} +1 -1
  185. package/cjs/{MemberList-e26813a5.js → MemberList-13566703.js} +5 -5
  186. package/cjs/{MemberList-e26813a5.js.map → MemberList-13566703.js.map} +1 -1
  187. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -11
  188. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  189. package/cjs/MessageSearch/context.js +2 -2
  190. package/cjs/MessageSearch.js +12 -11
  191. package/cjs/MessageSearch.js.map +1 -1
  192. package/cjs/NotificationChannel/components/NotificationChannelUI.js +125 -0
  193. package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
  194. package/cjs/NotificationChannel/components/NotificationList.js +117 -0
  195. package/cjs/NotificationChannel/components/NotificationList.js.map +1 -0
  196. package/cjs/NotificationChannel/components/NotificationMessageWrap.js +142 -0
  197. package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
  198. package/cjs/NotificationChannel/context.js +21 -0
  199. package/cjs/NotificationChannel/context.js.map +1 -0
  200. package/cjs/NotificationChannel.js +64 -0
  201. package/cjs/NotificationChannel.js.map +1 -0
  202. package/cjs/NotificationChannelProvider-8f3b7320.js +543 -0
  203. package/cjs/NotificationChannelProvider-8f3b7320.js.map +1 -0
  204. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  205. package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
  206. package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
  207. package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
  208. package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
  209. package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
  210. package/cjs/OpenChannel/context.js +9 -9
  211. package/cjs/OpenChannel.js +24 -24
  212. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  213. package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
  214. package/cjs/OpenChannelList/context.js +4 -4
  215. package/cjs/OpenChannelList.js +13 -13
  216. package/cjs/{OpenChannelListProvider-684443e8.js → OpenChannelListProvider-64043b4f.js} +3 -3
  217. package/cjs/{OpenChannelListProvider-684443e8.js.map → OpenChannelListProvider-64043b4f.js.map} +1 -1
  218. package/cjs/{OpenChannelProvider-b7318ef8.js → OpenChannelProvider-5b56e629.js} +7 -7
  219. package/cjs/{OpenChannelProvider-b7318ef8.js.map → OpenChannelProvider-5b56e629.js.map} +1 -1
  220. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
  221. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
  222. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
  223. package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
  224. package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
  225. package/cjs/OpenChannelSettings/context.js +3 -3
  226. package/cjs/OpenChannelSettings.js +18 -18
  227. package/cjs/{RemoveMessageModal-6a6d56cd.js → RemoveMessageModal-c01eb93b.js} +3 -3
  228. package/cjs/{RemoveMessageModal-6a6d56cd.js.map → RemoveMessageModal-c01eb93b.js.map} +1 -1
  229. package/cjs/SendbirdProvider.js +10 -10
  230. package/cjs/SendbirdProvider.js.map +1 -1
  231. package/cjs/Thread/components/ParentMessageInfo.js +21 -21
  232. package/cjs/Thread/components/ParentMessageInfoItem.js +14 -14
  233. package/cjs/Thread/components/ThreadHeader.js +6 -6
  234. package/cjs/Thread/components/ThreadList.js +25 -24
  235. package/cjs/Thread/components/ThreadList.js.map +1 -1
  236. package/cjs/Thread/components/ThreadListItem.js +25 -24
  237. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  238. package/cjs/Thread/components/ThreadMessageInput.js +16 -16
  239. package/cjs/Thread/components/ThreadUI.js +27 -26
  240. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  241. package/cjs/Thread/context.js +8 -8
  242. package/cjs/Thread.js +27 -26
  243. package/cjs/Thread.js.map +1 -1
  244. package/cjs/{ThreadProvider-960d9cfd.js → ThreadProvider-d3c0c877.js} +6 -6
  245. package/cjs/{ThreadProvider-960d9cfd.js.map → ThreadProvider-d3c0c877.js.map} +1 -1
  246. package/cjs/{UserProfileContext-ac87948e.js → UserProfileContext-9d60cdc4.js} +1 -1
  247. package/cjs/{UserProfileContext-ac87948e.js.map → UserProfileContext-9d60cdc4.js.map} +1 -1
  248. package/cjs/{_rollupPluginBabelHelpers-0bb67a62.js → _rollupPluginBabelHelpers-a7254c9d.js} +1 -1
  249. package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +1 -0
  250. package/cjs/{actionTypes-a06bbd4b.js → actionTypes-0e8bea91.js} +1 -1
  251. package/cjs/{actionTypes-a06bbd4b.js.map → actionTypes-0e8bea91.js.map} +1 -1
  252. package/cjs/{color-1c4b0fb9.js → color-89f33656.js} +1 -1
  253. package/cjs/{color-1c4b0fb9.js.map → color-89f33656.js.map} +1 -1
  254. package/cjs/{compareIds-8341d8ea.js → compareIds-ca869c2e.js} +1 -1
  255. package/cjs/{compareIds-8341d8ea.js.map → compareIds-ca869c2e.js.map} +1 -1
  256. package/cjs/{const-4650f00a.js → const-55d167ca.js} +1 -1
  257. package/cjs/{const-4650f00a.js.map → const-55d167ca.js.map} +1 -1
  258. package/cjs/{const-6257f116.js → const-db71e993.js} +1 -1
  259. package/cjs/{const-6257f116.js.map → const-db71e993.js.map} +1 -1
  260. package/cjs/{context-796575c1.js → context-2f5d47fd.js} +2 -2
  261. package/cjs/{context-796575c1.js.map → context-2f5d47fd.js.map} +1 -1
  262. package/cjs/dist/index.css +243 -76
  263. package/cjs/dist/index.css.map +1 -1
  264. package/cjs/{index-6a01cb26.js → index-0988ab25.js} +3 -57
  265. package/cjs/index-0988ab25.js.map +1 -0
  266. package/cjs/{index-2c320718.js → index-21b2339d.js} +2 -2
  267. package/cjs/index-21b2339d.js.map +1 -0
  268. package/cjs/{index-04cf08cd.js → index-2c5dd48c.js} +2 -2
  269. package/cjs/{index-04cf08cd.js.map → index-2c5dd48c.js.map} +1 -1
  270. package/cjs/{index-2c50cf69.js → index-5c81f847.js} +2 -2
  271. package/cjs/{index-2c50cf69.js.map → index-5c81f847.js.map} +1 -1
  272. package/cjs/{index-06d4bb3b.js → index-621e74bd.js} +13 -6
  273. package/cjs/index-621e74bd.js.map +1 -0
  274. package/cjs/{index-23f93fb7.js → index-73467e1d.js} +2 -2
  275. package/cjs/{index-23f93fb7.js.map → index-73467e1d.js.map} +1 -1
  276. package/cjs/index-8de59744.js +59 -0
  277. package/cjs/index-8de59744.js.map +1 -0
  278. package/cjs/{index-939a4e9f.js → index-a52859ed.js} +7 -7
  279. package/cjs/{index-939a4e9f.js.map → index-a52859ed.js.map} +1 -1
  280. package/cjs/{index-82932bfa.js → index-be9c6237.js} +5 -5
  281. package/cjs/{index-82932bfa.js.map → index-be9c6237.js.map} +1 -1
  282. package/cjs/{index-ac938e96.js → index-c4d4ef49.js} +1 -1
  283. package/cjs/{index-ac938e96.js.map → index-c4d4ef49.js.map} +1 -1
  284. package/cjs/{index-916e04ab.js → index-d6ef2a60.js} +2 -2
  285. package/cjs/{index-916e04ab.js.map → index-d6ef2a60.js.map} +1 -1
  286. package/cjs/{index-830ce6e4.js → index-de151767.js} +1 -1
  287. package/cjs/{index-830ce6e4.js.map → index-de151767.js.map} +1 -1
  288. package/cjs/{index-b8bbd03a.js → index-e240e852.js} +11 -10
  289. package/cjs/{index-b8bbd03a.js.map → index-e240e852.js.map} +1 -1
  290. package/cjs/index.js +39 -38
  291. package/cjs/index.js.map +1 -1
  292. package/cjs/sendbirdSelectors.js +2 -2
  293. package/cjs/{stringSet-ef1de13f.js → stringSet-91b919f6.js} +5 -1
  294. package/cjs/stringSet-91b919f6.js.map +1 -0
  295. package/cjs/{topics-79b8e481.js → topics-ac9cf7ed.js} +1 -1
  296. package/cjs/{topics-79b8e481.js.map → topics-ac9cf7ed.js.map} +1 -1
  297. package/cjs/{tslib.es6-a0841755.js → tslib.es6-43854eb1.js} +14 -1
  298. package/cjs/{tslib.es6-a0841755.js.map → tslib.es6-43854eb1.js.map} +1 -1
  299. package/cjs/ui/Accordion.js +3 -3
  300. package/cjs/ui/AccordionGroup.js +2 -2
  301. package/cjs/ui/AdminMessage.js +3 -3
  302. package/cjs/ui/Avatar.js +2 -2
  303. package/cjs/ui/Badge.js +5 -5
  304. package/cjs/ui/BottomSheet.js +1 -1
  305. package/cjs/ui/Button.js +3 -3
  306. package/cjs/ui/ChannelAvatar.js +3 -3
  307. package/cjs/ui/ConnectionStatus.js +4 -4
  308. package/cjs/ui/ContextMenu.js +5 -5
  309. package/cjs/ui/DateSeparator.js +4 -4
  310. package/cjs/ui/EmojiReactions.js +7 -7
  311. package/cjs/ui/FileMessageItemBody.js +6 -6
  312. package/cjs/ui/FileViewer.js +8 -8
  313. package/cjs/ui/IconButton.js +1 -1
  314. package/cjs/ui/ImageRenderer.js +1 -1
  315. package/cjs/ui/Input.js +2 -2
  316. package/cjs/ui/Label.js +2 -2
  317. package/cjs/ui/LinkLabel.js +2 -2
  318. package/cjs/ui/Loader.js +1 -1
  319. package/cjs/ui/MentionLabel.js +11 -11
  320. package/cjs/ui/MessageContent.js +21 -20
  321. package/cjs/ui/MessageContent.js.map +1 -1
  322. package/cjs/ui/MessageInput.js +9 -9
  323. package/cjs/ui/MessageItemMenu.js +7 -7
  324. package/cjs/ui/MessageItemReactionMenu.js +5 -5
  325. package/cjs/ui/MessageSearchFileItem.js +11 -10
  326. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  327. package/cjs/ui/MessageSearchItem.js +11 -10
  328. package/cjs/ui/MessageSearchItem.js.map +1 -1
  329. package/cjs/ui/MessageStatus.js +11 -10
  330. package/cjs/ui/MessageStatus.js.map +1 -1
  331. package/cjs/ui/Modal.js +7 -7
  332. package/cjs/ui/OGMessageItemBody.js +11 -11
  333. package/cjs/ui/OpenChannelAdminMessage.js +3 -3
  334. package/cjs/ui/OpenChannelAvatar.js +6 -6
  335. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  336. package/cjs/ui/OpenchannelFileMessage.js +16 -16
  337. package/cjs/ui/OpenchannelOGMessage.js +16 -16
  338. package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
  339. package/cjs/ui/OpenchannelUserMessage.js +16 -16
  340. package/cjs/ui/PlaceHolder.js +6 -6
  341. package/cjs/ui/QuoteMessage.js +6 -6
  342. package/cjs/ui/QuoteMessageInput.js +6 -6
  343. package/cjs/ui/ReactionBadge.js +3 -3
  344. package/cjs/ui/ReactionButton.js +1 -1
  345. package/cjs/ui/SortByRow.js +2 -2
  346. package/cjs/ui/TextButton.js +2 -2
  347. package/cjs/ui/TextMessageItemBody.js +11 -11
  348. package/cjs/ui/ThreadReplies.js +6 -6
  349. package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
  350. package/cjs/ui/Tooltip.js +3 -3
  351. package/cjs/ui/TooltipWrapper.js +1 -1
  352. package/cjs/ui/UnknownMessageItemBody.js +9 -8
  353. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  354. package/cjs/ui/UserListItem.js +11 -11
  355. package/cjs/ui/UserProfile.js +10 -10
  356. package/cjs/ui/Word.js +11 -11
  357. package/cjs/{useLongPress-e9d33f8f.js → useLongPress-c7bf12b1.js} +3 -3
  358. package/cjs/{useLongPress-e9d33f8f.js.map → useLongPress-c7bf12b1.js.map} +1 -1
  359. package/cjs/useSendbirdStateContext.js +1 -1
  360. package/cjs/{utils-6626aa2e.js → utils-1f6c6626.js} +1 -1
  361. package/cjs/{utils-6626aa2e.js.map → utils-1f6c6626.js.map} +1 -1
  362. package/cjs/{utils-861ec4de.js → utils-3714e90e.js} +1 -1
  363. package/cjs/{utils-861ec4de.js.map → utils-3714e90e.js.map} +1 -1
  364. package/cjs/{utils-7778b381.js → utils-4b529d96.js} +1 -1
  365. package/cjs/{utils-7778b381.js.map → utils-4b529d96.js.map} +1 -1
  366. package/cjs/{utils-066ca1ea.js → utils-65a380e8.js} +2 -2
  367. package/cjs/{utils-066ca1ea.js.map → utils-65a380e8.js.map} +1 -1
  368. package/cjs/{uuid-2027ed89.js → uuid-11d4efe8.js} +1 -1
  369. package/cjs/{uuid-2027ed89.js.map → uuid-11d4efe8.js.map} +1 -1
  370. package/cjs/withSendbird.js +1 -1
  371. package/{color-a3418d45.js → color-ff5f9069.js} +1 -1
  372. package/{color-a3418d45.js.map → color-ff5f9069.js.map} +1 -1
  373. package/{compareIds-473e9b83.js → compareIds-9430f9d8.js} +1 -1
  374. package/{compareIds-473e9b83.js.map → compareIds-9430f9d8.js.map} +1 -1
  375. package/{const-ab1efff9.js → const-83764204.js} +1 -1
  376. package/{const-ab1efff9.js.map → const-83764204.js.map} +1 -1
  377. package/{const-ce6aac84.js → const-9d11f204.js} +1 -1
  378. package/{const-ce6aac84.js.map → const-9d11f204.js.map} +1 -1
  379. package/{context-c3839563.js → context-9a69e846.js} +2 -2
  380. package/{context-c3839563.js.map → context-9a69e846.js.map} +1 -1
  381. package/dist/index.css +243 -76
  382. package/dist/index.css.map +1 -1
  383. package/{index-e38e42b0.js → index-07e060cd.js} +1 -1
  384. package/{index-e38e42b0.js.map → index-07e060cd.js.map} +1 -1
  385. package/{index-a88158af.js → index-134314e2.js} +13 -6
  386. package/index-134314e2.js.map +1 -0
  387. package/index-1572c90f.js +57 -0
  388. package/index-1572c90f.js.map +1 -0
  389. package/{index-7cae08fd.js → index-1b91b116.js} +8 -7
  390. package/{index-7cae08fd.js.map → index-1b91b116.js.map} +1 -1
  391. package/{index-358a7883.js → index-3f26a31c.js} +2 -2
  392. package/{index-358a7883.js.map → index-3f26a31c.js.map} +1 -1
  393. package/{index-e525702f.js → index-44470dab.js} +2 -2
  394. package/{index-e525702f.js.map → index-44470dab.js.map} +1 -1
  395. package/{index-27fd8d9e.js → index-5f08f486.js} +2 -2
  396. package/index-5f08f486.js.map +1 -0
  397. package/{index-a1799197.js → index-d3f6dbb9.js} +2 -2
  398. package/{index-a1799197.js.map → index-d3f6dbb9.js.map} +1 -1
  399. package/{index-c6c7ad47.js → index-d8e3ccee.js} +2 -2
  400. package/{index-c6c7ad47.js.map → index-d8e3ccee.js.map} +1 -1
  401. package/{index-12c40d25.js → index-defabece.js} +4 -57
  402. package/index-defabece.js.map +1 -0
  403. package/{index-1542c9b8.js → index-e5b78039.js} +1 -1
  404. package/{index-1542c9b8.js.map → index-e5b78039.js.map} +1 -1
  405. package/{index-eb51b11e.js → index-ed65ee3b.js} +7 -7
  406. package/{index-eb51b11e.js.map → index-ed65ee3b.js.map} +1 -1
  407. package/{index-f6887522.js → index-fc4702b7.js} +5 -5
  408. package/{index-f6887522.js.map → index-fc4702b7.js.map} +1 -1
  409. package/index.d.ts +109 -1
  410. package/index.js +39 -38
  411. package/index.js.map +1 -1
  412. package/package.json +4 -2
  413. package/sendbirdSelectors.js +2 -2
  414. package/{stringSet-140ed862.js → stringSet-d555d877.js} +5 -1
  415. package/stringSet-d555d877.js.map +1 -0
  416. package/{topics-65e08b70.js → topics-351ea731.js} +1 -1
  417. package/{topics-65e08b70.js.map → topics-351ea731.js.map} +1 -1
  418. package/{tslib.es6-bacd991d.js → tslib.es6-bcead7e6.js} +14 -2
  419. package/{tslib.es6-bacd991d.js.map → tslib.es6-bcead7e6.js.map} +1 -1
  420. package/ui/Accordion.js +3 -3
  421. package/ui/AccordionGroup.js +2 -2
  422. package/ui/AdminMessage.js +3 -3
  423. package/ui/Avatar.js +2 -2
  424. package/ui/Badge.js +5 -5
  425. package/ui/BottomSheet.js +1 -1
  426. package/ui/Button.js +3 -3
  427. package/ui/ChannelAvatar.js +3 -3
  428. package/ui/ConnectionStatus.js +4 -4
  429. package/ui/ContextMenu.js +5 -5
  430. package/ui/DateSeparator.js +4 -4
  431. package/ui/EmojiReactions.js +7 -7
  432. package/ui/FileMessageItemBody.js +6 -6
  433. package/ui/FileViewer.js +8 -8
  434. package/ui/IconButton.js +1 -1
  435. package/ui/ImageRenderer.js +1 -1
  436. package/ui/Input.js +2 -2
  437. package/ui/Label.js +2 -2
  438. package/ui/LinkLabel.js +2 -2
  439. package/ui/Loader.js +1 -1
  440. package/ui/MentionLabel.js +11 -11
  441. package/ui/MessageContent.js +21 -20
  442. package/ui/MessageContent.js.map +1 -1
  443. package/ui/MessageInput.js +9 -9
  444. package/ui/MessageItemMenu.js +7 -7
  445. package/ui/MessageItemReactionMenu.js +5 -5
  446. package/ui/MessageSearchFileItem.js +10 -9
  447. package/ui/MessageSearchFileItem.js.map +1 -1
  448. package/ui/MessageSearchItem.js +10 -9
  449. package/ui/MessageSearchItem.js.map +1 -1
  450. package/ui/MessageStatus.js +11 -10
  451. package/ui/MessageStatus.js.map +1 -1
  452. package/ui/Modal.js +7 -7
  453. package/ui/OGMessageItemBody.js +11 -11
  454. package/ui/OpenChannelAdminMessage.js +3 -3
  455. package/ui/OpenChannelAvatar.js +6 -6
  456. package/ui/OpenchannelConversationHeader.js +6 -6
  457. package/ui/OpenchannelFileMessage.js +16 -16
  458. package/ui/OpenchannelOGMessage.js +16 -16
  459. package/ui/OpenchannelThumbnailMessage.js +15 -15
  460. package/ui/OpenchannelUserMessage.js +16 -16
  461. package/ui/PlaceHolder.js +6 -6
  462. package/ui/QuoteMessage.js +6 -6
  463. package/ui/QuoteMessageInput.js +6 -6
  464. package/ui/ReactionBadge.js +3 -3
  465. package/ui/ReactionButton.js +1 -1
  466. package/ui/SortByRow.js +2 -2
  467. package/ui/TextButton.js +2 -2
  468. package/ui/TextMessageItemBody.js +11 -11
  469. package/ui/ThreadReplies.js +6 -6
  470. package/ui/ThumbnailMessageItemBody.js +2 -2
  471. package/ui/Tooltip.js +3 -3
  472. package/ui/TooltipWrapper.js +1 -1
  473. package/ui/UnknownMessageItemBody.js +9 -8
  474. package/ui/UnknownMessageItemBody.js.map +1 -1
  475. package/ui/UserListItem.js +11 -11
  476. package/ui/UserProfile.js +10 -10
  477. package/ui/Word.js +11 -11
  478. package/{useLongPress-952b34b2.js → useLongPress-794838b8.js} +3 -3
  479. package/{useLongPress-952b34b2.js.map → useLongPress-794838b8.js.map} +1 -1
  480. package/useSendbirdStateContext.js +1 -1
  481. package/{utils-6fc7ca06.js → utils-00ac1a7d.js} +1 -1
  482. package/{utils-6fc7ca06.js.map → utils-00ac1a7d.js.map} +1 -1
  483. package/{utils-d9ba26da.js → utils-01e76a0c.js} +2 -2
  484. package/{utils-d9ba26da.js.map → utils-01e76a0c.js.map} +1 -1
  485. package/{utils-ae7fe229.js → utils-8b11ff42.js} +1 -1
  486. package/{utils-ae7fe229.js.map → utils-8b11ff42.js.map} +1 -1
  487. package/{utils-796bbfd8.js → utils-e720e03a.js} +1 -1
  488. package/{utils-796bbfd8.js.map → utils-e720e03a.js.map} +1 -1
  489. package/{uuid-f376ea4b.js → uuid-286ed926.js} +1 -1
  490. package/{uuid-f376ea4b.js.map → uuid-286ed926.js.map} +1 -1
  491. package/withSendbird.js +1 -1
  492. package/_rollupPluginBabelHelpers-c0cff13a.js.map +0 -1
  493. package/cjs/_rollupPluginBabelHelpers-0bb67a62.js.map +0 -1
  494. package/cjs/index-06d4bb3b.js.map +0 -1
  495. package/cjs/index-2c320718.js.map +0 -1
  496. package/cjs/index-6a01cb26.js.map +0 -1
  497. package/cjs/stringSet-ef1de13f.js.map +0 -1
  498. package/index-12c40d25.js.map +0 -1
  499. package/index-27fd8d9e.js.map +0 -1
  500. package/index-a88158af.js.map +0 -1
  501. package/stringSet-140ed862.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelUI.js","sources":["../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n isLoading?: boolean;\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n isLoading,\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n disableMarkAsRead,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n // simple debounce to avoid flicker of UnreadCount badge\n const handler = setTimeout(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, 1000);\n return () => {\n clearTimeout(handler);\n }\n }, [currentGroupChannel?.unreadMessageCount]);\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (isLoading) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>);\n }\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n if (!disableMarkAsRead) {\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n }\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","isLoading","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","disableMarkAsRead","_g","useState","unreadCount","setUnreadCount","useEffect","handler","setTimeout","unreadMessageCount","clearTimeout","globalStore","useSendbirdStateContext","sdkError","_c","_b","stores","sdkStore","error","logger","_d","config","isOnline","_e","React","PlaceHolderTypes","LOADING","NO_CHANNELS","WRONG","info","isFrozen","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel"],"mappings":"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"}
1
+ {"version":3,"file":"ChannelUI.js","sources":["../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n isLoading?: boolean;\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n isLoading,\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n disableMarkAsRead,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n // simple debounce to avoid flicker of UnreadCount badge\n const handler = setTimeout(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, 1000);\n return () => {\n clearTimeout(handler);\n }\n }, [currentGroupChannel?.unreadMessageCount]);\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (isLoading) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>);\n }\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n if (!disableMarkAsRead) {\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n }\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","isLoading","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","disableMarkAsRead","_g","useState","unreadCount","setUnreadCount","useEffect","handler","setTimeout","unreadMessageCount","clearTimeout","globalStore","useSendbirdStateContext","sdkError","_c","_b","stores","sdkStore","error","logger","_d","config","isOnline","_e","React","PlaceHolderTypes","LOADING","NO_CHANNELS","WRONG","info","isFrozen","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
1
  import React__default from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import Avatar from '../../ui/Avatar.js';
4
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e525702f.js';
4
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-44470dab.js';
5
5
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
6
- import { M as MODAL_ROOT } from '../../index-1542c9b8.js';
7
- import { D as isSupportedFileView, E as isVideo, F as isImage } from '../../index-27fd8d9e.js';
6
+ import { M as MODAL_ROOT } from '../../index-e5b78039.js';
7
+ import { D as isSupportedFileView, E as isVideo, F as isImage } from '../../index-5f08f486.js';
8
8
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
9
- import { u as useChannelContext } from '../../ChannelProvider-01c79c11.js';
10
- import '../../tslib.es6-bacd991d.js';
9
+ import { u as useChannelContext } from '../../ChannelProvider-554e7116.js';
10
+ import '../../tslib.es6-bcead7e6.js';
11
11
  import '../../ui/ImageRenderer.js';
12
- import '../../uuid-f376ea4b.js';
12
+ import '../../uuid-286ed926.js';
13
13
  import 'prop-types';
14
- import '../../stringSet-140ed862.js';
14
+ import '../../stringSet-d555d877.js';
15
15
  import '../../utils/message/getOutgoingMessageState.js';
16
16
  import '../../withSendbird.js';
17
- import '../../_rollupPluginBabelHelpers-c0cff13a.js';
18
- import '../../UserProfileContext-f1df8507.js';
19
- import '../../index-358a7883.js';
20
- import '../../index-e38e42b0.js';
21
- import '../../topics-65e08b70.js';
22
- import '../../compareIds-473e9b83.js';
23
- import '../../const-ce6aac84.js';
17
+ import '../../_rollupPluginBabelHelpers-498add61.js';
18
+ import '../../UserProfileContext-c58a7b86.js';
19
+ import '../../index-3f26a31c.js';
20
+ import '../../index-07e060cd.js';
21
+ import '../../topics-351ea731.js';
22
+ import '../../compareIds-9430f9d8.js';
23
+ import '../../const-9d11f204.js';
24
24
  import '@sendbird/chat/groupChannel';
25
25
  import '@sendbird/chat/message';
26
26
  import '../../ui/ContextMenu.js';
@@ -1,8 +1,8 @@
1
1
  import React__default, { useContext } from 'react';
2
- import { a as LocalizationContext } from '../../LocalizationContext-2884fc26.js';
3
- import { L as Label, a as LabelTypography } from '../../index-e525702f.js';
4
- import '../../stringSet-140ed862.js';
5
- import '../../index-e38e42b0.js';
2
+ import { a as LocalizationContext } from '../../LocalizationContext-4df0cc32.js';
3
+ import { L as Label, a as LabelTypography } from '../../index-44470dab.js';
4
+ import '../../stringSet-d555d877.js';
5
+ import '../../index-07e060cd.js';
6
6
  import 'prop-types';
7
7
 
8
8
  var FrozenNotification = function () {
@@ -1,53 +1,54 @@
1
- import { a as __spreadArray } from '../../tslib.es6-bacd991d.js';
1
+ import { a as __spreadArray } from '../../tslib.es6-bcead7e6.js';
2
2
  import React__default, { useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react';
3
- import { f as format } from '../../index-358a7883.js';
3
+ import { f as format } from '../../index-3f26a31c.js';
4
4
  import SuggestedMentionList from './SuggestedMentionList.js';
5
5
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
6
- import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-01c79c11.js';
7
- import { h as getClassName } from '../../index-27fd8d9e.js';
8
- import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-ce6aac84.js';
6
+ import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-554e7116.js';
7
+ import { h as getClassName } from '../../index-5f08f486.js';
8
+ import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-9d11f204.js';
9
9
  import DateSeparator from '../../ui/DateSeparator.js';
10
- import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e525702f.js';
10
+ import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-44470dab.js';
11
11
  import MessageInput from '../../ui/MessageInput.js';
12
12
  import MessageContent from '../../ui/MessageContent.js';
13
13
  import FileViewer from './FileViewer.js';
14
14
  import RemoveMessage from './RemoveMessageModal.js';
15
- import { M as MessageInputKeys } from '../../const-ab1efff9.js';
16
- import { u as useLocalization } from '../../LocalizationContext-2884fc26.js';
17
- import '../../index-e38e42b0.js';
15
+ import { M as MessageInputKeys } from '../../const-83764204.js';
16
+ import { u as useLocalization } from '../../LocalizationContext-4df0cc32.js';
17
+ import '../../index-07e060cd.js';
18
18
  import '../../ui/Icon.js';
19
19
  import 'prop-types';
20
20
  import '../../ui/Avatar.js';
21
21
  import '../../ui/ImageRenderer.js';
22
- import '../../uuid-f376ea4b.js';
23
- import '../../ThreadProvider-2e278d0b.js';
22
+ import '../../uuid-286ed926.js';
23
+ import '../../ThreadProvider-6974fb3e.js';
24
24
  import '../../utils/message/getOutgoingMessageState.js';
25
- import '../../UserProfileContext-f1df8507.js';
25
+ import '../../UserProfileContext-c58a7b86.js';
26
26
  import '../../Thread/context/types.js';
27
27
  import '@sendbird/chat';
28
- import '../../topics-65e08b70.js';
28
+ import '../../topics-351ea731.js';
29
29
  import '@sendbird/chat/groupChannel';
30
30
  import '@sendbird/chat/message';
31
31
  import '../../withSendbird.js';
32
- import '../../_rollupPluginBabelHelpers-c0cff13a.js';
33
- import '../../compareIds-473e9b83.js';
32
+ import '../../_rollupPluginBabelHelpers-498add61.js';
33
+ import '../../compareIds-9430f9d8.js';
34
34
  import '../../ui/ContextMenu.js';
35
35
  import 'react-dom';
36
36
  import '../../ui/SortByRow.js';
37
- import '../../stringSet-140ed862.js';
37
+ import '../../stringSet-d555d877.js';
38
38
  import '../../ui/ReactionButton.js';
39
- import '../../color-a3418d45.js';
39
+ import '../../color-ff5f9069.js';
40
40
  import 'react-dom/server';
41
41
  import '../../ui/IconButton.js';
42
42
  import '../../ui/Button.js';
43
43
  import '../../ui/MentionUserLabel.js';
44
44
  import '../../ui/UserProfile.js';
45
45
  import '../../sendbirdSelectors.js';
46
- import '../../utils-796bbfd8.js';
47
- import '../../index-7cae08fd.js';
46
+ import '../../utils-e720e03a.js';
47
+ import '../../index-1b91b116.js';
48
48
  import '../../ui/Loader.js';
49
- import '../../index-12c40d25.js';
50
- import '../../index-a1799197.js';
49
+ import '../../index-defabece.js';
50
+ import '../../index-d3f6dbb9.js';
51
+ import '../../index-1572c90f.js';
51
52
  import '../../ui/MessageItemMenu.js';
52
53
  import '../../ui/MessageItemReactionMenu.js';
53
54
  import '../../ui/EmojiReactions.js';
@@ -61,14 +62,14 @@ import '../../ui/LinkLabel.js';
61
62
  import '../../ui/MentionLabel.js';
62
63
  import '../../ui/FileMessageItemBody.js';
63
64
  import '../../ui/TextButton.js';
64
- import '../../MediaQueryContext-4b77fc65.js';
65
+ import '../../MediaQueryContext-74183e34.js';
65
66
  import '../../ui/ThumbnailMessageItemBody.js';
66
67
  import '../../ui/OGMessageItemBody.js';
67
68
  import '../../ui/UnknownMessageItemBody.js';
68
69
  import '../../ui/QuoteMessage.js';
69
- import '../../useLongPress-952b34b2.js';
70
+ import '../../useLongPress-794838b8.js';
70
71
  import '../../ui/BottomSheet.js';
71
- import '../../index-1542c9b8.js';
72
+ import '../../index-e5b78039.js';
72
73
  import '../../ui/ThreadReplies.js';
73
74
  import '../../ui/Modal.js';
74
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_c","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_d","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","_e","useState","showEdit","setShowEdit","_f","showRemove","setShowRemove","_g","showFileViewer","setShowFileViewer","_h","isAnimated","setIsAnimated","_j","isHighlighted","setIsHighlighted","_k","mentionNickname","setMentionNickname","_l","mentionedUsers","setMentionedUsers","_m","mentionedUserIds","setMentionedUserIds","_o","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","_b","isUserMessage","call","user","__spreadArray","users","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_c","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_d","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","_e","useState","showEdit","setShowEdit","_f","showRemove","setShowRemove","_g","showFileViewer","setShowFileViewer","_h","isAnimated","setIsAnimated","_j","isHighlighted","setIsHighlighted","_k","mentionNickname","setMentionNickname","_l","mentionedUsers","setMentionedUsers","_m","mentionedUserIds","setMentionedUserIds","_o","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","_b","isUserMessage","call","user","__spreadArray","users","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
@@ -1,30 +1,30 @@
1
- import { a as __spreadArray } from '../../tslib.es6-bacd991d.js';
1
+ import { a as __spreadArray } from '../../tslib.es6-bcead7e6.js';
2
2
  import React__default, { useContext, useState, useEffect } from 'react';
3
- import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-01c79c11.js';
3
+ import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-554e7116.js';
4
4
  import MessageInput from '../../ui/MessageInput.js';
5
5
  import QuoteMessageInput from '../../ui/QuoteMessageInput.js';
6
- import { a as LocalizationContext } from '../../LocalizationContext-2884fc26.js';
6
+ import { a as LocalizationContext } from '../../LocalizationContext-4df0cc32.js';
7
7
  import useSendbirdStateContext from '../../useSendbirdStateContext.js';
8
8
  import SuggestedMentionList from './SuggestedMentionList.js';
9
- import { M as MessageInputKeys } from '../../const-ab1efff9.js';
10
- import '../../UserProfileContext-f1df8507.js';
9
+ import { M as MessageInputKeys } from '../../const-83764204.js';
10
+ import '../../UserProfileContext-c58a7b86.js';
11
11
  import 'prop-types';
12
- import '../../index-358a7883.js';
13
- import '../../index-e38e42b0.js';
14
- import '../../topics-65e08b70.js';
15
- import '../../index-27fd8d9e.js';
12
+ import '../../index-3f26a31c.js';
13
+ import '../../index-07e060cd.js';
14
+ import '../../topics-351ea731.js';
15
+ import '../../index-5f08f486.js';
16
16
  import '../../utils/message/getOutgoingMessageState.js';
17
- import '../../_rollupPluginBabelHelpers-c0cff13a.js';
18
- import '../../compareIds-473e9b83.js';
19
- import '../../const-ce6aac84.js';
17
+ import '../../_rollupPluginBabelHelpers-498add61.js';
18
+ import '../../compareIds-9430f9d8.js';
19
+ import '../../const-9d11f204.js';
20
20
  import '@sendbird/chat/groupChannel';
21
- import '../../uuid-f376ea4b.js';
21
+ import '../../uuid-286ed926.js';
22
22
  import '@sendbird/chat/message';
23
23
  import '../../ui/ContextMenu.js';
24
24
  import 'react-dom';
25
25
  import '../../ui/SortByRow.js';
26
- import '../../index-e525702f.js';
27
- import '../../stringSet-140ed862.js';
26
+ import '../../index-44470dab.js';
27
+ import '../../stringSet-d555d877.js';
28
28
  import '../../ui/ReactionButton.js';
29
29
  import '../../ui/ImageRenderer.js';
30
30
  import '../../ui/Icon.js';
@@ -34,7 +34,7 @@ import '../../ui/Button.js';
34
34
  import '../../ui/MentionUserLabel.js';
35
35
  import '../../withSendbird.js';
36
36
  import '../../ui/Avatar.js';
37
- import '../../ThreadProvider-2e278d0b.js';
37
+ import '../../ThreadProvider-6974fb3e.js';
38
38
  import '../../Thread/context/types.js';
39
39
  import '@sendbird/chat';
40
40
 
@@ -1,42 +1,42 @@
1
1
  import React__default, { useState, useMemo } from 'react';
2
- import { i as isSameDay } from '../../index-a1799197.js';
3
- import { u as useChannelContext, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-01c79c11.js';
4
- import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-a88158af.js';
2
+ import { i as isSameDay } from '../../index-d3f6dbb9.js';
3
+ import { u as useChannelContext, c as compareMessagesForGrouping, i as isAboutSame } from '../../ChannelProvider-554e7116.js';
4
+ import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-134314e2.js';
5
5
  import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
6
6
  import Message from './Message.js';
7
- import { u as uuidv4 } from '../../uuid-f376ea4b.js';
8
- import '../../index-358a7883.js';
9
- import '../../index-e38e42b0.js';
10
- import '../../UserProfileContext-f1df8507.js';
7
+ import { u as uuidv4 } from '../../uuid-286ed926.js';
8
+ import '../../index-3f26a31c.js';
9
+ import '../../index-07e060cd.js';
10
+ import '../../UserProfileContext-c58a7b86.js';
11
11
  import 'prop-types';
12
12
  import '../../useSendbirdStateContext.js';
13
13
  import '../../withSendbird.js';
14
- import '../../_rollupPluginBabelHelpers-c0cff13a.js';
15
- import '../../topics-65e08b70.js';
16
- import '../../index-27fd8d9e.js';
17
- import '../../tslib.es6-bacd991d.js';
14
+ import '../../_rollupPluginBabelHelpers-498add61.js';
15
+ import '../../topics-351ea731.js';
16
+ import '../../index-5f08f486.js';
17
+ import '../../tslib.es6-bcead7e6.js';
18
18
  import '../../utils/message/getOutgoingMessageState.js';
19
- import '../../compareIds-473e9b83.js';
20
- import '../../const-ce6aac84.js';
19
+ import '../../compareIds-9430f9d8.js';
20
+ import '../../const-9d11f204.js';
21
21
  import '@sendbird/chat/groupChannel';
22
22
  import '@sendbird/chat/message';
23
23
  import '../../ui/ContextMenu.js';
24
24
  import 'react-dom';
25
25
  import '../../ui/SortByRow.js';
26
- import '../../index-e525702f.js';
27
- import '../../stringSet-140ed862.js';
26
+ import '../../index-44470dab.js';
27
+ import '../../stringSet-d555d877.js';
28
28
  import '../../ui/ReactionButton.js';
29
29
  import '../../ui/ImageRenderer.js';
30
- import '../../LocalizationContext-2884fc26.js';
30
+ import '../../LocalizationContext-4df0cc32.js';
31
31
  import '../../ui/Loader.js';
32
32
  import './SuggestedMentionList.js';
33
33
  import '../../ui/Avatar.js';
34
- import '../../const-ab1efff9.js';
35
- import '../../ThreadProvider-2e278d0b.js';
34
+ import '../../const-83764204.js';
35
+ import '../../ThreadProvider-6974fb3e.js';
36
36
  import '../../Thread/context/types.js';
37
37
  import '@sendbird/chat';
38
38
  import '../../ui/DateSeparator.js';
39
- import '../../color-a3418d45.js';
39
+ import '../../color-ff5f9069.js';
40
40
  import '../../ui/MessageInput.js';
41
41
  import 'react-dom/server';
42
42
  import '../../ui/IconButton.js';
@@ -45,9 +45,10 @@ import '../../ui/MentionUserLabel.js';
45
45
  import '../../ui/MessageContent.js';
46
46
  import '../../ui/UserProfile.js';
47
47
  import '../../sendbirdSelectors.js';
48
- import '../../utils-796bbfd8.js';
49
- import '../../index-7cae08fd.js';
50
- import '../../index-12c40d25.js';
48
+ import '../../utils-e720e03a.js';
49
+ import '../../index-1b91b116.js';
50
+ import '../../index-defabece.js';
51
+ import '../../index-1572c90f.js';
51
52
  import '../../ui/MessageItemMenu.js';
52
53
  import '../../ui/MessageItemReactionMenu.js';
53
54
  import '../../ui/EmojiReactions.js';
@@ -61,14 +62,14 @@ import '../../ui/LinkLabel.js';
61
62
  import '../../ui/MentionLabel.js';
62
63
  import '../../ui/FileMessageItemBody.js';
63
64
  import '../../ui/TextButton.js';
64
- import '../../MediaQueryContext-4b77fc65.js';
65
+ import '../../MediaQueryContext-74183e34.js';
65
66
  import '../../ui/ThumbnailMessageItemBody.js';
66
67
  import '../../ui/OGMessageItemBody.js';
67
68
  import '../../ui/UnknownMessageItemBody.js';
68
69
  import '../../ui/QuoteMessage.js';
69
- import '../../useLongPress-952b34b2.js';
70
+ import '../../useLongPress-794838b8.js';
70
71
  import '../../ui/BottomSheet.js';
71
- import '../../index-1542c9b8.js';
72
+ import '../../index-e5b78039.js';
72
73
  import '../../ui/ThreadReplies.js';
73
74
  import './FileViewer.js';
74
75
  import './RemoveMessageModal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sources":["../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n replyType,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // Save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n if (!disableMarkAsRead && isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n // Mark as read if scroll is at end\n setTimeout(() => {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead?.();\n } catch {\n //\n }\n }, 500);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","replyType","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","messageId","uuidv4","length","PlaceHolderTypes","NO_MESSAGES","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sources":["../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n replyType,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // Save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n if (!disableMarkAsRead && isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n // Mark as read if scroll is at end\n setTimeout(() => {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead?.();\n } catch {\n //\n }\n }, 500);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","replyType","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","messageId","uuidv4","length","PlaceHolderTypes","NO_MESSAGES","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,qBAAqB,GAAG,2BAA9B,CAAA;;AAEA,IAAMC,WAAW,GAA+B,UAACC,KAAD,EAAwB;AAEpE,EAAA,IAAAC,aAAa,GAGXD,KAAK,CAAAC,aAHP;AAAA,MACAC,sBAAsB,GAEpBF,KAAK,CAAAE,sBAHP;AAAA,MAEAC,qBAAqB,GACnBH,KAAK,sBAHP,CAAA;;EAII,IAAAI,EAAA,GAeFC,iBAAiB,EAff;AAAA,MACJC,WAAW,GAAAF,EAAA,CAAAE,WADP;AAAA,MAEJC,WAAW,GAAAH,EAAA,CAAAG,WAFP;AAAA,MAGJC,mBAAmB,GAAAJ,EAAA,CAAAI,mBAHf;AAAA,MAIJC,oBAAoB,GAAAL,EAAA,CAAAK,oBAJhB;AAAA,MAKJC,uBAAuB,GAAAN,EAAA,CAAAM,uBALnB;AAAA,MAMJC,wBAAwB,GAAAP,EAAA,CAAAO,wBANpB;AAAA,MAOJC,SAAS,GAAAR,EAAA,CAAAQ,SAPL;AAAA,MAQJC,gBAAgB,GAAAT,EAAA,CAAAS,gBARZ;AAAA,MASJC,oBAAoB,GAAAV,EAAA,CAAAU,oBAThB;AAAA,MAUJC,kBAAkB,GAAAX,EAAA,CAAAW,kBAVd;AAAA,MAWJC,kBAAkB,GAAAZ,EAAA,CAAAY,kBAXd;AAAA,MAYJC,mBAAmB,GAAAb,EAAA,CAAAa,mBAZf;AAAA,MAaJC,iBAAiB,GAAAd,EAAA,CAAAc,iBAbb;AAAA,MAcJC,SAAS,GAAAf,EAAA,CAAAe,SAdL,CAAA;;AAgBA,EAAA,IAAAC,EAAA,GAAkCC,QAAQ,CAAC,CAAD,CAA1C;AAAA,MAACC,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeG,eAAe,GAAAH,EAAA,CAAA,CAAA,CAA9B,CAAA;;AAEN,EAAA,IAAMI,QAAQ,GAAG,UAACC,CAAD,EAAE;AACjB,IAAA,IAAMC,OAAO,GAAGD,CAAC,CAACE,MAAlB,CAAA;AAEE,IAAA,IAAAC,SAAS,GAGPF,OAAO,CAAAE,SAHT;AAAA,QACAC,YAAY,GAEVH,OAAO,CAAAG,YAHT;AAAA,QAEAC,YAAY,GACVJ,OAAO,aAHT,CAAA;;IAKF,IAAIE,SAAS,KAAK,CAAlB,EAAqB;MACnB,IAAI,CAACrB,WAAL,EAAkB;AAChB,QAAA,OAAA;AACD,OAAA;;MACD,IAAMwB,KAAK,GAAGnB,SAAS,CAACoB,OAAV,CAAkBC,gBAAlB,CAAmCnC,qBAAnC,CAAd,CAAA;AACA,MAAA,IAAMoC,OAAK,GAAGH,KAAK,IAAIA,KAAK,CAAC,CAAD,CAA5B,CAAA;MACAlB,gBAAgB,CAAC,UAACT,EAAD,EAAW;AAAT,QAAA,IAAA+B,QAAQ,GAAA/B,EAAA,CAAA,CAAA,CAAR,CAAA;;AACjB,QAAA,IAAI+B,QAAJ,EAAc;AACZ;AACA;UACA,IAAI;YACFD,OAAK,CAACE,cAAN,CAAqB;AAAEC,cAAAA,KAAK,EAAE,OAAT;AAAkBC,cAAAA,MAAM,EAAE,SAAA;aAA/C,CAAA,CAAA;AACD,WAFD,CAEE,OAAOC,KAAP,EAAc;AAEf,WAAA;AACF,SAAA;AACF,OAVe,CAAhB,CAAA;AAWD,KAAA;;IAED,IAAIC,WAAW,CAACX,YAAY,GAAGD,SAAhB,EAA2BE,YAA3B,EAAyC,EAAzC,CAAf,EAA6D;MAC3DhB,oBAAoB,CAAC,UAACV,EAAD,EAAW;AAAT,QAAQA,EAAA,CAAA,CAAA,EAAR;AAStB,OATmB,CAApB,CAAA;AAUD,KAtCgB;;;AAyCjB,IAAA,IAAIQ,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEoB,OAAf,EAAwB;AACtB,MAAA,IAAMA,OAAO,GAAGpB,SAAS,KAAA,IAAT,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEoB,OAA3B,CAAA;AACAT,MAAAA,eAAe,CAACS,OAAO,CAACF,YAAR,GAAuBE,OAAO,CAACJ,SAA/B,GAA2CI,OAAO,CAACS,YAApD,CAAf,CAAA;AACD,KAAA;;AAED,IAAA,IAAI,CAACvB,iBAAD,IAAsBsB,WAAW,CAACX,YAAY,GAAGD,SAAhB,EAA2BE,YAA3B,EAAyC,EAAzC,CAArC,EAAmF;AACjF;AACAY,MAAAA,UAAU,CAAC,YAAA;;;AACT3B,QAAAA,kBAAkB,CAAC;UACjB4B,IAAI,EAAE3B,kBAAkB,CAAC4B,YADR;AAEjBC,UAAAA,OAAO,EAAE;AAAEC,YAAAA,OAAO,EAAE7B,mBAAAA;AAAX,WAAA;AAFQ,SAAD,CAAlB,CAAA;;QAIA,IAAI;AACF,UAAA,CAAAb,EAAA,GAAAa,mBAAmB,SAAnB,IAAAA,mBAAmB,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAAA,mBAAmB,CAAE8B,UAArB,UAAA,iBAAA,SAAA,+BAAA,CAAA;AACD,SAFD,CAEE,OAAM3B,EAAN,EAAM;AAEP,SAAA;OATO,EAUP,GAVO,CAAV,CAAA;AAWD,KAAA;GA3DH,CAAA;;EA8DA,IAAM4B,gBAAgB,GAAG,YAAA;;;AACvBxC,IAAAA,mBAAmB,SAAnB,IAAAA,mBAAmB,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAAA,mBAAmB,CAAG,IAAH,CAAnB,CAAA;AACAC,IAAAA,oBAAoB,SAApB,IAAAA,oBAAoB,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAAA,oBAAoB,CAAG,IAAH,CAApB,CAAA;AACAC,IAAAA,uBAAuB,SAAvB,IAAAA,uBAAuB,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAAA,uBAAuB,CAAG,IAAH,CAAvB,CAAA;;AACA,IAAA,IAAI,CAAA,CAAAN,EAAA,GAAAQ,SAAS,KAAA,IAAT,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEoB,OAAX,MAAoB,IAApB,IAAoB5B,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAwB,SAApB,IAAgC,CAAC,CAArC,EAAwC;AACtChB,MAAAA,SAAS,CAACoB,OAAV,CAAkBJ,SAAlB,GAA8B,CAAA,CAAAR,EAAA,GAAAR,SAAS,KAAT,IAAA,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEoB,OAAX,MAAoB,IAApB,IAAoBZ,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAU,YAApB,KAAmC,CAAAmB,EAAA,GAAArC,SAAS,KAAA,IAAT,IAAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAAA,SAAS,CAAEoB,OAAX,MAAkB,IAAlB,IAAkBiB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAER,YAAvD,CAA9B,CAAA;AACD,KAAA;AACF,GAPD,CAtFsE;;;AAgGtE,EAAA,IAAMS,mBAAmB,GAAGC,OAAO,CAAC,YAAA;IAClC,OACE7C,WAAW,CAAC8C,GAAZ,CAAgB,UAACC,CAAD,EAAIC,GAAJ,EAAO;AACrB,MAAA,IAAMC,eAAe,GAAGjD,WAAW,CAACgD,GAAG,GAAG,CAAP,CAAnC,CAAA;AACA,MAAA,IAAME,WAAW,GAAGlD,WAAW,CAACgD,GAAG,GAAG,CAAP,CAA/B,CAAA;;MACM,IAAAlD,KAA0BO,wBAAwB,GACpD8C,0BAA0B,CAACF,eAAD,EAAkBF,CAAlB,EAAqBG,WAArB,EAAkCvC,mBAAlC,EAAuDE,SAAvD,CAD0B,GAEpD,CAAC,KAAD,EAAQ,KAAR,CAFE;AAAA,UAACuC,QAAQ,GAAAtD,EAAA,CAAA,CAAA,CAAT;AAAA,UAAWuD,WAAW,GAAAvD,EAAA,CAAA,CAAA,CAAtB,CAAA;;AAGN,MAAA,IAAMwD,wBAAwB,GAAGL,eAAe,KAAA,IAAf,IAAAA,eAAe,KAAf,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,eAAe,CAAEM,SAAlD,CAAA;AACA,MAAA,IAAMC,gBAAgB,GAAGT,CAAC,CAACQ,SAA3B,CAPqB;;MASrB,IAAME,YAAY,GAAG,EAAEH,wBAAwB,IAC7CI,SAAS,CAACF,gBAAD,EAAmBF,wBAAnB,CADU,CAArB,CAAA;;MAIA,IAAMK,YAAY,GAAG,YAAA;AACnB,QAAA,IAAMjC,OAAO,GAAGpB,SAAS,KAAA,IAAT,IAAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,SAAS,CAAEoB,OAA3B,CAAA;;AACA,QAAA,IAAIA,OAAJ,EAAa;AACX,UAAA,IAAMkC,MAAM,GAAGlC,OAAO,CAACF,YAAR,GAAuBE,OAAO,CAACJ,SAA/B,GAA2CI,OAAO,CAACS,YAAlE,CAAA;;UACA,IAAInB,YAAY,GAAG4C,MAAnB,EAA2B;AACzBlC,YAAAA,OAAO,CAACJ,SAAR,IAAqBsC,MAAM,GAAG5C,YAA9B,CAAA;AACD,WAAA;AACF,SAAA;OAPH,CAAA;;AAUA,MAAA,oBACE6C,6BAAC,OAAD,EAAA;AACE,QAAA,YAAY,EAAEF,YADhB;AAEE,QAAA,aAAa,EAAEhE,aAFjB;AAGE,QAAA,OAAO,EAAEoD,CAHX;AAIE,QAAA,YAAY,EAAEU,YAJhB;AAKE,QAAA,QAAQ,EAAEL,QALZ;AAME,QAAA,WAAW,EAAEC,WANf;AAOE,QAAA,qBAAqB,EAAExD,qBAPzB;AAQE,QAAA,GAAG,EAAEkD,CAAC,CAACe,SAAF,GAAcC,MAAM,EAAA;OAT7B,CAAA,CAAA;AAYD,KAnCD,CADF,CAAA;AAsCD,GAvCkC,EAuChC,CAAC/D,WAAD,CAvCgC,CAAnC,CAAA;;AAyCA,EAAA,IAAIA,WAAW,CAACgE,MAAZ,GAAqB,CAAzB,EAA4B;AAC1B,IAAA,oBACEH,4DAEI,CAAAjE,sBAAsB,KAAA,IAAtB,IAAAA,sBAAsB,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAAA,sBAAsB,EAAtB,kBACEiE,6BAAC,WAAD,EAAA;AACE,MAAA,SAAS,EAAC,oCADZ;MAEE,IAAI,EAAEI,gBAAgB,CAACC,WAAAA;AAFzB,KAAA,CAHN,CADF,CAAA;AAWD,GAAA;;EACD,oBACEL,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,iCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gCAAA;AAAf,GAAA,CADF,eAEEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,yCADZ;AAEE,IAAA,GAAG,EAAEvD,SAFP;AAGE,IAAA,QAAQ,EAAEY,QAAAA;GAET0B,EAAAA,mBALH,CAFF,CADF;EAaK5B,YAAY,GAAG,CAAhB,iBACE6C,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,6CADZ;AAEE,IAAA,OAAO,EAAEnB,gBAFX;AAGE,IAAA,SAAS,EAAEA,gBAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,IAAI,EAAC,QAAA;AALP,GAAA,eAOEmB,6BAAC,IAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;IAGE,IAAI,EAAEM,SAAS,CAACC,YAHlB;IAIE,SAAS,EAAEC,UAAU,CAACC,OAAAA;AAJxB,GAAA,CAPF,CAdN,CADF,CAAA;AAiCD;;;;"}