@sendbird/uikit-react 3.5.0-mobile-rc-3 → 3.5.0-mobile-web-5

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 (557) hide show
  1. package/App.js +67 -55
  2. package/App.js.map +1 -1
  3. package/Channel/components/ChannelHeader.js +19 -18
  4. package/Channel/components/ChannelHeader.js.map +1 -1
  5. package/Channel/components/ChannelUI.js +41 -40
  6. package/Channel/components/ChannelUI.js.map +1 -1
  7. package/Channel/components/FileViewer.js +15 -14
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +4 -4
  10. package/Channel/components/Message.js +37 -35
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +29 -27
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageList.js +37 -36
  15. package/Channel/components/MessageList.js.map +1 -1
  16. package/Channel/components/RemoveMessageModal.js +17 -16
  17. package/Channel/components/RemoveMessageModal.js.map +1 -1
  18. package/Channel/components/SuggestedMentionList.js +17 -16
  19. package/Channel/components/SuggestedMentionList.js.map +1 -1
  20. package/Channel/components/TypingIndicator.js +15 -14
  21. package/Channel/components/TypingIndicator.js.map +1 -1
  22. package/Channel/components/UnreadCount.js +4 -4
  23. package/Channel/context.js +12 -11
  24. package/Channel/context.js.map +1 -1
  25. package/Channel.js +41 -40
  26. package/Channel.js.map +1 -1
  27. package/ChannelList/components/AddChannel.js +14 -14
  28. package/ChannelList/components/ChannelListHeader.js +6 -6
  29. package/ChannelList/components/ChannelListUI.js +30 -29
  30. package/ChannelList/components/ChannelListUI.js.map +1 -1
  31. package/ChannelList/components/ChannelPreview.js +26 -25
  32. package/ChannelList/components/ChannelPreview.js.map +1 -1
  33. package/ChannelList/components/ChannelPreviewAction.js +13 -13
  34. package/ChannelList/context.js +7 -7
  35. package/ChannelList.js +30 -29
  36. package/ChannelList.js.map +1 -1
  37. package/{ChannelListProvider-16d506e3.js → ChannelListProvider-8e3af350.js} +7 -7
  38. package/{ChannelListProvider-16d506e3.js.map → ChannelListProvider-8e3af350.js.map} +1 -1
  39. package/{ChannelProvider-f39a427f.js → ChannelProvider-cb73270f.js} +17 -20
  40. package/ChannelProvider-cb73270f.js.map +1 -0
  41. package/ChannelSettings/components/ChannelProfile.js +11 -11
  42. package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  43. package/ChannelSettings/components/EditDetailsModal.js +11 -11
  44. package/ChannelSettings/components/LeaveChannel.js +11 -11
  45. package/ChannelSettings/components/ModerationPanel.js +14 -14
  46. package/ChannelSettings/components/UserListItem.js +10 -10
  47. package/ChannelSettings/components/UserPanel.js +13 -13
  48. package/ChannelSettings/context.js +3 -3
  49. package/ChannelSettings.js +17 -17
  50. package/CreateChannel/components/CreateChannelUI.js +13 -13
  51. package/CreateChannel/components/InviteUsers.js +13 -13
  52. package/CreateChannel/components/SelectChannelType.js +10 -10
  53. package/CreateChannel/context.js +4 -4
  54. package/CreateChannel.js +13 -13
  55. package/{CreateChannelProvider-5ad9445d.js → CreateChannelProvider-3173e8cd.js} +1 -1
  56. package/{CreateChannelProvider-5ad9445d.js.map → CreateChannelProvider-3173e8cd.js.map} +1 -1
  57. package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  58. package/CreateOpenChannel/context.js +1 -1
  59. package/CreateOpenChannel.js +9 -9
  60. package/EditUserProfile/components/EditUserProfileUI.js +12 -12
  61. package/EditUserProfile.js +12 -12
  62. package/{LocalizationContext-674efe64.js → LocalizationContext-689d8aa4.js} +3 -3
  63. package/{LocalizationContext-674efe64.js.map → LocalizationContext-689d8aa4.js.map} +1 -1
  64. package/{MediaQueryContext-c2b754b4.js → MediaQueryContext-2604d3dc.js} +1 -1
  65. package/{MediaQueryContext-c2b754b4.js.map → MediaQueryContext-2604d3dc.js.map} +1 -1
  66. package/{MemberList-0a820146.js → MemberList-7b3e0ace.js} +5 -5
  67. package/{MemberList-0a820146.js.map → MemberList-7b3e0ace.js.map} +1 -1
  68. package/MessageSearch/components/MessageSearchUI.js +11 -11
  69. package/MessageSearch/context.js +1 -1
  70. package/MessageSearch.js +11 -11
  71. package/OpenChannel/components/FrozenChannelNotification.js +4 -4
  72. package/OpenChannel/components/OpenChannelHeader.js +12 -12
  73. package/OpenChannel/components/OpenChannelInput.js +22 -20
  74. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  75. package/OpenChannel/components/OpenChannelMessage.js +29 -28
  76. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  77. package/OpenChannel/components/OpenChannelMessageList.js +31 -31
  78. package/OpenChannel/components/OpenChannelUI.js +31 -31
  79. package/OpenChannel/context.js +8 -8
  80. package/OpenChannel.js +33 -33
  81. package/OpenChannelList/components/OpenChannelListUI.js +13 -13
  82. package/OpenChannelList/components/OpenChannelPreview.js +3 -3
  83. package/OpenChannelList/context.js +3 -3
  84. package/OpenChannelList.js +13 -13
  85. package/{OpenChannelListProvider-f71260c9.js → OpenChannelListProvider-154424c5.js} +3 -3
  86. package/{OpenChannelListProvider-f71260c9.js.map → OpenChannelListProvider-154424c5.js.map} +1 -1
  87. package/{OpenChannelProvider-6f8c231a.js → OpenChannelProvider-fc50a84b.js} +7 -7
  88. package/{OpenChannelProvider-6f8c231a.js.map → OpenChannelProvider-fc50a84b.js.map} +1 -1
  89. package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  90. package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  91. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  92. package/OpenChannelSettings/components/OperatorUI.js +16 -16
  93. package/OpenChannelSettings/components/ParticipantUI.js +14 -14
  94. package/OpenChannelSettings/context.js +3 -3
  95. package/OpenChannelSettings.js +17 -17
  96. package/{RemoveMessageModal-3fd74511.js → RemoveMessageModal-c345043b.js} +3 -3
  97. package/{RemoveMessageModal-3fd74511.js.map → RemoveMessageModal-c345043b.js.map} +1 -1
  98. package/SendbirdProvider.js +43 -44
  99. package/SendbirdProvider.js.map +1 -1
  100. package/Thread/components/ParentMessageInfo.js +35 -32
  101. package/Thread/components/ParentMessageInfo.js.map +1 -1
  102. package/Thread/components/ParentMessageInfoItem.js +21 -21
  103. package/Thread/components/ThreadHeader.js +6 -6
  104. package/Thread/components/ThreadList.js +36 -35
  105. package/Thread/components/ThreadList.js.map +1 -1
  106. package/Thread/components/ThreadListItem.js +37 -35
  107. package/Thread/components/ThreadListItem.js.map +1 -1
  108. package/Thread/components/ThreadMessageInput.js +30 -28
  109. package/Thread/components/ThreadMessageInput.js.map +1 -1
  110. package/Thread/components/ThreadUI.js +40 -39
  111. package/Thread/components/ThreadUI.js.map +1 -1
  112. package/Thread/context.js +8 -8
  113. package/Thread.js +40 -39
  114. package/Thread.js.map +1 -1
  115. package/{ThreadProvider-da0112d8.js → ThreadProvider-4ecee019.js} +10 -10
  116. package/ThreadProvider-4ecee019.js.map +1 -0
  117. package/{UserProfileContext-ca6e2310.js → UserProfileContext-4c07230f.js} +1 -1
  118. package/{UserProfileContext-ca6e2310.js.map → UserProfileContext-4c07230f.js.map} +1 -1
  119. package/{VoiceMessageInputWrapper-ceba20ae.js → VoiceMessageInputWrapper-5f95a888.js} +7 -7
  120. package/{VoiceMessageInputWrapper-ceba20ae.js.map → VoiceMessageInputWrapper-5f95a888.js.map} +1 -1
  121. package/VoicePlayer/context.js +3 -3
  122. package/VoicePlayer/useVoicePlayer.js +9 -9
  123. package/VoiceRecorder/context.js +9 -9
  124. package/VoiceRecorder/useVoiceRecorder.js +8 -8
  125. package/{WebAudioUtils-086599ab.js → WebAudioUtils-30020f07.js} +1 -1
  126. package/{WebAudioUtils-086599ab.js.map → WebAudioUtils-30020f07.js.map} +1 -1
  127. package/{_rollupPluginBabelHelpers-fba60f75.js → _rollupPluginBabelHelpers-b764bedf.js} +1 -1
  128. package/_rollupPluginBabelHelpers-b764bedf.js.map +1 -0
  129. package/{actionTypes-5e5dfc97.js → actionTypes-e6bdb61c.js} +1 -1
  130. package/{actionTypes-5e5dfc97.js.map → actionTypes-e6bdb61c.js.map} +1 -1
  131. package/cjs/App.js +67 -55
  132. package/cjs/App.js.map +1 -1
  133. package/cjs/Channel/components/ChannelHeader.js +19 -18
  134. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  135. package/cjs/Channel/components/ChannelUI.js +41 -40
  136. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  137. package/cjs/Channel/components/FileViewer.js +15 -14
  138. package/cjs/Channel/components/FileViewer.js.map +1 -1
  139. package/cjs/Channel/components/FrozenNotification.js +4 -4
  140. package/cjs/Channel/components/Message.js +37 -35
  141. package/cjs/Channel/components/Message.js.map +1 -1
  142. package/cjs/Channel/components/MessageInput.js +29 -27
  143. package/cjs/Channel/components/MessageInput.js.map +1 -1
  144. package/cjs/Channel/components/MessageList.js +37 -36
  145. package/cjs/Channel/components/MessageList.js.map +1 -1
  146. package/cjs/Channel/components/RemoveMessageModal.js +17 -16
  147. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  148. package/cjs/Channel/components/SuggestedMentionList.js +17 -16
  149. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  150. package/cjs/Channel/components/TypingIndicator.js +15 -14
  151. package/cjs/Channel/components/TypingIndicator.js.map +1 -1
  152. package/cjs/Channel/components/UnreadCount.js +4 -4
  153. package/cjs/Channel/context.js +12 -12
  154. package/cjs/Channel.js +41 -40
  155. package/cjs/Channel.js.map +1 -1
  156. package/cjs/ChannelList/components/AddChannel.js +14 -14
  157. package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
  158. package/cjs/ChannelList/components/ChannelListUI.js +30 -29
  159. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  160. package/cjs/ChannelList/components/ChannelPreview.js +26 -25
  161. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  162. package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
  163. package/cjs/ChannelList/context.js +7 -7
  164. package/cjs/ChannelList.js +30 -29
  165. package/cjs/ChannelList.js.map +1 -1
  166. package/cjs/{ChannelListProvider-21ef123f.js → ChannelListProvider-ce4ea47a.js} +7 -7
  167. package/cjs/{ChannelListProvider-21ef123f.js.map → ChannelListProvider-ce4ea47a.js.map} +1 -1
  168. package/cjs/{ChannelProvider-1599fb99.js → ChannelProvider-0dba8547.js} +16 -20
  169. package/cjs/ChannelProvider-0dba8547.js.map +1 -0
  170. package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
  171. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
  172. package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
  173. package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
  174. package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
  175. package/cjs/ChannelSettings/components/UserListItem.js +10 -10
  176. package/cjs/ChannelSettings/components/UserPanel.js +13 -13
  177. package/cjs/ChannelSettings/context.js +3 -3
  178. package/cjs/ChannelSettings.js +17 -17
  179. package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
  180. package/cjs/CreateChannel/components/InviteUsers.js +13 -13
  181. package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
  182. package/cjs/CreateChannel/context.js +4 -4
  183. package/cjs/CreateChannel.js +13 -13
  184. package/cjs/{CreateChannelProvider-5d628a3f.js → CreateChannelProvider-b4859589.js} +1 -1
  185. package/cjs/{CreateChannelProvider-5d628a3f.js.map → CreateChannelProvider-b4859589.js.map} +1 -1
  186. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
  187. package/cjs/CreateOpenChannel/context.js +1 -1
  188. package/cjs/CreateOpenChannel.js +9 -9
  189. package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
  190. package/cjs/EditUserProfile.js +12 -12
  191. package/cjs/{LocalizationContext-a584fa55.js → LocalizationContext-b57dbbb3.js} +3 -3
  192. package/cjs/{LocalizationContext-a584fa55.js.map → LocalizationContext-b57dbbb3.js.map} +1 -1
  193. package/cjs/{MediaQueryContext-baafb1bb.js → MediaQueryContext-6cbb7b30.js} +1 -1
  194. package/cjs/{MediaQueryContext-baafb1bb.js.map → MediaQueryContext-6cbb7b30.js.map} +1 -1
  195. package/cjs/{MemberList-2e6f8eb2.js → MemberList-6d3240f1.js} +5 -5
  196. package/cjs/{MemberList-2e6f8eb2.js.map → MemberList-6d3240f1.js.map} +1 -1
  197. package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
  198. package/cjs/MessageSearch/context.js +1 -1
  199. package/cjs/MessageSearch.js +11 -11
  200. package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
  201. package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
  202. package/cjs/OpenChannel/components/OpenChannelInput.js +22 -20
  203. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  204. package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -28
  205. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  206. package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
  207. package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
  208. package/cjs/OpenChannel/context.js +8 -8
  209. package/cjs/OpenChannel.js +33 -33
  210. package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
  211. package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
  212. package/cjs/OpenChannelList/context.js +3 -3
  213. package/cjs/OpenChannelList.js +13 -13
  214. package/cjs/{OpenChannelListProvider-4c7e2916.js → OpenChannelListProvider-3a4075da.js} +3 -3
  215. package/cjs/{OpenChannelListProvider-4c7e2916.js.map → OpenChannelListProvider-3a4075da.js.map} +1 -1
  216. package/cjs/{OpenChannelProvider-e515e831.js → OpenChannelProvider-e5968018.js} +7 -7
  217. package/cjs/{OpenChannelProvider-e515e831.js.map → OpenChannelProvider-e5968018.js.map} +1 -1
  218. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
  219. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
  220. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
  221. package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
  222. package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
  223. package/cjs/OpenChannelSettings/context.js +3 -3
  224. package/cjs/OpenChannelSettings.js +17 -17
  225. package/cjs/{RemoveMessageModal-46ba7070.js → RemoveMessageModal-f195bcd6.js} +3 -3
  226. package/cjs/{RemoveMessageModal-46ba7070.js.map → RemoveMessageModal-f195bcd6.js.map} +1 -1
  227. package/cjs/SendbirdProvider.js +42 -43
  228. package/cjs/SendbirdProvider.js.map +1 -1
  229. package/cjs/Thread/components/ParentMessageInfo.js +35 -32
  230. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  231. package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
  232. package/cjs/Thread/components/ThreadHeader.js +6 -6
  233. package/cjs/Thread/components/ThreadList.js +36 -35
  234. package/cjs/Thread/components/ThreadList.js.map +1 -1
  235. package/cjs/Thread/components/ThreadListItem.js +37 -35
  236. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  237. package/cjs/Thread/components/ThreadMessageInput.js +30 -28
  238. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  239. package/cjs/Thread/components/ThreadUI.js +40 -39
  240. package/cjs/Thread/components/ThreadUI.js.map +1 -1
  241. package/cjs/Thread/context.js +8 -8
  242. package/cjs/Thread.js +40 -39
  243. package/cjs/Thread.js.map +1 -1
  244. package/cjs/{ThreadProvider-c79aceb3.js → ThreadProvider-0508aa6b.js} +10 -10
  245. package/cjs/ThreadProvider-0508aa6b.js.map +1 -0
  246. package/cjs/{UserProfileContext-0308bb46.js → UserProfileContext-47da79ce.js} +1 -1
  247. package/cjs/{UserProfileContext-0308bb46.js.map → UserProfileContext-47da79ce.js.map} +1 -1
  248. package/cjs/{VoiceMessageInputWrapper-4d17462c.js → VoiceMessageInputWrapper-19bb43d1.js} +7 -7
  249. package/cjs/{VoiceMessageInputWrapper-4d17462c.js.map → VoiceMessageInputWrapper-19bb43d1.js.map} +1 -1
  250. package/cjs/VoicePlayer/context.js +3 -3
  251. package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
  252. package/cjs/VoiceRecorder/context.js +9 -9
  253. package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
  254. package/cjs/{WebAudioUtils-0b2ff03e.js → WebAudioUtils-607e6d36.js} +1 -1
  255. package/cjs/{WebAudioUtils-0b2ff03e.js.map → WebAudioUtils-607e6d36.js.map} +1 -1
  256. package/cjs/{_rollupPluginBabelHelpers-17f53083.js → _rollupPluginBabelHelpers-eb6b8b27.js} +1 -1
  257. package/cjs/_rollupPluginBabelHelpers-eb6b8b27.js.map +1 -0
  258. package/cjs/{actionTypes-9b5d9ddf.js → actionTypes-5b18beb9.js} +1 -1
  259. package/cjs/{actionTypes-9b5d9ddf.js.map → actionTypes-5b18beb9.js.map} +1 -1
  260. package/cjs/{color-f5216e6a.js → color-1d73789a.js} +1 -1
  261. package/cjs/{color-f5216e6a.js.map → color-1d73789a.js.map} +1 -1
  262. package/cjs/{compareIds-c9b9dfbc.js → compareIds-1e3d2ab4.js} +1 -1
  263. package/cjs/{compareIds-c9b9dfbc.js.map → compareIds-1e3d2ab4.js.map} +1 -1
  264. package/cjs/{const-a9f20831.js → const-23450239.js} +1 -1
  265. package/cjs/{const-a9f20831.js.map → const-23450239.js.map} +1 -1
  266. package/cjs/{const-75f8d9ae.js → const-a2bea8cb.js} +1 -1
  267. package/cjs/{const-75f8d9ae.js.map → const-a2bea8cb.js.map} +1 -1
  268. package/cjs/{consts-78675c0f.js → consts-10ef7616.js} +1 -1
  269. package/cjs/{consts-78675c0f.js.map → consts-10ef7616.js.map} +1 -1
  270. package/cjs/{consts-6a102338.js → consts-384c3f07.js} +1 -1
  271. package/cjs/{consts-6a102338.js.map → consts-384c3f07.js.map} +1 -1
  272. package/cjs/{consts-b90134e3.js → consts-b7b7a6e1.js} +1 -1
  273. package/cjs/{consts-b90134e3.js.map → consts-b7b7a6e1.js.map} +1 -1
  274. package/cjs/{consts-8f76585f.js → consts-da8cf320.js} +1 -1
  275. package/cjs/{consts-8f76585f.js.map → consts-da8cf320.js.map} +1 -1
  276. package/cjs/{context-a04985ac.js → context-7a760f10.js} +2 -2
  277. package/cjs/{context-a04985ac.js.map → context-7a760f10.js.map} +1 -1
  278. package/cjs/dist/index.css +77 -62
  279. package/cjs/dist/index.css.map +1 -1
  280. package/cjs/{index-70ee1e87.js → index-0bfdb242.js} +2 -7
  281. package/cjs/index-0bfdb242.js.map +1 -0
  282. package/cjs/{index-ab691428.js → index-2abc972f.js} +3 -3
  283. package/cjs/{index-ab691428.js.map → index-2abc972f.js.map} +1 -1
  284. package/cjs/{index-5012370d.js → index-3302aa9f.js} +4 -4
  285. package/cjs/{index-5012370d.js.map → index-3302aa9f.js.map} +1 -1
  286. package/cjs/{index-91cd09c7.js → index-37e8cb7f.js} +1 -1
  287. package/cjs/{index-91cd09c7.js.map → index-37e8cb7f.js.map} +1 -1
  288. package/cjs/{index-c3b543df.js → index-3bf38657.js} +6 -6
  289. package/cjs/{index-c3b543df.js.map → index-3bf38657.js.map} +1 -1
  290. package/cjs/{index-d947b675.js → index-4836de1e.js} +5 -5
  291. package/cjs/{index-d947b675.js.map → index-4836de1e.js.map} +1 -1
  292. package/cjs/{index-3f50b745.js → index-48e4dc27.js} +2 -2
  293. package/cjs/{index-3f50b745.js.map → index-48e4dc27.js.map} +1 -1
  294. package/cjs/{index-98dc0da4.js → index-560e60c2.js} +34 -19
  295. package/cjs/index-560e60c2.js.map +1 -0
  296. package/cjs/{index-36b49ef5.js → index-572ef10a.js} +1 -1
  297. package/cjs/{index-36b49ef5.js.map → index-572ef10a.js.map} +1 -1
  298. package/cjs/{index-0546aff2.js → index-604a4266.js} +2 -2
  299. package/cjs/{index-0546aff2.js.map → index-604a4266.js.map} +1 -1
  300. package/cjs/{index-3606d178.js → index-735ab91e.js} +2 -2
  301. package/cjs/{index-3606d178.js.map → index-735ab91e.js.map} +1 -1
  302. package/cjs/{index-93ba8e85.js → index-95cb25f2.js} +4 -4
  303. package/cjs/{index-93ba8e85.js.map → index-95cb25f2.js.map} +1 -1
  304. package/cjs/{index-be531e8c.js → index-bd8d9af4.js} +3 -3
  305. package/cjs/{index-be531e8c.js.map → index-bd8d9af4.js.map} +1 -1
  306. package/cjs/{index-77a6e8f7.js → index-ccb95f1e.js} +6 -6
  307. package/cjs/{index-77a6e8f7.js.map → index-ccb95f1e.js.map} +1 -1
  308. package/cjs/{index-a039da1f.js → index-d2315c53.js} +3 -3
  309. package/cjs/{index-a039da1f.js.map → index-d2315c53.js.map} +1 -1
  310. package/cjs/{index-63a06f37.js → index-e811013a.js} +2 -2
  311. package/cjs/{index-63a06f37.js.map → index-e811013a.js.map} +1 -1
  312. package/cjs/{index-de824ad7.js → index-eda19173.js} +2 -2
  313. package/cjs/{index-de824ad7.js.map → index-eda19173.js.map} +1 -1
  314. package/cjs/index.js +52 -51
  315. package/cjs/index.js.map +1 -1
  316. package/cjs/{index.module-6fa7f09a.js → index.module-ea6bd1f1.js} +1 -1
  317. package/cjs/{index.module-6fa7f09a.js.map → index.module-ea6bd1f1.js.map} +1 -1
  318. package/cjs/resolvedReplyType-8a349b8c.js +32 -0
  319. package/cjs/resolvedReplyType-8a349b8c.js.map +1 -0
  320. package/cjs/sendbirdSelectors.js +3 -3
  321. package/cjs/{stringSet-d6f2a33a.js → stringSet-2450c9e9.js} +1 -1
  322. package/cjs/{stringSet-d6f2a33a.js.map → stringSet-2450c9e9.js.map} +1 -1
  323. package/cjs/{tokenize-0df4eb21.js → tokenize-f217adbe.js} +2 -2
  324. package/cjs/{tokenize-0df4eb21.js.map → tokenize-f217adbe.js.map} +1 -1
  325. package/cjs/{topics-c7ef77ef.js → topics-03a59659.js} +1 -1
  326. package/cjs/{topics-c7ef77ef.js.map → topics-03a59659.js.map} +1 -1
  327. package/cjs/{types-edd094e8.js → types-86058820.js} +1 -1
  328. package/cjs/types-86058820.js.map +1 -0
  329. package/cjs/ui/Accordion.js +2 -2
  330. package/cjs/ui/AccordionGroup.js +2 -2
  331. package/cjs/ui/AdminMessage.js +2 -2
  332. package/cjs/ui/Avatar.js +1 -1
  333. package/cjs/ui/Badge.js +4 -4
  334. package/cjs/ui/BottomSheet.js +1 -1
  335. package/cjs/ui/Button.js +2 -2
  336. package/cjs/ui/ChannelAvatar.js +2 -2
  337. package/cjs/ui/ConnectionStatus.js +4 -4
  338. package/cjs/ui/ContextMenu.js +5 -5
  339. package/cjs/ui/DateSeparator.js +3 -3
  340. package/cjs/ui/EmojiReactions.js +13 -13
  341. package/cjs/ui/FileMessageItemBody.js +6 -6
  342. package/cjs/ui/FileViewer.js +8 -8
  343. package/cjs/ui/IconButton.js +1 -1
  344. package/cjs/ui/Input.js +2 -2
  345. package/cjs/ui/Label.js +2 -2
  346. package/cjs/ui/LinkLabel.js +2 -2
  347. package/cjs/ui/MentionLabel.js +10 -10
  348. package/cjs/ui/MentionUserLabel.js +1 -1
  349. package/cjs/ui/MessageContent.js +28 -28
  350. package/cjs/ui/MessageInput.js +70 -17
  351. package/cjs/ui/MessageInput.js.map +1 -1
  352. package/cjs/ui/MessageItemMenu.js +8 -8
  353. package/cjs/ui/MessageItemReactionMenu.js +8 -8
  354. package/cjs/ui/MessageSearchFileItem.js +10 -10
  355. package/cjs/ui/MessageSearchItem.js +8 -8
  356. package/cjs/ui/MessageStatus.js +10 -10
  357. package/cjs/ui/Modal.js +7 -7
  358. package/cjs/ui/OGMessageItemBody.js +14 -14
  359. package/cjs/ui/OpenChannelAdminMessage.js +2 -2
  360. package/cjs/ui/OpenChannelAvatar.js +5 -5
  361. package/cjs/ui/OpenchannelConversationHeader.js +6 -6
  362. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  363. package/cjs/ui/OpenchannelOGMessage.js +18 -18
  364. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  365. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  366. package/cjs/ui/PlaceHolder.js +5 -5
  367. package/cjs/ui/PlaybackTime.js +2 -2
  368. package/cjs/ui/QuoteMessage.js +6 -6
  369. package/cjs/ui/QuoteMessageInput.js +6 -6
  370. package/cjs/ui/ReactionBadge.js +2 -2
  371. package/cjs/ui/ReactionButton.js +4 -4
  372. package/cjs/ui/SortByRow.js +1 -1
  373. package/cjs/ui/TextButton.js +1 -1
  374. package/cjs/ui/TextMessageItemBody.js +14 -14
  375. package/cjs/ui/ThreadReplies.js +5 -5
  376. package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
  377. package/cjs/ui/Toggle.js +1 -1
  378. package/cjs/ui/Tooltip.js +2 -2
  379. package/cjs/ui/UnknownMessageItemBody.js +6 -6
  380. package/cjs/ui/UserListItem.js +10 -10
  381. package/cjs/ui/UserProfile.js +9 -9
  382. package/cjs/ui/VoiceMessageItemBody.js +9 -9
  383. package/cjs/ui/VoiceMessgeInput.js +7 -7
  384. package/cjs/ui/Word.js +10 -10
  385. package/cjs/{useDirtyGetMentions-527f80ca.js → useDirtyGetMentions-73c92dd1.js} +1 -1
  386. package/cjs/{useDirtyGetMentions-527f80ca.js.map → useDirtyGetMentions-73c92dd1.js.map} +1 -1
  387. package/cjs/{useLongPress-a31543ee.js → useLongPress-b013fc04.js} +3 -3
  388. package/cjs/{useLongPress-a31543ee.js.map → useLongPress-b013fc04.js.map} +1 -1
  389. package/cjs/useSendbirdStateContext.js +1 -1
  390. package/cjs/utils/message/isVoiceMessage.js +2 -2
  391. package/cjs/{utils-98335f41.js → utils-44170a0b.js} +2 -2
  392. package/cjs/{utils-98335f41.js.map → utils-44170a0b.js.map} +1 -1
  393. package/cjs/{utils-fbb85607.js → utils-6828954f.js} +1 -1
  394. package/cjs/{utils-fbb85607.js.map → utils-6828954f.js.map} +1 -1
  395. package/cjs/{utils-ad2cc973.js → utils-d2968db1.js} +1 -1
  396. package/cjs/{utils-ad2cc973.js.map → utils-d2968db1.js.map} +1 -1
  397. package/cjs/{utils-721f4b6c.js → utils-feec79a2.js} +1 -1
  398. package/cjs/{utils-721f4b6c.js.map → utils-feec79a2.js.map} +1 -1
  399. package/cjs/{uuid-10926ed0.js → uuid-ec351d96.js} +1 -1
  400. package/cjs/{uuid-10926ed0.js.map → uuid-ec351d96.js.map} +1 -1
  401. package/cjs/withSendbird.js +1 -1
  402. package/{color-f9212f23.js → color-65ea9130.js} +1 -1
  403. package/{color-f9212f23.js.map → color-65ea9130.js.map} +1 -1
  404. package/{compareIds-1bcdf748.js → compareIds-e8adfea2.js} +1 -1
  405. package/{compareIds-1bcdf748.js.map → compareIds-e8adfea2.js.map} +1 -1
  406. package/{const-877bea22.js → const-2fda8942.js} +1 -1
  407. package/{const-877bea22.js.map → const-2fda8942.js.map} +1 -1
  408. package/{const-735145c8.js → const-89c31819.js} +1 -1
  409. package/{const-735145c8.js.map → const-89c31819.js.map} +1 -1
  410. package/{consts-d45ca387.js → consts-60bc9064.js} +1 -1
  411. package/{consts-d45ca387.js.map → consts-60bc9064.js.map} +1 -1
  412. package/{consts-67559ec4.js → consts-746d9d54.js} +1 -1
  413. package/{consts-67559ec4.js.map → consts-746d9d54.js.map} +1 -1
  414. package/{consts-383d4a75.js → consts-a7afe685.js} +1 -1
  415. package/{consts-383d4a75.js.map → consts-a7afe685.js.map} +1 -1
  416. package/{consts-d545cae2.js → consts-f3cb0986.js} +1 -1
  417. package/{consts-d545cae2.js.map → consts-f3cb0986.js.map} +1 -1
  418. package/{context-8bd9e132.js → context-f542aa7f.js} +2 -2
  419. package/{context-8bd9e132.js.map → context-f542aa7f.js.map} +1 -1
  420. package/dist/index.css +77 -62
  421. package/dist/index.css.map +1 -1
  422. package/{index-96b80cca.js → index-1a9ad5e8.js} +3 -3
  423. package/{index-96b80cca.js.map → index-1a9ad5e8.js.map} +1 -1
  424. package/{index-cfa2cf64.js → index-1bb6ac7b.js} +5 -5
  425. package/{index-cfa2cf64.js.map → index-1bb6ac7b.js.map} +1 -1
  426. package/{index-10f046cd.js → index-284c6669.js} +34 -19
  427. package/index-284c6669.js.map +1 -0
  428. package/{index-200e4585.js → index-4415e3d4.js} +3 -7
  429. package/index-4415e3d4.js.map +1 -0
  430. package/{index-6716e8aa.js → index-68e4f991.js} +4 -4
  431. package/{index-6716e8aa.js.map → index-68e4f991.js.map} +1 -1
  432. package/{index-d4617078.js → index-6d5e4fbe.js} +2 -2
  433. package/{index-d4617078.js.map → index-6d5e4fbe.js.map} +1 -1
  434. package/{index-c165d519.js → index-8ca9e057.js} +1 -1
  435. package/{index-c165d519.js.map → index-8ca9e057.js.map} +1 -1
  436. package/{index-efad9427.js → index-915d9f7d.js} +3 -3
  437. package/{index-efad9427.js.map → index-915d9f7d.js.map} +1 -1
  438. package/{index-fc6960aa.js → index-920644b3.js} +2 -2
  439. package/{index-fc6960aa.js.map → index-920644b3.js.map} +1 -1
  440. package/{index-092e70e5.js → index-ada3d917.js} +2 -2
  441. package/{index-092e70e5.js.map → index-ada3d917.js.map} +1 -1
  442. package/{index-b179de93.js → index-c2c5dd5d.js} +2 -2
  443. package/{index-b179de93.js.map → index-c2c5dd5d.js.map} +1 -1
  444. package/{index-9118a2a4.js → index-d83e2bc2.js} +1 -1
  445. package/{index-9118a2a4.js.map → index-d83e2bc2.js.map} +1 -1
  446. package/{index-d029f899.js → index-dc264d1a.js} +6 -6
  447. package/{index-d029f899.js.map → index-dc264d1a.js.map} +1 -1
  448. package/{index-ff4bc2bb.js → index-e7546341.js} +2 -2
  449. package/{index-ff4bc2bb.js.map → index-e7546341.js.map} +1 -1
  450. package/{index-f0e93243.js → index-ea60d5ce.js} +6 -6
  451. package/{index-f0e93243.js.map → index-ea60d5ce.js.map} +1 -1
  452. package/{index-f86cd2f7.js → index-ef404210.js} +4 -4
  453. package/{index-f86cd2f7.js.map → index-ef404210.js.map} +1 -1
  454. package/{index-3cffa0b8.js → index-fba0a213.js} +3 -3
  455. package/{index-3cffa0b8.js.map → index-fba0a213.js.map} +1 -1
  456. package/index.d.ts +4 -2
  457. package/index.js +52 -51
  458. package/index.js.map +1 -1
  459. package/{index.module-a01d7416.js → index.module-8c38026f.js} +1 -1
  460. package/{index.module-a01d7416.js.map → index.module-8c38026f.js.map} +1 -1
  461. package/package.json +2 -2
  462. package/resolvedReplyType-3b091b4c.js +29 -0
  463. package/resolvedReplyType-3b091b4c.js.map +1 -0
  464. package/sendbirdSelectors.js +3 -3
  465. package/{stringSet-b7fd994d.js → stringSet-21b6dbb8.js} +1 -1
  466. package/{stringSet-b7fd994d.js.map → stringSet-21b6dbb8.js.map} +1 -1
  467. package/{tokenize-537ba1e5.js → tokenize-52f8c30c.js} +2 -2
  468. package/{tokenize-537ba1e5.js.map → tokenize-52f8c30c.js.map} +1 -1
  469. package/{topics-abeef9b5.js → topics-89a856f6.js} +1 -1
  470. package/{topics-abeef9b5.js.map → topics-89a856f6.js.map} +1 -1
  471. package/{types-256ac544.js → types-e62d482c.js} +1 -1
  472. package/types-e62d482c.js.map +1 -0
  473. package/ui/Accordion.js +2 -2
  474. package/ui/AccordionGroup.js +2 -2
  475. package/ui/AdminMessage.js +2 -2
  476. package/ui/Avatar.js +1 -1
  477. package/ui/Badge.js +4 -4
  478. package/ui/BottomSheet.js +1 -1
  479. package/ui/Button.js +2 -2
  480. package/ui/ChannelAvatar.js +2 -2
  481. package/ui/ConnectionStatus.js +4 -4
  482. package/ui/ContextMenu.js +5 -5
  483. package/ui/DateSeparator.js +3 -3
  484. package/ui/EmojiReactions.js +13 -13
  485. package/ui/FileMessageItemBody.js +6 -6
  486. package/ui/FileViewer.js +8 -8
  487. package/ui/IconButton.js +1 -1
  488. package/ui/Input.js +2 -2
  489. package/ui/Label.js +2 -2
  490. package/ui/LinkLabel.js +2 -2
  491. package/ui/MentionLabel.js +10 -10
  492. package/ui/MentionUserLabel.js +1 -1
  493. package/ui/MessageContent.js +28 -28
  494. package/ui/MessageInput.js +71 -18
  495. package/ui/MessageInput.js.map +1 -1
  496. package/ui/MessageItemMenu.js +8 -8
  497. package/ui/MessageItemReactionMenu.js +8 -8
  498. package/ui/MessageSearchFileItem.js +10 -10
  499. package/ui/MessageSearchItem.js +8 -8
  500. package/ui/MessageStatus.js +10 -10
  501. package/ui/Modal.js +7 -7
  502. package/ui/OGMessageItemBody.js +14 -14
  503. package/ui/OpenChannelAdminMessage.js +2 -2
  504. package/ui/OpenChannelAvatar.js +5 -5
  505. package/ui/OpenchannelConversationHeader.js +6 -6
  506. package/ui/OpenchannelFileMessage.js +15 -15
  507. package/ui/OpenchannelOGMessage.js +18 -18
  508. package/ui/OpenchannelThumbnailMessage.js +14 -14
  509. package/ui/OpenchannelUserMessage.js +15 -15
  510. package/ui/PlaceHolder.js +5 -5
  511. package/ui/PlaybackTime.js +2 -2
  512. package/ui/QuoteMessage.js +6 -6
  513. package/ui/QuoteMessageInput.js +6 -6
  514. package/ui/ReactionBadge.js +2 -2
  515. package/ui/ReactionButton.js +4 -4
  516. package/ui/SortByRow.js +1 -1
  517. package/ui/TextButton.js +1 -1
  518. package/ui/TextMessageItemBody.js +14 -14
  519. package/ui/ThreadReplies.js +5 -5
  520. package/ui/ThumbnailMessageItemBody.js +5 -5
  521. package/ui/Toggle.js +1 -1
  522. package/ui/Tooltip.js +2 -2
  523. package/ui/UnknownMessageItemBody.js +6 -6
  524. package/ui/UserListItem.js +10 -10
  525. package/ui/UserProfile.js +9 -9
  526. package/ui/VoiceMessageItemBody.js +9 -9
  527. package/ui/VoiceMessgeInput.js +7 -7
  528. package/ui/Word.js +10 -10
  529. package/{useDirtyGetMentions-af15b9c7.js → useDirtyGetMentions-20e1c85d.js} +1 -1
  530. package/{useDirtyGetMentions-af15b9c7.js.map → useDirtyGetMentions-20e1c85d.js.map} +1 -1
  531. package/{useLongPress-d6ae865b.js → useLongPress-0c20bd2f.js} +3 -3
  532. package/{useLongPress-d6ae865b.js.map → useLongPress-0c20bd2f.js.map} +1 -1
  533. package/useSendbirdStateContext.js +1 -1
  534. package/utils/message/isVoiceMessage.js +2 -2
  535. package/{utils-b1338a23.js → utils-95512c29.js} +1 -1
  536. package/{utils-b1338a23.js.map → utils-95512c29.js.map} +1 -1
  537. package/{utils-9d1564a9.js → utils-9ca6a7a1.js} +2 -2
  538. package/{utils-9d1564a9.js.map → utils-9ca6a7a1.js.map} +1 -1
  539. package/{utils-b9abb204.js → utils-bee6567e.js} +1 -1
  540. package/{utils-b9abb204.js.map → utils-bee6567e.js.map} +1 -1
  541. package/{utils-28649e5d.js → utils-cefd05d8.js} +1 -1
  542. package/{utils-28649e5d.js.map → utils-cefd05d8.js.map} +1 -1
  543. package/{uuid-d20d317b.js → uuid-1141c1b4.js} +1 -1
  544. package/{uuid-d20d317b.js.map → uuid-1141c1b4.js.map} +1 -1
  545. package/withSendbird.js +1 -1
  546. package/ChannelProvider-f39a427f.js.map +0 -1
  547. package/ThreadProvider-da0112d8.js.map +0 -1
  548. package/_rollupPluginBabelHelpers-fba60f75.js.map +0 -1
  549. package/cjs/ChannelProvider-1599fb99.js.map +0 -1
  550. package/cjs/ThreadProvider-c79aceb3.js.map +0 -1
  551. package/cjs/_rollupPluginBabelHelpers-17f53083.js.map +0 -1
  552. package/cjs/index-70ee1e87.js.map +0 -1
  553. package/cjs/index-98dc0da4.js.map +0 -1
  554. package/cjs/types-edd094e8.js.map +0 -1
  555. package/index-10f046cd.js.map +0 -1
  556. package/index-200e4585.js.map +0 -1
  557. package/types-256ac544.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MentionUserLabel/renderToString.ts","../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.ts","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// cretes a sanitized string from a mention user label\nimport DOMPurify from 'dompurify';\nimport { MENTION_USER_LABEL_CLASSNAME } from './consts';\n\ntype renderToStringParams = {\n userId: string;\n nickname: string;\n};\n\nexport default function renderToString({ userId, nickname }: renderToStringParams): string {\n // donot change this template, it wont work\n const el = `<span data-userid=\"${userId}\" data-sb-mention=\"true\" class=\"${MENTION_USER_LABEL_CLASSNAME}\">${nickname}</span>`;\n const purifier = DOMPurify(window);\n const sanitized_ = purifier.sanitize(el);\n const token = sanitized_.split(' ');\n const [spanTag, ...rest] = token;\n // we do this because DOMPurify removes the contenteditable attribute\n const sanitized = [spanTag, 'contenteditable=\"false\"', ...rest].join(' ');\n return sanitized;\n}\n","// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\n/**\n * NodeList cannot be used with Array methods\n * @param {childNodes} NodeList\n * @returns Array of child nodes\n */\nexport const nodeListToArray = (childNodes) => {\n try {\n return Array.from(childNodes);\n } catch (error) {\n return [];\n }\n};\n\nexport default debounce;\n","import { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport renderMentionLabelToString from '../../../MentionUserLabel/renderToString';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return renderMentionLabelToString({ userId, nickname: text });\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\nimport { TEXT_MESSAGE_BODY_CLASSNAME } from '../../../TextMessageItemBody/consts';\nimport { OG_MESSAGE_BODY_CLASSNAME } from '../../../OGMessageItemBody/consts';\nimport { nodeListToArray } from '../../utils';\n\nexport function querySelectorIncludingSelf(\n master: HTMLElement,\n selector: string,\n): HTMLElement | null {\n const result = [\n master,\n ...Array.from(master.querySelectorAll(selector)),\n ].find((el) => el.matches(selector)) as HTMLElement | null;\n return result;\n}\n\n// Pasted dom node can be OG_MESSAGE or partial message or full message\n// full messsage would have TEXT_MESSAGE_BODY_CLASSNAME and have childNodes\n// partial message would not have TEXT_MESSAGE_BODY_CLASSNAME\nexport function getLeafNodes(master: HTMLElement): ChildNode[] {\n // og message\n const ogMessage = querySelectorIncludingSelf(master, `.${OG_MESSAGE_BODY_CLASSNAME}`);\n if (ogMessage) {\n return nodeListToArray(ogMessage.childNodes);\n }\n\n const textMessageBody = querySelectorIncludingSelf(master, `.${TEXT_MESSAGE_BODY_CLASSNAME}`);\n if (textMessageBody) {\n return nodeListToArray(textMessageBody.childNodes);\n }\n\n return nodeListToArray(master.childNodes);\n}\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n};\n\nexport function domToMessageTemplate(nodeArray: ChildNode[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n // currentValue can be node(from messageBody or messageInput) or text\n let mentionNode;\n // this looks awkward, but it is a fallback to set default text\n let text = (currentValue as HTMLSpanElement)?.innerText;\n\n // if text node, set text\n if (currentValue instanceof Text) {\n mentionNode = false;\n text = currentValue.textContent;\n }\n\n if (currentValue instanceof HTMLElement) {\n mentionNode = (currentValue.classList.contains(MENTION_CLASS) || currentValue.classList.contains(MENTION_CLASS_IN_INPUT))\n ? currentValue\n : currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY);\n }\n\n // if mentionNode is not null, it is a mention\n if (mentionNode) {\n const text = (currentValue as HTMLSpanElement)?.innerText;\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n const mentionedMember = users.find((user) => user.userId === template.userId);\n // Object.values would return array-> [undefined] if the user is not in the channel\n if (mentionedMember) {\n userMap[template.userId] = mentionedMember;\n }\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n getLeafNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, collect leaf nodes and parse words\n const leafNodes = getLeafNodes(pasteNode);\n const words = domToMessageTemplate(leafNodes);\n const mentionedUsers = getUsersFromWords(words, channel);\n\n // side effects\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../modules/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport renderMentionLabelToString from '../MentionUserLabel/renderToString';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { nodeListToArray, sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\nimport { tokenizeMessage } from '../../modules/Message/utils/tokens/tokenize';\nimport { USER_MENTION_PREFIX } from '../../modules/Message/consts';\nimport { TOKEN_TYPES } from '../../modules/Message/utils/tokens/types';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n};\n\nconst resetInput = (ref) => {\n try {\n /* eslint-disable no-param-reassign */\n ref.current.innerHTML = '';\n } catch {\n //\n }\n};\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch {\n //\n }\n setMentionedUserIds([]);\n setIsInput(textField?.textContent?.trim().length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n const tokens = tokenizeMessage({\n messageText: message?.mentionedMessageTemplate,\n mentionedUsers,\n });\n textField.innerHTML = tokens.map((token) => {\n if (token.type === TOKEN_TYPES.mention) {\n const mentionedUser = mentionedUsers.find((user) => user.userId === token.userId);\n const nickname = `${USER_MENTION_PREFIX}${mentionedUser?.nickname || token.value || stringSet.MENTION_NAME__NO_NAME}`;\n return renderMentionLabelToString({\n userId: token.userId,\n nickname,\n });\n }\n return sanitizeString(token.value);\n }).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(message?.message);\n } catch {\n //\n }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.textContent?.trim().length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.textContent?.trim().length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n const childNodes = nodeListToArray(textField?.childNodes);\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderMentionLabelToString({\n userId: mentionSelectedUser?.userId,\n nickname: `${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`,\n });\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.textContent) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else if (node?.nodeType === NodeTypes.ElementNode && node?.nodeName === NodeNames.Div) {\n // handles newline in safari\n const { textContent = '' } = node;\n messageText += `\\n${textContent}`;\n mentionTemplate += `\\n${textContent}`;\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.textContent?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\n });\n\n const textField = ref?.current;\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter\n && textField?.textContent?.trim().length > 0\n && e?.nativeEvent?.isComposing !== true\n ) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(textField?.textContent?.trim().length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {textField?.innerText?.length === 0 && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.() || (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n ))\n )\n }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )}\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n disabled={isEditDisabled}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n setMentionedUsers: PropTypes.func,\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n renderVoiceMessageIcon: PropTypes.func,\n renderSendMessageIcon: PropTypes.func,\n renderFileUploadIcon: PropTypes.func,\n channel: PropTypes.shape({}),\n};\n\nMessageInput.defaultProps = {\n className: '',\n messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n setMentionedUsers: noop,\n renderVoiceMessageIcon: noop,\n renderFileUploadIcon: noop,\n renderSendMessageIcon: noop,\n channel: {},\n};\n\nexport default MessageInput;\n"],"names":["renderToString","_ref","userId","nickname","el","MENTION_USER_LABEL_CLASSNAME","purifier","DOMPurify","window","sanitized_","sanitize","token","split","spanTag","rest","sanitized","join","sanitizeString","str","replace","i","concat","charCodeAt","nodeListToArray","childNodes","Array","from","error","inserTemplateToDOM","templateList","nodes","map","template","text","renderMentionLabelToString","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","querySelectorIncludingSelf","master","selector","result","querySelectorAll","find","matches","getLeafNodes","ogMessage","OG_MESSAGE_BODY_CLASSNAME","textMessageBody","TEXT_MESSAGE_BODY_CLASSNAME","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","length","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","Text","textContent","HTMLElement","classList","contains","_mentionNode$dataset","dataset","userid","getUsersFromWords","channel","userMap","users","members","mentionedMember","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","clean","innerHTML","children","leafNodes","words","mentionedUsers","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","_unused","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","_ref$current","_ref$current$textCont","_textField$innerText","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","initialValue","useEffect","_textField$textConten","textField","_unused2","trim","messageId","_message$mentionedUse","_message$mentionedMes","_textField$textConten2","mentionedMessageTemplate","tokens","tokenizeMessage","messageText","type","TOKEN_TYPES","mention","mentionedUser","USER_MENTION_PREFIX","MENTION_NAME__NO_NAME","_unused3","useMentionedLabelDetection","_textField$textConten3","newMentionedUserIds","getElementsByClassName","_node$dataset","arrayEqual","_document","_childNodes$startNode","_document2","_childNodes$endNodeIn","frontTextNode","createTextNode","slice","backTextNode","mentionLabel","USER_MENTION_TEMP_CHAR","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","_window","_window$getSelection","_document3","_document3$getSelecti","call","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","Div","params","isEditDisabled","editMessage","onPaste","getClassName","contentEditable","role","preventEvent","_textField$textConten4","_e$nativeEvent","_ref$current2","_ref$current2$childNo","_ref$current3","_ref$current3$childNo","_ref$current3$childNo2","_ref$current$childNod","_ref$current$childNod2","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","onClick","onInput","_textField$textConten5","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","width","Icon","IconTypes","SEND","fillColor","IconColors","ON_BACKGROUND_4","PRIMARY","_fileInputRef$current","_fileInputRef$current2","click","ATTACH","CONTENT_INVERSE","onChange","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MentionUserLabel/renderToString.ts","../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.ts","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/messageInputUtils.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// cretes a sanitized string from a mention user label\nimport DOMPurify from 'dompurify';\nimport { MENTION_USER_LABEL_CLASSNAME } from './consts';\n\ntype renderToStringParams = {\n userId: string;\n nickname: string;\n};\n\nexport default function renderToString({ userId, nickname }: renderToStringParams): string {\n // donot change this template, it wont work\n const el = `<span data-userid=\"${userId}\" data-sb-mention=\"true\" class=\"${MENTION_USER_LABEL_CLASSNAME}\">${nickname}</span>`;\n const purifier = DOMPurify(window);\n const sanitized_ = purifier.sanitize(el);\n const token = sanitized_.split(' ');\n const [spanTag, ...rest] = token;\n // we do this because DOMPurify removes the contenteditable attribute\n const sanitized = [spanTag, 'contenteditable=\"false\"', ...rest].join(' ');\n return sanitized;\n}\n","// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\n/**\n * NodeList cannot be used with Array methods\n * @param {childNodes} NodeList\n * @returns Array of child nodes\n */\nexport const nodeListToArray = (childNodes) => {\n try {\n return Array.from(childNodes);\n } catch (error) {\n return [];\n }\n};\n\nexport default debounce;\n","import { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport renderMentionLabelToString from '../../../MentionUserLabel/renderToString';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return renderMentionLabelToString({ userId, nickname: text });\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\nimport { TEXT_MESSAGE_BODY_CLASSNAME } from '../../../TextMessageItemBody/consts';\nimport { OG_MESSAGE_BODY_CLASSNAME } from '../../../OGMessageItemBody/consts';\nimport { nodeListToArray } from '../../utils';\n\nexport function querySelectorIncludingSelf(\n master: HTMLElement,\n selector: string,\n): HTMLElement | null {\n const result = [\n master,\n ...Array.from(master.querySelectorAll(selector)),\n ].find((el) => el.matches(selector)) as HTMLElement | null;\n return result;\n}\n\n// Pasted dom node can be OG_MESSAGE or partial message or full message\n// full messsage would have TEXT_MESSAGE_BODY_CLASSNAME and have childNodes\n// partial message would not have TEXT_MESSAGE_BODY_CLASSNAME\nexport function getLeafNodes(master: HTMLElement): ChildNode[] {\n // og message\n const ogMessage = querySelectorIncludingSelf(master, `.${OG_MESSAGE_BODY_CLASSNAME}`);\n if (ogMessage) {\n return nodeListToArray(ogMessage.childNodes);\n }\n\n const textMessageBody = querySelectorIncludingSelf(master, `.${TEXT_MESSAGE_BODY_CLASSNAME}`);\n if (textMessageBody) {\n return nodeListToArray(textMessageBody.childNodes);\n }\n\n return nodeListToArray(master.childNodes);\n}\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n};\n\nexport function domToMessageTemplate(nodeArray: ChildNode[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n // currentValue can be node(from messageBody or messageInput) or text\n let mentionNode;\n // this looks awkward, but it is a fallback to set default text\n let text = (currentValue as HTMLSpanElement)?.innerText;\n\n // if text node, set text\n if (currentValue instanceof Text) {\n mentionNode = false;\n text = currentValue.textContent;\n }\n\n if (currentValue instanceof HTMLElement) {\n mentionNode = (currentValue.classList.contains(MENTION_CLASS) || currentValue.classList.contains(MENTION_CLASS_IN_INPUT))\n ? currentValue\n : currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY);\n }\n\n // if mentionNode is not null, it is a mention\n if (mentionNode) {\n const text = (currentValue as HTMLSpanElement)?.innerText;\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n const mentionedMember = users.find((user) => user.userId === template.userId);\n // Object.values would return array-> [undefined] if the user is not in the channel\n if (mentionedMember) {\n userMap[template.userId] = mentionedMember;\n }\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n getLeafNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, collect leaf nodes and parse words\n const leafNodes = getLeafNodes(pasteNode);\n const words = domToMessageTemplate(leafNodes);\n const mentionedUsers = getUsersFromWords(words, channel);\n\n // side effects\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","/**\n * Write new utils here\n * Migrate old utils as needed, and delete utils.js\n */\n// import { ChannelType } from '@sendbird/chat';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\nimport { match } from 'ts-pattern';\n\nimport type { SendBirdStateConfig } from '../../lib/types';\n\n/**\n * FIXME:\n * Import this ChannelType enum from @sendbird/chat\n * once MessageInput.spec unit tests can be run \\wo jest <-> ESM issue\n */\nenum ChannelType {\n BASE = 'base',\n GROUP = 'group',\n OPEN = 'open',\n}\n/**\n * FIXME: Simplify this in UIKit@v4\n * If customer is using MessageInput inside our modules(ie: Channel, Thread, etc),\n * we should use the config from the module.\n * If customer is using MessageInput outside our modules(ie: custom UI),\n * we expect Channel to be undefined and customer gets control to show/hide file-upload.\n * @param {*} channel GroupChannel | OpenChannel\n * @param {*} config SendBirdStateConfig\n * @returns boolean\n */\nexport const checkIfFileUploadEnabled = ({ channel, config }: {\n channel?: GroupChannel | OpenChannel,\n config?: SendBirdStateConfig,\n}) => {\n const isEnabled = match(channel?.channelType)\n .with(ChannelType.GROUP, () => config?.groupChannel?.enableDocument)\n .with(ChannelType.OPEN, () => config?.openChannel?.enableDocument)\n .otherwise(() => true);\n\n return isEnabled;\n};\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../modules/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport renderMentionLabelToString from '../MentionUserLabel/renderToString';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\nimport { nodeListToArray, sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\nimport { tokenizeMessage } from '../../modules/Message/utils/tokens/tokenize';\nimport { USER_MENTION_PREFIX } from '../../modules/Message/consts';\nimport { TOKEN_TYPES } from '../../modules/Message/utils/tokens/types';\nimport { checkIfFileUploadEnabled } from './messageInputUtils';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n};\n\nconst resetInput = (ref) => {\n try {\n /* eslint-disable no-param-reassign */\n ref.current.innerHTML = '';\n } catch {\n //\n }\n};\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n\n const isFileUploadEnabled = checkIfFileUploadEnabled({\n channel,\n config,\n });\n\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch {\n //\n }\n setMentionedUserIds([]);\n setIsInput(textField?.textContent?.trim().length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n const tokens = tokenizeMessage({\n messageText: message?.mentionedMessageTemplate,\n mentionedUsers,\n });\n textField.innerHTML = tokens.map((token) => {\n if (token.type === TOKEN_TYPES.mention) {\n const mentionedUser = mentionedUsers.find((user) => user.userId === token.userId);\n const nickname = `${USER_MENTION_PREFIX}${mentionedUser?.nickname || token.value || stringSet.MENTION_NAME__NO_NAME}`;\n return renderMentionLabelToString({\n userId: token.userId,\n nickname,\n });\n }\n return sanitizeString(token.value);\n }).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(message?.message);\n } catch {\n //\n }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.textContent?.trim().length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.textContent?.trim().length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(textFieldId);\n const textField = ref?.current;\n const childNodes = nodeListToArray(textField?.childNodes);\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderMentionLabelToString({\n userId: mentionSelectedUser?.userId,\n nickname: `${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`,\n });\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.textContent) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else if (node?.nodeType === NodeTypes.ElementNode && node?.nodeName === NodeNames.Div) {\n // handles newline in safari\n const { textContent = '' } = node;\n messageText += `\\n${textContent}`;\n mentionTemplate += `\\n${textContent}`;\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.textContent?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\n });\n\n const textField = ref?.current;\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter\n && textField?.textContent?.trim().length > 0\n && e?.nativeEvent?.isComposing !== true\n ) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(textField?.textContent?.trim().length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {textField?.innerText?.length === 0 && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.()\n // UIKit Dashboard configuration should have lower priority than\n // renderFileUploadIcon which is set in code level\n || (isFileUploadEnabled && (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n )\n ))\n )\n }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )}\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n disabled={isEditDisabled}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n setMentionedUsers: PropTypes.func,\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n renderVoiceMessageIcon: PropTypes.func,\n renderSendMessageIcon: PropTypes.func,\n renderFileUploadIcon: PropTypes.func,\n channel: PropTypes.shape({\n channelType: PropTypes.string,\n }).isRequired,\n};\n\nMessageInput.defaultProps = {\n className: '',\n messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n setMentionedUsers: noop,\n renderVoiceMessageIcon: noop,\n renderFileUploadIcon: noop,\n renderSendMessageIcon: noop,\n};\n\nexport default MessageInput;\n"],"names":["renderToString","_ref","userId","nickname","el","MENTION_USER_LABEL_CLASSNAME","purifier","DOMPurify","window","sanitized_","sanitize","token","split","spanTag","rest","sanitized","join","sanitizeString","str","replace","i","concat","charCodeAt","nodeListToArray","childNodes","Array","from","error","inserTemplateToDOM","templateList","nodes","map","template","text","renderMentionLabelToString","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","querySelectorIncludingSelf","master","selector","result","querySelectorAll","find","matches","getLeafNodes","ogMessage","OG_MESSAGE_BODY_CLASSNAME","textMessageBody","TEXT_MESSAGE_BODY_CLASSNAME","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","length","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","Text","textContent","HTMLElement","classList","contains","_mentionNode$dataset","dataset","userid","getUsersFromWords","channel","userMap","users","members","mentionedMember","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","clean","innerHTML","children","leafNodes","words","mentionedUsers","ChannelType","checkIfFileUploadEnabled","config","isEnabled","match","channelType","with","GROUP","_config$groupChannel","groupChannel","enableDocument","OPEN","_config$openChannel","openChannel","otherwise","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","_unused","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","_ref$current","_ref$current$textCont","_textField$innerText","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useLocalization","useSendbirdStateContext","isFileUploadEnabled","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","initialValue","useEffect","_textField$textConten","textField","_unused2","trim","messageId","_message$mentionedUse","_message$mentionedMes","_textField$textConten2","mentionedMessageTemplate","tokens","tokenizeMessage","messageText","type","TOKEN_TYPES","mention","mentionedUser","USER_MENTION_PREFIX","MENTION_NAME__NO_NAME","_unused3","useMentionedLabelDetection","_textField$textConten3","newMentionedUserIds","getElementsByClassName","_node$dataset","arrayEqual","_document","_childNodes$startNode","_document2","_childNodes$endNodeIn","frontTextNode","createTextNode","slice","backTextNode","mentionLabel","USER_MENTION_TEMP_CHAR","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","_window","_window$getSelection","_document3","_document3$getSelecti","call","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","Div","params","isEditDisabled","editMessage","onPaste","getClassName","contentEditable","role","preventEvent","_textField$textConten4","_e$nativeEvent","_ref$current2","_ref$current2$childNo","_ref$current3","_ref$current3$childNo","_ref$current3$childNo2","_ref$current$childNod","_ref$current$childNod2","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","onClick","onInput","_textField$textConten5","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","width","Icon","IconTypes","SEND","fillColor","IconColors","ON_BACKGROUND_4","PRIMARY","_fileInputRef$current","_fileInputRef$current2","click","ATTACH","CONTENT_INVERSE","onChange","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","isRequired","defaultProps"],"mappings":"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"}
@@ -4,18 +4,18 @@ var React = require('react');
4
4
  var ui_ContextMenu = require('./ContextMenu.js');
5
5
  var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
- var index = require('../index-70ee1e87.js');
8
- var LocalizationContext = require('../LocalizationContext-a584fa55.js');
9
- var types = require('../types-edd094e8.js');
10
- require('../_rollupPluginBabelHelpers-17f53083.js');
7
+ var index = require('../index-0bfdb242.js');
8
+ var LocalizationContext = require('../LocalizationContext-b57dbbb3.js');
9
+ var types = require('../types-86058820.js');
10
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
11
11
  require('react-dom');
12
12
  require('./SortByRow.js');
13
- require('../uuid-10926ed0.js');
14
- require('../index-3606d178.js');
13
+ require('../uuid-ec351d96.js');
14
+ require('../index-735ab91e.js');
15
15
  require('prop-types');
16
- require('../stringSet-d6f2a33a.js');
16
+ require('../stringSet-2450c9e9.js');
17
17
  require('../utils/message/getOutgoingMessageState.js');
18
- require('../index-91cd09c7.js');
18
+ require('../index-37e8cb7f.js');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
@@ -6,18 +6,18 @@ var ui_Icon = require('./Icon.js');
6
6
  var ui_IconButton = require('./IconButton.js');
7
7
  var ui_ImageRenderer = require('./ImageRenderer.js');
8
8
  var ui_ReactionButton = require('./ReactionButton.js');
9
- var index = require('../index-70ee1e87.js');
10
- require('../_rollupPluginBabelHelpers-17f53083.js');
9
+ var index = require('../index-0bfdb242.js');
10
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
11
11
  require('react-dom');
12
12
  require('./SortByRow.js');
13
- require('../uuid-10926ed0.js');
14
- require('../index-3606d178.js');
13
+ require('../uuid-ec351d96.js');
14
+ require('../index-735ab91e.js');
15
15
  require('prop-types');
16
- require('../stringSet-d6f2a33a.js');
16
+ require('../stringSet-2450c9e9.js');
17
17
  require('../utils/message/getOutgoingMessageState.js');
18
- require('../useLongPress-a31543ee.js');
19
- require('../MediaQueryContext-baafb1bb.js');
20
- require('../utils-fbb85607.js');
18
+ require('../useLongPress-b013fc04.js');
19
+ require('../MediaQueryContext-6cbb7b30.js');
20
+ require('../utils-6828954f.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
@@ -3,18 +3,18 @@
3
3
  var React = require('react');
4
4
  var ui_Avatar = require('./Avatar.js');
5
5
  var ui_Icon = require('./Icon.js');
6
- var ui_Label = require('../index-3606d178.js');
7
- var LocalizationContext = require('../LocalizationContext-a584fa55.js');
8
- var index$1 = require('../index-63a06f37.js');
9
- var index = require('../index-be531e8c.js');
10
- var index$2 = require('../index-70ee1e87.js');
6
+ var ui_Label = require('../index-735ab91e.js');
7
+ var LocalizationContext = require('../LocalizationContext-b57dbbb3.js');
8
+ var index$1 = require('../index-e811013a.js');
9
+ var index = require('../index-bd8d9af4.js');
10
+ var index$2 = require('../index-0bfdb242.js');
11
11
  require('./ImageRenderer.js');
12
- require('../uuid-10926ed0.js');
12
+ require('../uuid-ec351d96.js');
13
13
  require('prop-types');
14
- require('../stringSet-d6f2a33a.js');
15
- require('../index-91cd09c7.js');
16
- require('../index-de824ad7.js');
17
- require('../_rollupPluginBabelHelpers-17f53083.js');
14
+ require('../stringSet-2450c9e9.js');
15
+ require('../index-37e8cb7f.js');
16
+ require('../index-eda19173.js');
17
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
18
18
  require('../utils/message/getOutgoingMessageState.js');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index$1 = require('../index-63a06f37.js');
5
- var index = require('../index-be531e8c.js');
4
+ var index$1 = require('../index-e811013a.js');
5
+ var index = require('../index-bd8d9af4.js');
6
6
  var ui_Avatar = require('./Avatar.js');
7
- var ui_Label = require('../index-3606d178.js');
8
- var LocalizationContext = require('../LocalizationContext-a584fa55.js');
9
- require('../index-91cd09c7.js');
10
- require('../index-de824ad7.js');
7
+ var ui_Label = require('../index-735ab91e.js');
8
+ var LocalizationContext = require('../LocalizationContext-b57dbbb3.js');
9
+ require('../index-37e8cb7f.js');
10
+ require('../index-eda19173.js');
11
11
  require('./ImageRenderer.js');
12
12
  require('./Icon.js');
13
13
  require('prop-types');
14
- require('../uuid-10926ed0.js');
15
- require('../stringSet-d6f2a33a.js');
14
+ require('../uuid-ec351d96.js');
15
+ require('../stringSet-2450c9e9.js');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
18
 
@@ -3,20 +3,20 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- require('../index-63a06f37.js');
6
+ require('../index-e811013a.js');
7
7
  require('./Icon.js');
8
- require('../index-3606d178.js');
8
+ require('../index-735ab91e.js');
9
9
  require('./Loader.js');
10
- require('../index-70ee1e87.js');
10
+ require('../index-0bfdb242.js');
11
11
  require('../utils/message/getOutgoingMessageState.js');
12
- var ui_MessageStatus = require('../index-c3b543df.js');
13
- require('../LocalizationContext-a584fa55.js');
14
- require('../index-91cd09c7.js');
12
+ var ui_MessageStatus = require('../index-3bf38657.js');
13
+ require('../LocalizationContext-b57dbbb3.js');
14
+ require('../index-37e8cb7f.js');
15
15
  require('prop-types');
16
- require('../stringSet-d6f2a33a.js');
17
- require('../_rollupPluginBabelHelpers-17f53083.js');
18
- require('../index-be531e8c.js');
19
- require('../index-de824ad7.js');
16
+ require('../stringSet-2450c9e9.js');
17
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
18
+ require('../index-bd8d9af4.js');
19
+ require('../index-eda19173.js');
20
20
 
21
21
 
22
22
 
package/cjs/ui/Modal.js CHANGED
@@ -4,17 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var reactDom = require('react-dom');
7
- var index = require('../index-36b49ef5.js');
8
- var LocalizationContext = require('../LocalizationContext-a584fa55.js');
7
+ var index = require('../index-572ef10a.js');
8
+ var LocalizationContext = require('../LocalizationContext-b57dbbb3.js');
9
9
  var ui_Button = require('./Button.js');
10
10
  var ui_Icon = require('./Icon.js');
11
11
  var ui_IconButton = require('./IconButton.js');
12
- var ui_Label = require('../index-3606d178.js');
13
- var MediaQueryContext = require('../MediaQueryContext-baafb1bb.js');
14
- require('../stringSet-d6f2a33a.js');
15
- require('../index-91cd09c7.js');
12
+ var ui_Label = require('../index-735ab91e.js');
13
+ var MediaQueryContext = require('../MediaQueryContext-6cbb7b30.js');
14
+ require('../stringSet-2450c9e9.js');
15
+ require('../index-37e8cb7f.js');
16
16
  require('prop-types');
17
- require('../_rollupPluginBabelHelpers-17f53083.js');
17
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
20
 
@@ -3,29 +3,29 @@
3
3
  var React = require('react');
4
4
  var ui_ImageRenderer = require('./ImageRenderer.js');
5
5
  var ui_Icon = require('./Icon.js');
6
- var ui_Label = require('../index-3606d178.js');
7
- var index = require('../index-70ee1e87.js');
8
- var LocalizationContext = require('../LocalizationContext-a584fa55.js');
9
- var index$1 = require('../index-93ba8e85.js');
10
- var tokenize = require('../tokenize-0df4eb21.js');
11
- var consts = require('../consts-6a102338.js');
6
+ var ui_Label = require('../index-735ab91e.js');
7
+ var index = require('../index-0bfdb242.js');
8
+ var LocalizationContext = require('../LocalizationContext-b57dbbb3.js');
9
+ var index$1 = require('../index-95cb25f2.js');
10
+ var tokenize = require('../tokenize-f217adbe.js');
11
+ var consts = require('../consts-384c3f07.js');
12
12
  require('prop-types');
13
- require('../stringSet-d6f2a33a.js');
14
- require('../_rollupPluginBabelHelpers-17f53083.js');
13
+ require('../stringSet-2450c9e9.js');
14
+ require('../_rollupPluginBabelHelpers-eb6b8b27.js');
15
15
  require('../utils/message/getOutgoingMessageState.js');
16
- require('../index-91cd09c7.js');
17
- require('../index.module-6fa7f09a.js');
16
+ require('../index-37e8cb7f.js');
17
+ require('../index.module-ea6bd1f1.js');
18
18
  require('../Message/context.js');
19
19
  require('./MentionLabel.js');
20
20
  require('./ContextMenu.js');
21
21
  require('react-dom');
22
22
  require('./SortByRow.js');
23
- require('../uuid-10926ed0.js');
23
+ require('../uuid-ec351d96.js');
24
24
  require('./UserProfile.js');
25
- require('../UserProfileContext-0308bb46.js');
25
+ require('../UserProfileContext-47da79ce.js');
26
26
  require('../sendbirdSelectors.js');
27
- require('../topics-c7ef77ef.js');
28
- require('../utils-fbb85607.js');
27
+ require('../topics-03a59659.js');
28
+ require('../utils-6828954f.js');
29
29
  require('./Avatar.js');
30
30
  require('./Button.js');
31
31
  require('../useSendbirdStateContext.js');
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var ui_Label = require('../index-3606d178.js');
4
+ var ui_Label = require('../index-735ab91e.js');
5
5
  require('prop-types');
6
- require('../stringSet-d6f2a33a.js');
6
+ require('../stringSet-2450c9e9.js');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9