@sendbird/uikit-react 3.7.0 → 3.8.1
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.
- package/App.js +295 -563
- package/App.js.map +1 -1
- package/CHANGELOG.md +79 -0
- package/Channel/components/ChannelHeader.js +51 -97
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +89 -132
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +73 -142
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +10 -15
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +287 -388
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +172 -238
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +263 -323
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +38 -50
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +179 -264
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +74 -80
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +27 -31
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +17 -16
- package/Channel/context.js.map +1 -1
- package/Channel/hooks/useInitialMessagesFetch.js +109 -0
- package/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
- package/Channel/utils/compareMessagesForGrouping.js +19 -16
- package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
- package/Channel/utils/getMessagePartsInfo.js +26 -37
- package/Channel/utils/getMessagePartsInfo.js.map +1 -1
- package/Channel.js +60 -104
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +34 -53
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +30 -57
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +103 -160
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +103 -168
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +53 -111
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +9 -9
- package/ChannelList.js +37 -60
- package/ChannelList.js.map +1 -1
- package/ChannelSettings/components/ChannelProfile.js +46 -78
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +80 -112
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +80 -134
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +53 -80
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +414 -792
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +46 -90
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +39 -58
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +62 -84
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +21 -39
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +24 -34
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +144 -181
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +65 -114
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +19 -34
- package/CreateChannel.js.map +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +52 -109
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +42 -51
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +16 -32
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +82 -143
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile/context.js +13 -20
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +16 -25
- package/EditUserProfile.js.map +1 -1
- package/Message/context.js +21 -24
- package/Message/context.js.map +1 -1
- package/Message/hooks/useDirtyGetMentions.js +52 -63
- package/Message/hooks/useDirtyGetMentions.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +72 -124
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +237 -339
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +58 -121
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +9 -13
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +33 -74
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +41 -59
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +159 -247
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +86 -121
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +61 -83
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +38 -58
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +93 -166
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +20 -59
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +23 -42
- package/OpenChannelList.js.map +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +71 -125
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +36 -62
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +54 -86
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +456 -830
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +17 -20
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +115 -125
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +22 -35
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +0 -10
- package/SendbirdProvider.js +991 -1235
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +196 -350
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +107 -197
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +23 -51
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +116 -152
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +271 -531
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +155 -213
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +195 -271
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +21 -21
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +1223 -1634
- package/Thread/context.js.map +1 -1
- package/Thread.js +61 -100
- package/Thread.js.map +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +56 -77
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +121 -151
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +95 -108
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/chunks/bundle--Hrow3p-.js +42 -0
- package/chunks/bundle--Hrow3p-.js.map +1 -0
- package/chunks/bundle-06CfHADE.js +26 -0
- package/chunks/bundle-06CfHADE.js.map +1 -0
- package/{index-09847c0f.js → chunks/bundle-0BwB1B7t.js} +1 -1
- package/chunks/bundle-0BwB1B7t.js.map +1 -0
- package/{consts-57c888b9.js → chunks/bundle-0plqkdfC.js} +1 -1
- package/chunks/bundle-0plqkdfC.js.map +1 -0
- package/{types-781e0bab.js → chunks/bundle-1uIyPhfL.js} +6 -6
- package/chunks/bundle-1uIyPhfL.js.map +1 -0
- package/chunks/bundle-2oi09sb6.js +277 -0
- package/chunks/bundle-2oi09sb6.js.map +1 -0
- package/chunks/bundle-3KS1YB09.js +25 -0
- package/chunks/bundle-3KS1YB09.js.map +1 -0
- package/chunks/bundle-3oeQjqp5.js +14 -0
- package/chunks/bundle-3oeQjqp5.js.map +1 -0
- package/chunks/bundle-4zdVdGkr.js +213 -0
- package/chunks/bundle-4zdVdGkr.js.map +1 -0
- package/chunks/bundle-5Z7nY-qa.js +355 -0
- package/chunks/bundle-5Z7nY-qa.js.map +1 -0
- package/chunks/bundle-62G-DTVs.js +211 -0
- package/chunks/bundle-62G-DTVs.js.map +1 -0
- package/chunks/bundle-6G8kMIS1.js +1455 -0
- package/chunks/bundle-6G8kMIS1.js.map +1 -0
- package/chunks/bundle-7-9WA7QK.js +222 -0
- package/chunks/bundle-7-9WA7QK.js.map +1 -0
- package/chunks/bundle-7DHTLnV3.js +98 -0
- package/chunks/bundle-7DHTLnV3.js.map +1 -0
- package/chunks/bundle-9uR-6efo.js +77 -0
- package/chunks/bundle-9uR-6efo.js.map +1 -0
- package/{tslib.es6-c2fb729e.js → chunks/bundle-AVOWwEQ4.js} +2 -2
- package/chunks/bundle-AVOWwEQ4.js.map +1 -0
- package/chunks/bundle-DwZzB6nL.js +16 -0
- package/chunks/bundle-DwZzB6nL.js.map +1 -0
- package/chunks/bundle-EZnDY3Tc.js +131 -0
- package/chunks/bundle-EZnDY3Tc.js.map +1 -0
- package/chunks/bundle-F63fi8fP.js +24 -0
- package/chunks/bundle-F63fi8fP.js.map +1 -0
- package/chunks/bundle-FQAabli1.js +5 -0
- package/chunks/bundle-FQAabli1.js.map +1 -0
- package/chunks/bundle-G3cS-S1W.js +24 -0
- package/chunks/bundle-G3cS-S1W.js.map +1 -0
- package/chunks/bundle-GqUhOzeC.js +16 -0
- package/chunks/bundle-GqUhOzeC.js.map +1 -0
- package/chunks/bundle-J7RD0FpU.js +96 -0
- package/chunks/bundle-J7RD0FpU.js.map +1 -0
- package/{index-f8a9cb51.js → chunks/bundle-J7om32yx.js} +12 -3
- package/chunks/bundle-J7om32yx.js.map +1 -0
- package/{const-73db0277.js → chunks/bundle-JGFwpJZJ.js} +10 -10
- package/chunks/bundle-JGFwpJZJ.js.map +1 -0
- package/chunks/bundle-KaSW5xxP.js +176 -0
- package/chunks/bundle-KaSW5xxP.js.map +1 -0
- package/{index-2d27aeef.js → chunks/bundle-LPkaaUo4.js} +202 -64
- package/chunks/bundle-LPkaaUo4.js.map +1 -0
- package/chunks/bundle-Lh7-eKPZ.js +125 -0
- package/chunks/bundle-Lh7-eKPZ.js.map +1 -0
- package/chunks/bundle-NcHt88Fs.js +8 -0
- package/chunks/bundle-NcHt88Fs.js.map +1 -0
- package/chunks/bundle-OoXqnc0l.js +657 -0
- package/chunks/bundle-OoXqnc0l.js.map +1 -0
- package/chunks/bundle-PK1dgVwp.js +57 -0
- package/chunks/bundle-PK1dgVwp.js.map +1 -0
- package/chunks/bundle-QKq7b-WA.js +76 -0
- package/chunks/bundle-QKq7b-WA.js.map +1 -0
- package/chunks/bundle-QeQV8Aqe.js +28 -0
- package/chunks/bundle-QeQV8Aqe.js.map +1 -0
- package/chunks/bundle-TWJd6cza.js +826 -0
- package/chunks/bundle-TWJd6cza.js.map +1 -0
- package/{consts-d9c5f25a.js → chunks/bundle-UjngV2Kp.js} +28 -28
- package/chunks/bundle-UjngV2Kp.js.map +1 -0
- package/chunks/bundle-VSkY75XQ.js +72 -0
- package/chunks/bundle-VSkY75XQ.js.map +1 -0
- package/chunks/bundle-YwxAxKwQ.js +1519 -0
- package/chunks/bundle-YwxAxKwQ.js.map +1 -0
- package/{index-682a192c.js → chunks/bundle-ZZuBYhV1.js} +4 -2
- package/chunks/bundle-ZZuBYhV1.js.map +1 -0
- package/chunks/bundle-_2iSz8ke.js +353 -0
- package/chunks/bundle-_2iSz8ke.js.map +1 -0
- package/{consts-be37687e.js → chunks/bundle-_nlJSeuz.js} +1 -1
- package/chunks/bundle-_nlJSeuz.js.map +1 -0
- package/chunks/bundle-fQ2M7pMu.js +151 -0
- package/chunks/bundle-fQ2M7pMu.js.map +1 -0
- package/chunks/bundle-fbmUkwMs.js +173 -0
- package/chunks/bundle-fbmUkwMs.js.map +1 -0
- package/chunks/bundle-gYyMZyCn.js +62 -0
- package/chunks/bundle-gYyMZyCn.js.map +1 -0
- package/{uuid-c15b8b3b.js → chunks/bundle-iPDlyZXo.js} +11 -13
- package/chunks/bundle-iPDlyZXo.js.map +1 -0
- package/chunks/bundle-jUubN32Z.js +36 -0
- package/chunks/bundle-jUubN32Z.js.map +1 -0
- package/chunks/bundle-kBtT3HBi.js +230 -0
- package/chunks/bundle-kBtT3HBi.js.map +1 -0
- package/chunks/bundle-kPOY92Qs.js +132 -0
- package/chunks/bundle-kPOY92Qs.js.map +1 -0
- package/{consts-4ec7d640.js → chunks/bundle-kaJaYGwQ.js} +1 -1
- package/chunks/bundle-kaJaYGwQ.js.map +1 -0
- package/chunks/bundle-lDOyfwhb.js +78 -0
- package/chunks/bundle-lDOyfwhb.js.map +1 -0
- package/{index-e4277f9c.js → chunks/bundle-ltzZCtkR.js} +42 -15
- package/chunks/bundle-ltzZCtkR.js.map +1 -0
- package/chunks/bundle-ndy1oWfZ.js +12 -0
- package/chunks/bundle-ndy1oWfZ.js.map +1 -0
- package/chunks/bundle-r7_GdraW.js +233 -0
- package/chunks/bundle-r7_GdraW.js.map +1 -0
- package/{resolvedReplyType-fb987595.js → chunks/bundle-rX7vrYxX.js} +27 -27
- package/chunks/bundle-rX7vrYxX.js.map +1 -0
- package/chunks/bundle-tK1qgIcU.js +18 -0
- package/chunks/bundle-tK1qgIcU.js.map +1 -0
- package/chunks/bundle-um2Azmnd.js +31 -0
- package/chunks/bundle-um2Azmnd.js.map +1 -0
- package/chunks/bundle-w-pB0qJ8.js +36 -0
- package/chunks/bundle-w-pB0qJ8.js.map +1 -0
- package/chunks/bundle-x3udz03j.js +77 -0
- package/chunks/bundle-x3udz03j.js.map +1 -0
- package/chunks/bundle-zch8NdOh.js +220 -0
- package/chunks/bundle-zch8NdOh.js.map +1 -0
- package/chunks/bundle-zqQY3xFx.js +69 -0
- package/chunks/bundle-zqQY3xFx.js.map +1 -0
- package/cjs/App.js +295 -567
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +51 -101
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +89 -136
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +74 -147
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +10 -19
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +286 -391
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +172 -242
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +261 -325
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +38 -54
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +178 -267
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +74 -84
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +26 -34
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +17 -18
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel/hooks/useInitialMessagesFetch.js +111 -0
- package/cjs/Channel/hooks/useInitialMessagesFetch.js.map +1 -0
- package/cjs/Channel/utils/compareMessagesForGrouping.js +19 -18
- package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
- package/cjs/Channel/utils/getMessagePartsInfo.js +26 -39
- package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
- package/cjs/Channel.js +60 -108
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +35 -58
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +30 -61
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +103 -164
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +103 -172
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +53 -115
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +9 -11
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +37 -64
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +46 -82
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +80 -116
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +80 -138
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +53 -84
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +413 -795
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +46 -94
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +39 -62
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +62 -90
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +21 -43
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +24 -38
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +144 -185
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +65 -118
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -6
- package/cjs/CreateChannel/context.js.map +1 -1
- package/cjs/CreateChannel.js +19 -38
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +52 -113
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +42 -57
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +16 -36
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +82 -147
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile/context.js +13 -26
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +16 -29
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/Message/context.js +21 -30
- package/cjs/Message/context.js.map +1 -1
- package/cjs/Message/hooks/useDirtyGetMentions.js +52 -65
- package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +73 -129
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +237 -345
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +58 -125
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -17
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +33 -78
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +41 -63
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +159 -251
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +86 -125
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +61 -87
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -10
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +38 -62
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +93 -170
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +20 -63
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +23 -46
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +71 -129
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +36 -66
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +54 -90
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +456 -834
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +17 -20
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +115 -131
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +22 -39
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +992 -1242
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +196 -354
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +107 -201
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +23 -55
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +116 -156
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +271 -535
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +155 -217
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +195 -275
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +21 -23
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +1223 -1640
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +61 -104
- package/cjs/Thread.js.map +1 -1
- package/cjs/VoicePlayer/context.js +3 -5
- package/cjs/VoicePlayer/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +56 -79
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +121 -155
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +95 -110
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/chunks/bundle-2KPLdyEL.js +128 -0
- package/cjs/chunks/bundle-2KPLdyEL.js.map +1 -0
- package/cjs/chunks/bundle-3qeMVUne.js +38 -0
- package/cjs/chunks/bundle-3qeMVUne.js.map +1 -0
- package/cjs/{consts-f54b15c2.js → chunks/bundle-4iro9CUN.js} +27 -27
- package/cjs/chunks/bundle-4iro9CUN.js.map +1 -0
- package/cjs/chunks/bundle-5l7POen0.js +215 -0
- package/cjs/chunks/bundle-5l7POen0.js.map +1 -0
- package/cjs/chunks/bundle-6fWeHUzf.js +46 -0
- package/cjs/chunks/bundle-6fWeHUzf.js.map +1 -0
- package/cjs/chunks/bundle-80bw1Z-w.js +20 -0
- package/cjs/chunks/bundle-80bw1Z-w.js.map +1 -0
- package/cjs/chunks/bundle-8lUFYwiz.js +163 -0
- package/cjs/chunks/bundle-8lUFYwiz.js.map +1 -0
- package/cjs/chunks/bundle-A9-xoiFy.js +18 -0
- package/cjs/chunks/bundle-A9-xoiFy.js.map +1 -0
- package/cjs/chunks/bundle-ACXel153.js +27 -0
- package/cjs/chunks/bundle-ACXel153.js.map +1 -0
- package/cjs/chunks/bundle-BUF_nc4Q.js +707 -0
- package/cjs/chunks/bundle-BUF_nc4Q.js.map +1 -0
- package/cjs/chunks/bundle-Bekm94S6.js +137 -0
- package/cjs/chunks/bundle-Bekm94S6.js.map +1 -0
- package/cjs/chunks/bundle-Ch6xNfpK.js +1460 -0
- package/cjs/chunks/bundle-Ch6xNfpK.js.map +1 -0
- package/cjs/chunks/bundle-Co06yFqb.js +178 -0
- package/cjs/chunks/bundle-Co06yFqb.js.map +1 -0
- package/cjs/{consts-b711321c.js → chunks/bundle-DRPbz-J2.js} +1 -1
- package/cjs/chunks/bundle-DRPbz-J2.js.map +1 -0
- package/cjs/chunks/bundle-DTSMqW5p.js +39 -0
- package/cjs/chunks/bundle-DTSMqW5p.js.map +1 -0
- package/cjs/{index-e8928da6.js → chunks/bundle-EVv3xRW8.js} +42 -15
- package/cjs/chunks/bundle-EVv3xRW8.js.map +1 -0
- package/cjs/chunks/bundle-FCrfVx0P.js +79 -0
- package/cjs/chunks/bundle-FCrfVx0P.js.map +1 -0
- package/cjs/chunks/bundle-FI-ZNmbG.js +30 -0
- package/cjs/chunks/bundle-FI-ZNmbG.js.map +1 -0
- package/cjs/chunks/bundle-LoNtsKOJ.js +217 -0
- package/cjs/chunks/bundle-LoNtsKOJ.js.map +1 -0
- package/cjs/{types-feda9656.js → chunks/bundle-M6v8bdc6.js} +6 -6
- package/cjs/chunks/bundle-M6v8bdc6.js.map +1 -0
- package/cjs/{consts-61d83828.js → chunks/bundle-MB8QdyyQ.js} +1 -1
- package/cjs/chunks/bundle-MB8QdyyQ.js.map +1 -0
- package/cjs/chunks/bundle-MwYMtlCB.js +109 -0
- package/cjs/chunks/bundle-MwYMtlCB.js.map +1 -0
- package/cjs/chunks/bundle-NOQysszZ.js +10 -0
- package/cjs/chunks/bundle-NOQysszZ.js.map +1 -0
- package/cjs/chunks/bundle-OfmF0BBb.js +99 -0
- package/cjs/chunks/bundle-OfmF0BBb.js.map +1 -0
- package/cjs/{consts-b3c4f548.js → chunks/bundle-PoR4V_kd.js} +1 -1
- package/cjs/chunks/bundle-PoR4V_kd.js.map +1 -0
- package/cjs/{index-54279ec2.js → chunks/bundle-RG3ZDmvE.js} +1 -1
- package/cjs/chunks/bundle-RG3ZDmvE.js.map +1 -0
- package/cjs/chunks/bundle-RV4B0RCM.js +27 -0
- package/cjs/chunks/bundle-RV4B0RCM.js.map +1 -0
- package/cjs/chunks/bundle-TCdgqawd.js +75 -0
- package/cjs/chunks/bundle-TCdgqawd.js.map +1 -0
- package/cjs/{const-c9e7a340.js → chunks/bundle-VHUezYnn.js} +10 -10
- package/cjs/chunks/bundle-VHUezYnn.js.map +1 -0
- package/cjs/chunks/bundle-Y0ibVW_O.js +139 -0
- package/cjs/chunks/bundle-Y0ibVW_O.js.map +1 -0
- package/cjs/chunks/bundle-YRW87MiX.js +22 -0
- package/cjs/chunks/bundle-YRW87MiX.js.map +1 -0
- package/cjs/{uuid-9a117e16.js → chunks/bundle-Z8uBiYyS.js} +11 -13
- package/cjs/chunks/bundle-Z8uBiYyS.js.map +1 -0
- package/cjs/chunks/bundle-ZYvG_yE0.js +26 -0
- package/cjs/chunks/bundle-ZYvG_yE0.js.map +1 -0
- package/cjs/chunks/bundle-_R3HdLLP.js +831 -0
- package/cjs/chunks/bundle-_R3HdLLP.js.map +1 -0
- package/cjs/chunks/bundle-_yIYQoui.js +1523 -0
- package/cjs/chunks/bundle-_yIYQoui.js.map +1 -0
- package/cjs/chunks/bundle-a_NGo240.js +16 -0
- package/cjs/chunks/bundle-a_NGo240.js.map +1 -0
- package/cjs/chunks/bundle-bQffWPr0.js +84 -0
- package/cjs/chunks/bundle-bQffWPr0.js.map +1 -0
- package/cjs/{index-7627b546.js → chunks/bundle-cKt6NzI1.js} +12 -3
- package/cjs/chunks/bundle-cKt6NzI1.js.map +1 -0
- package/cjs/chunks/bundle-fTDV9UxX.js +84 -0
- package/cjs/chunks/bundle-fTDV9UxX.js.map +1 -0
- package/cjs/chunks/bundle-h48X_8mu.js +224 -0
- package/cjs/chunks/bundle-h48X_8mu.js.map +1 -0
- package/cjs/chunks/bundle-kkxTVcGD.js +79 -0
- package/cjs/chunks/bundle-kkxTVcGD.js.map +1 -0
- package/cjs/chunks/bundle-leALuaxJ.js +228 -0
- package/cjs/chunks/bundle-leALuaxJ.js.map +1 -0
- package/cjs/chunks/bundle-lj7KorhP.js +81 -0
- package/cjs/chunks/bundle-lj7KorhP.js.map +1 -0
- package/cjs/chunks/bundle-lkluBCYi.js +74 -0
- package/cjs/chunks/bundle-lkluBCYi.js.map +1 -0
- package/cjs/{tslib.es6-c74b513f.js → chunks/bundle-mc8PQfi_.js} +1 -1
- package/cjs/chunks/bundle-mc8PQfi_.js.map +1 -0
- package/cjs/chunks/bundle-n6O0NYfY.js +279 -0
- package/cjs/chunks/bundle-n6O0NYfY.js.map +1 -0
- package/cjs/chunks/bundle-o5pJIgS7.js +35 -0
- package/cjs/chunks/bundle-o5pJIgS7.js.map +1 -0
- package/cjs/chunks/bundle-o66lc7qg.js +69 -0
- package/cjs/chunks/bundle-o66lc7qg.js.map +1 -0
- package/cjs/chunks/bundle-oISd80pA.js +28 -0
- package/cjs/chunks/bundle-oISd80pA.js.map +1 -0
- package/cjs/chunks/bundle-oiMScSG6.js +236 -0
- package/cjs/chunks/bundle-oiMScSG6.js.map +1 -0
- package/cjs/{index-3448df64.js → chunks/bundle-pLajF9mf.js} +202 -64
- package/cjs/chunks/bundle-pLajF9mf.js.map +1 -0
- package/cjs/chunks/bundle-t70SIG3R.js +181 -0
- package/cjs/chunks/bundle-t70SIG3R.js.map +1 -0
- package/cjs/chunks/bundle-tooLK5gn.js +360 -0
- package/cjs/chunks/bundle-tooLK5gn.js.map +1 -0
- package/cjs/chunks/bundle-u4ZfKyD_.js +15 -0
- package/cjs/chunks/bundle-u4ZfKyD_.js.map +1 -0
- package/cjs/{index-134e9852.js → chunks/bundle-uE1K1eGs.js} +4 -2
- package/cjs/chunks/bundle-uE1K1eGs.js.map +1 -0
- package/cjs/chunks/bundle-vWOLHFBL.js +356 -0
- package/cjs/chunks/bundle-vWOLHFBL.js.map +1 -0
- package/cjs/chunks/bundle-viTxhrPr.js +8 -0
- package/cjs/chunks/bundle-viTxhrPr.js.map +1 -0
- package/cjs/{resolvedReplyType-c4564ebe.js → chunks/bundle-wPu8WyIh.js} +26 -26
- package/cjs/chunks/bundle-wPu8WyIh.js.map +1 -0
- package/cjs/chunks/bundle-xy995kna.js +236 -0
- package/cjs/chunks/bundle-xy995kna.js.map +1 -0
- package/cjs/handlers/OpenChannelHandler.js +2 -2
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js +2 -2
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/hooks/useModal.js +47 -72
- package/cjs/hooks/useModal.js.map +1 -1
- package/cjs/index.js +61 -65
- package/cjs/index.js.map +1 -1
- package/cjs/lame.all.js +14799 -681
- package/cjs/lame.all.js.map +1 -1
- package/cjs/package.json +1 -3
- package/cjs/pubSub/topics.js +12 -17
- package/cjs/pubSub/topics.js.map +1 -1
- package/cjs/sendbirdSelectors.js +551 -619
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/ui/Accordion.js +40 -57
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +9 -22
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +13 -23
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +9 -199
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +18 -26
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +28 -38
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +41 -63
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +21 -48
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +15 -28
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +11 -22
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +196 -285
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +13 -28
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +144 -331
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +30 -53
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +18 -17
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +558 -729
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +18 -49
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +103 -154
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +16 -42
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +4 -4
- package/cjs/ui/LinkLabel.js +22 -51
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +11 -25
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +49 -83
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +4 -19
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +245 -414
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput/hooks/usePaste.js +6 -6
- package/cjs/ui/MessageInput.js +447 -625
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +110 -166
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +39 -102
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +78 -115
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +50 -84
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +13 -13
- package/cjs/ui/Modal.js +18 -131
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +14 -30
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +66 -111
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +9 -18
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +15 -30
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +22 -61
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +114 -238
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +157 -332
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +152 -317
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +126 -268
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +46 -105
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/PlaybackTime.js +12 -26
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +13 -31
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +70 -146
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +71 -102
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +20 -46
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +17 -39
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +23 -35
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +9 -29
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +43 -59
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +33 -71
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +34 -74
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +110 -189
- package/cjs/ui/Toggle.js.map +1 -1
- package/cjs/ui/Tooltip.js +9 -20
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +13 -45
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +20 -34
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +51 -118
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +45 -74
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +53 -106
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +9 -11
- package/cjs/ui/VoiceMessgeInput.js.map +1 -1
- package/cjs/ui/Word.js +60 -89
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useSendbirdStateContext.js +16 -15
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +32 -31
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -5
- package/cjs/utils/message/isVoiceMessage.js.map +1 -1
- package/cjs/withSendbird.js +18 -23
- package/cjs/withSendbird.js.map +1 -1
- package/dist/index.css +1014 -903
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js +2 -2
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js +2 -2
- package/handlers/SessionHandler.js.map +1 -1
- package/hooks/useModal.js +47 -65
- package/hooks/useModal.js.map +1 -1
- package/index.js +58 -60
- package/index.js.map +1 -1
- package/lame.all.js +14797 -679
- package/lame.all.js.map +1 -1
- package/package.json +1454 -79
- package/pubSub/topics.js +1 -17
- package/pubSub/topics.js.map +1 -1
- package/sendbirdSelectors.js +550 -618
- package/sendbirdSelectors.js.map +1 -1
- package/types/hooks/VoicePlayer/dux/actionTypes.d.ts +14 -0
- package/types/hooks/VoicePlayer/dux/initialState.d.ts +30 -0
- package/types/hooks/VoicePlayer/dux/reducer.d.ts +25 -0
- package/types/hooks/VoicePlayer/index.d.ts +19 -0
- package/types/hooks/VoicePlayer/useVoicePlayer.d.ts +16 -0
- package/types/hooks/VoicePlayer/utils.d.ts +2 -0
- package/types/hooks/VoiceRecorder/WebAudioUtils.d.ts +4 -0
- package/types/hooks/VoiceRecorder/index.d.ts +20 -0
- package/types/hooks/VoiceRecorder/useVoiceRecorder.d.ts +18 -0
- package/types/hooks/useAppendDomNode.d.ts +2 -0
- package/types/hooks/useDebounce.d.ts +1 -0
- package/types/hooks/useHandleOnScrollCallback/index.d.ts +11 -0
- package/types/hooks/useLongPress.d.ts +21 -0
- package/types/hooks/useModal/ModalRoot/index.d.ts +4 -0
- package/types/hooks/useModal/index.d.ts +15 -0
- package/types/hooks/useMouseHover.d.ts +7 -0
- package/types/hooks/useOutsideAlerter.d.ts +7 -0
- package/types/hooks/useSendbirdStateContext.d.ts +3 -0
- package/types/hooks/useUnmount.d.ts +2 -0
- package/types/index.d.ts +13 -0
- package/types/lib/LocalizationContext.d.ts +19 -0
- package/types/lib/Logger/index.d.ts +24 -0
- package/types/lib/MediaQueryContext.d.ts +14 -0
- package/types/lib/Sendbird.d.ts +65 -0
- package/types/lib/SendbirdSdkContext.d.ts +9 -0
- package/types/lib/SendbirdState.d.ts +7 -0
- package/types/lib/UserProfileContext.d.ts +22 -0
- package/types/lib/VoiceMessageProvider.d.ts +7 -0
- package/types/lib/dux/sdk/actionTypes.d.ts +16 -0
- package/types/lib/dux/sdk/initialState.d.ts +9 -0
- package/types/lib/dux/sdk/reducers.d.ts +3 -0
- package/types/lib/dux/user/actionTypes.d.ts +14 -0
- package/types/lib/dux/user/initialState.d.ts +8 -0
- package/types/lib/dux/user/reducers.d.ts +3 -0
- package/types/lib/handlers/ConnectionHandler.d.ts +5 -0
- package/types/lib/handlers/GroupChannelHandler.d.ts +7 -0
- package/types/lib/handlers/OpenChannelHandler.d.ts +5 -0
- package/types/lib/handlers/SessionHandler.d.ts +5 -0
- package/types/lib/handlers/UserEventHandler.d.ts +5 -0
- package/types/lib/hooks/schedulerFactory.d.ts +11 -0
- package/types/lib/hooks/useConnect/__test__/data.mocks.d.ts +15 -0
- package/types/lib/hooks/useConnect/connect.d.ts +2 -0
- package/types/lib/hooks/useConnect/disconnectSdk.d.ts +2 -0
- package/types/lib/hooks/useConnect/index.d.ts +2 -0
- package/types/lib/hooks/useConnect/setupConnection.d.ts +18 -0
- package/types/lib/hooks/useConnect/types.d.ts +42 -0
- package/types/lib/hooks/useMarkAsDeliveredScheduler.d.ts +15 -0
- package/types/lib/hooks/useMarkAsReadScheduler.d.ts +15 -0
- package/types/lib/hooks/useOnlineStatus.d.ts +4 -0
- package/types/lib/hooks/useTheme.d.ts +2 -0
- package/types/lib/pubSub/index.d.ts +19 -0
- package/types/lib/pubSub/topics.d.ts +86 -0
- package/types/lib/selectors.d.ts +248 -0
- package/types/lib/types.d.ts +166 -0
- package/types/lib/utils/resolvedReplyType.d.ts +28 -0
- package/types/lib/utils/uikitConfigMapper.d.ts +5 -0
- package/types/modules/App/AppLayout.d.ts +3 -0
- package/types/modules/App/DesktopLayout.d.ts +3 -0
- package/types/modules/App/MobileLayout.d.ts +4 -0
- package/types/modules/App/index.d.ts +44 -0
- package/types/modules/App/types.d.ts +72 -0
- package/types/modules/Channel/components/ChannelHeader/index.d.ts +7 -0
- package/types/modules/Channel/components/ChannelHeader/utils.d.ts +4 -0
- package/types/modules/Channel/components/ChannelUI/index.d.ts +19 -0
- package/types/modules/Channel/components/FileViewer/index.d.ts +21 -0
- package/types/modules/Channel/components/FrozenNotification/index.d.ts +7 -0
- package/types/modules/Channel/components/Message/index.d.ts +15 -0
- package/types/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.d.ts +10 -0
- package/types/modules/Channel/components/MessageInput/index.d.ts +11 -0
- package/types/modules/Channel/components/MessageInput/useHandleUploadFiles.d.ts +19 -0
- package/types/modules/Channel/components/MessageList/getMessagePartsInfo.d.ts +20 -0
- package/types/modules/Channel/components/MessageList/hooks/useScrollBehavior.d.ts +1 -0
- package/types/modules/Channel/components/MessageList/hooks/useSetScrollToBottom.d.ts +7 -0
- package/types/modules/Channel/components/MessageList/index.d.ts +12 -0
- package/types/modules/Channel/components/RemoveMessageModal.d.ts +9 -0
- package/types/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.d.ts +21 -0
- package/types/modules/Channel/components/SuggestedMentionList/index.d.ts +20 -0
- package/types/modules/Channel/components/SuggestedMentionList/utils.d.ts +3 -0
- package/types/modules/Channel/components/SuggestedReplies/index.d.ts +10 -0
- package/types/modules/Channel/components/TypingIndicator.d.ts +8 -0
- package/types/modules/Channel/components/UnreadCount/index.d.ts +12 -0
- package/types/modules/Channel/context/ChannelProvider.d.ts +131 -0
- package/types/modules/Channel/context/compareMessagesForGrouping.d.ts +10 -0
- package/types/modules/Channel/context/const.d.ts +9 -0
- package/types/modules/Channel/context/dux/actionTypes.d.ts +93 -0
- package/types/modules/Channel/context/dux/initialState.d.ts +25 -0
- package/types/modules/Channel/context/dux/reducers.d.ts +3 -0
- package/types/modules/Channel/context/hooks/useDeleteMessageCallback.d.ts +14 -0
- package/types/modules/Channel/context/hooks/useGetChannel.d.ts +18 -0
- package/types/modules/Channel/context/hooks/useHandleChannelEvents.d.ts +29 -0
- package/types/modules/Channel/context/hooks/useHandleChannelPubsubEvents.d.ts +11 -0
- package/types/modules/Channel/context/hooks/useHandleReconnect.d.ts +23 -0
- package/types/modules/Channel/context/hooks/useInitialMessagesFetch.d.ts +20 -0
- package/types/modules/Channel/context/hooks/useReconnectOnIdle.d.ts +5 -0
- package/types/modules/Channel/context/hooks/useResendMessageCallback.d.ts +14 -0
- package/types/modules/Channel/context/hooks/useScrollCallback.d.ts +21 -0
- package/types/modules/Channel/context/hooks/useScrollDownCallback.d.ts +23 -0
- package/types/modules/Channel/context/hooks/useScrollToMessage.d.ts +14 -0
- package/types/modules/Channel/context/hooks/useSendFileMessageCallback.d.ts +21 -0
- package/types/modules/Channel/context/hooks/useSendMessageCallback.d.ts +27 -0
- package/types/modules/Channel/context/hooks/useSendMultipleFilesMessage.d.ts +32 -0
- package/types/modules/Channel/context/hooks/useSendVoiceMessageCallback.d.ts +21 -0
- package/types/modules/Channel/context/hooks/useStatefulFileInfoList.d.ts +3 -0
- package/types/modules/Channel/context/hooks/useThreadMessageKindKeySelector.d.ts +7 -0
- package/types/modules/Channel/context/hooks/useToggleReactionCallback.d.ts +11 -0
- package/types/modules/Channel/context/hooks/useUpdateMessageCallback.d.ts +26 -0
- package/types/modules/Channel/context/utils.d.ts +18 -0
- package/types/modules/Channel/index.d.ts +7 -0
- package/types/modules/ChannelList/components/AddChannel/index.d.ts +3 -0
- package/types/modules/ChannelList/components/ChannelListHeader/index.d.ts +11 -0
- package/types/modules/ChannelList/components/ChannelListUI/index.d.ts +23 -0
- package/types/modules/ChannelList/components/ChannelPreview/index.d.ts +16 -0
- package/types/modules/ChannelList/components/ChannelPreview/utils.d.ts +10 -0
- package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +9 -0
- package/types/modules/ChannelList/components/LeaveChannel/index.d.ts +9 -0
- package/types/modules/ChannelList/components/Placeholder.d.ts +7 -0
- package/types/modules/ChannelList/context/ChannelListProvider.d.ts +75 -0
- package/types/modules/ChannelList/context/hooks/useActiveChannelUrl.d.ts +15 -0
- package/types/modules/ChannelList/context/hooks/useFetchChannelList.d.ts +17 -0
- package/types/modules/ChannelList/dux/actionTypes.d.ts +66 -0
- package/types/modules/ChannelList/dux/getNextChannel.d.ts +14 -0
- package/types/modules/ChannelList/dux/initialState.d.ts +12 -0
- package/types/modules/ChannelList/dux/reducers.d.ts +3 -0
- package/types/modules/ChannelList/index.d.ts +7 -0
- package/types/modules/ChannelList/utils.d.ts +35 -0
- package/types/modules/ChannelSettings/components/ChannelProfile/index.d.ts +4 -0
- package/types/modules/ChannelSettings/components/ChannelSettingsUI/index.d.ts +10 -0
- package/types/modules/ChannelSettings/components/EditDetailsModal/index.d.ts +7 -0
- package/types/modules/ChannelSettings/components/LeaveChannel/index.d.ts +8 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/AddOperatorsModal.d.ts +7 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/BannedUserList.d.ts +3 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/BannedUsersModal.d.ts +6 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/InviteUsersModal.d.ts +7 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/MemberList.d.ts +3 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/MembersModal.d.ts +6 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/MutedMemberList.d.ts +3 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/MutedMembersModal.d.ts +6 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/OperatorList.d.ts +3 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/OperatorsModal.d.ts +6 -0
- package/types/modules/ChannelSettings/components/ModerationPanel/index.d.ts +3 -0
- package/types/modules/ChannelSettings/components/UserListItem/index.d.ts +19 -0
- package/types/modules/ChannelSettings/components/UserPanel/index.d.ts +4 -0
- package/types/modules/ChannelSettings/context/ChannelSettingsProvider.d.ts +47 -0
- package/types/modules/ChannelSettings/index.d.ts +7 -0
- package/types/modules/CreateChannel/components/CreateChannelUI/index.d.ts +8 -0
- package/types/modules/CreateChannel/components/InviteUsers/index.d.ts +9 -0
- package/types/modules/CreateChannel/components/InviteUsers/utils.d.ts +12 -0
- package/types/modules/CreateChannel/components/SelectChannelType.d.ts +6 -0
- package/types/modules/CreateChannel/context/CreateChannelProvider.d.ts +37 -0
- package/types/modules/CreateChannel/index.d.ts +7 -0
- package/types/modules/CreateChannel/types.d.ts +5 -0
- package/types/modules/CreateChannel/utils.d.ts +3 -0
- package/types/modules/CreateOpenChannel/components/CreateOpenChannelUI/index.d.ts +9 -0
- package/types/modules/CreateOpenChannel/context/CreateOpenChannelProvider.d.ts +22 -0
- package/types/modules/CreateOpenChannel/index.d.ts +7 -0
- package/types/modules/EditUserProfile/components/EditUserProfileUI/index.d.ts +3 -0
- package/types/modules/EditUserProfile/context/EditUserProfileProvider.d.ts +16 -0
- package/types/modules/EditUserProfile/index.d.ts +4 -0
- package/types/modules/Message/components/TextFragment/index.d.ts +6 -0
- package/types/modules/Message/consts.d.ts +1 -0
- package/types/modules/Message/context/MessageProvider.d.ts +11 -0
- package/types/modules/Message/hooks/useDirtyGetMentions.d.ts +14 -0
- package/types/modules/Message/utils/getMentionNodes.d.ts +1 -0
- package/types/modules/Message/utils/tokens/keyGenerator.d.ts +1 -0
- package/types/modules/Message/utils/tokens/tokenize.d.ts +18 -0
- package/types/modules/Message/utils/tokens/types.d.ts +37 -0
- package/types/modules/MessageSearch/components/MessageSearchUI/index.d.ts +15 -0
- package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +41 -0
- package/types/modules/MessageSearch/context/dux/actionTypes.d.ts +8 -0
- package/types/modules/MessageSearch/context/dux/initialState.d.ts +14 -0
- package/types/modules/MessageSearch/context/dux/reducers.d.ts +7 -0
- package/types/modules/MessageSearch/context/hooks/useGetSearchedMessages.d.ts +24 -0
- package/types/modules/MessageSearch/context/hooks/useScrollCallback.d.ts +20 -0
- package/types/modules/MessageSearch/context/hooks/useSearchStringEffect.d.ts +11 -0
- package/types/modules/MessageSearch/context/hooks/useSetChannel.d.ts +16 -0
- package/types/modules/MessageSearch/index.d.ts +10 -0
- package/types/modules/OpenChannel/components/FrozenChannelNotification/index.d.ts +4 -0
- package/types/modules/OpenChannel/components/OpenChannelHeader/index.d.ts +3 -0
- package/types/modules/OpenChannel/components/OpenChannelInput/index.d.ts +6 -0
- package/types/modules/OpenChannel/components/OpenChannelMessage/RemoveMessageModal.d.ts +10 -0
- package/types/modules/OpenChannel/components/OpenChannelMessage/index.d.ts +12 -0
- package/types/modules/OpenChannel/components/OpenChannelMessage/utils.d.ts +37 -0
- package/types/modules/OpenChannel/components/OpenChannelMessageList/index.d.ts +9 -0
- package/types/modules/OpenChannel/components/OpenChannelUI/index.d.ts +13 -0
- package/types/modules/OpenChannel/context/OpenChannelProvider.d.ts +52 -0
- package/types/modules/OpenChannel/context/dux/actionTypes.d.ts +37 -0
- package/types/modules/OpenChannel/context/dux/initialState.d.ts +19 -0
- package/types/modules/OpenChannel/context/dux/reducers.d.ts +7 -0
- package/types/modules/OpenChannel/context/hooks/useCheckScrollBottom.d.ts +10 -0
- package/types/modules/OpenChannel/context/hooks/useDeleteMessageCallback.d.ts +17 -0
- package/types/modules/OpenChannel/context/hooks/useFileUploadCallback.d.ts +27 -0
- package/types/modules/OpenChannel/context/hooks/useHandleChannelEvents.d.ts +20 -0
- package/types/modules/OpenChannel/context/hooks/useInitialMessagesFetch.d.ts +14 -0
- package/types/modules/OpenChannel/context/hooks/useResendMessageCallback.d.ts +17 -0
- package/types/modules/OpenChannel/context/hooks/useScrollCallback.d.ts +18 -0
- package/types/modules/OpenChannel/context/hooks/useSendMessageCallback.d.ts +22 -0
- package/types/modules/OpenChannel/context/hooks/useSetChannel.d.ts +20 -0
- package/types/modules/OpenChannel/context/hooks/useTrimMessageList.d.ts +17 -0
- package/types/modules/OpenChannel/context/hooks/useUpdateMessageCallback.d.ts +17 -0
- package/types/modules/OpenChannel/context/utils.d.ts +16 -0
- package/types/modules/OpenChannel/index.d.ts +7 -0
- package/types/modules/OpenChannelApp/Community.d.ts +11 -0
- package/types/modules/OpenChannelApp/Streaming.d.ts +11 -0
- package/types/modules/OpenChannelApp/assets/Icons.d.ts +7 -0
- package/types/modules/OpenChannelApp/components/CommunityChannelList.d.ts +7 -0
- package/types/modules/OpenChannelApp/components/DummyStream.d.ts +20 -0
- package/types/modules/OpenChannelApp/components/Login.d.ts +12 -0
- package/types/modules/OpenChannelApp/components/OpenChannelPreview.d.ts +11 -0
- package/types/modules/OpenChannelApp/components/Profile.d.ts +8 -0
- package/types/modules/OpenChannelApp/components/StreamingChannelList.d.ts +7 -0
- package/types/modules/OpenChannelApp/index.d.ts +16 -0
- package/types/modules/OpenChannelApp/stories/utils.d.ts +6 -0
- package/types/modules/OpenChannelList/components/OpenChannelListUI/index.d.ts +18 -0
- package/types/modules/OpenChannelList/components/OpenChannelPreview/index.d.ts +11 -0
- package/types/modules/OpenChannelList/context/OpenChannelListInterfaces.d.ts +42 -0
- package/types/modules/OpenChannelList/context/OpenChannelListProvider.d.ts +9 -0
- package/types/modules/OpenChannelList/context/dux/actionTypes.d.ts +14 -0
- package/types/modules/OpenChannelList/context/dux/initialState.d.ts +10 -0
- package/types/modules/OpenChannelList/context/dux/reducer.d.ts +6 -0
- package/types/modules/OpenChannelList/context/hooks/createChannelListQuery.d.ts +13 -0
- package/types/modules/OpenChannelList/context/hooks/useFetchNextCallback.d.ts +15 -0
- package/types/modules/OpenChannelList/context/hooks/useRefreshOpenChannelList.d.ts +14 -0
- package/types/modules/OpenChannelList/context/hooks/useSetupOpenChannelList.d.ts +14 -0
- package/types/modules/OpenChannelList/index.d.ts +7 -0
- package/types/modules/OpenChannelSettings/components/EditDetailsModal.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/InvalidChannel.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/OpenChannelProfile/index.d.ts +3 -0
- package/types/modules/OpenChannelSettings/components/OpenChannelSettingsUI/index.d.ts +8 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/AddOperatorsModal.d.ts +7 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUserList.d.ts +3 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/BannedUsersModal.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/DeleteOpenChannel.d.ts +2 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantList.d.ts +3 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/MutedParticipantsModal.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorList.d.ts +3 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/OperatorsModal.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/OperatorUI/index.d.ts +7 -0
- package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.d.ts +17 -0
- package/types/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.d.ts +6 -0
- package/types/modules/OpenChannelSettings/components/ParticipantUI/index.d.ts +6 -0
- package/types/modules/OpenChannelSettings/context/OpenChannelSettingsProvider.d.ts +27 -0
- package/types/modules/OpenChannelSettings/index.d.ts +7 -0
- package/types/modules/Thread/components/ParentMessageInfo/ParentMessageInfoItem.d.ts +9 -0
- package/types/modules/Thread/components/ParentMessageInfo/index.d.ts +6 -0
- package/types/modules/Thread/components/RemoveMessageModal.d.ts +9 -0
- package/types/modules/Thread/components/ThreadHeader/index.d.ts +14 -0
- package/types/modules/Thread/components/ThreadList/ThreadListItem.d.ts +14 -0
- package/types/modules/Thread/components/ThreadList/ThreadListItemContent.d.ts +30 -0
- package/types/modules/Thread/components/ThreadList/index.d.ts +18 -0
- package/types/modules/Thread/components/ThreadMessageInput/index.d.ts +11 -0
- package/types/modules/Thread/components/ThreadUI/index.d.ts +23 -0
- package/types/modules/Thread/components/ThreadUI/useMemorizedHeader.d.ts +6 -0
- package/types/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.d.ts +11 -0
- package/types/modules/Thread/components/ThreadUI/useMemorizedThreadList.d.ts +8 -0
- package/types/modules/Thread/consts.d.ts +2 -0
- package/types/modules/Thread/context/ThreadProvider.d.ts +43 -0
- package/types/modules/Thread/context/dux/actionTypes.d.ts +38 -0
- package/types/modules/Thread/context/dux/initialState.d.ts +22 -0
- package/types/modules/Thread/context/dux/reducer.d.ts +8 -0
- package/types/modules/Thread/context/hooks/useDeleteMessageCallback.d.ts +12 -0
- package/types/modules/Thread/context/hooks/useGetAllEmoji.d.ts +11 -0
- package/types/modules/Thread/context/hooks/useGetChannel.d.ts +18 -0
- package/types/modules/Thread/context/hooks/useGetNextThreadsCallback.d.ts +17 -0
- package/types/modules/Thread/context/hooks/useGetParentMessage.d.ts +15 -0
- package/types/modules/Thread/context/hooks/useGetPrevThreadsCallback.d.ts +17 -0
- package/types/modules/Thread/context/hooks/useGetThreadList.d.ts +14 -0
- package/types/modules/Thread/context/hooks/useHandleChannelEvents.d.ts +13 -0
- package/types/modules/Thread/context/hooks/useHandleThreadPubsubEvents.d.ts +16 -0
- package/types/modules/Thread/context/hooks/useResendMessageCallback.d.ts +14 -0
- package/types/modules/Thread/context/hooks/useSendFileMessage.d.ts +17 -0
- package/types/modules/Thread/context/hooks/useSendMultipleFilesMessage.d.ts +8 -0
- package/types/modules/Thread/context/hooks/useSendUserMessageCallback.d.ts +25 -0
- package/types/modules/Thread/context/hooks/useSendVoiceMessageCallback.d.ts +17 -0
- package/types/modules/Thread/context/hooks/useToggleReactionsCallback.d.ts +10 -0
- package/types/modules/Thread/context/hooks/useUpdateMessageCallback.d.ts +14 -0
- package/types/modules/Thread/context/utils.d.ts +15 -0
- package/types/modules/Thread/index.d.ts +8 -0
- package/types/modules/Thread/types.d.ts +18 -0
- package/types/modules/internalInterfaces.d.ts +6 -0
- package/types/types.d.ts +55 -0
- package/types/ui/Accordion/AccordionGroup.d.ts +7 -0
- package/types/ui/Accordion/context.d.ts +8 -0
- package/types/ui/Accordion/index.d.ts +13 -0
- package/types/ui/AdminMessage/adminMessageDummyData.mock.d.ts +29 -0
- package/types/ui/AdminMessage/index.d.ts +9 -0
- package/types/ui/Avatar/MutedAvatarOverlay.d.ts +8 -0
- package/types/ui/Avatar/index.d.ts +27 -0
- package/types/ui/Badge/index.d.ts +8 -0
- package/types/ui/BottomSheet/index.d.ts +9 -0
- package/types/ui/Button/index.d.ts +13 -0
- package/types/ui/Button/types.d.ts +10 -0
- package/types/ui/Button/utils.d.ts +3 -0
- package/types/ui/ChannelAvatar/OpenChannelAvatar.d.ts +10 -0
- package/types/ui/ChannelAvatar/index.d.ts +12 -0
- package/types/ui/ChannelAvatar/utils.d.ts +6 -0
- package/types/ui/Checkbox/index.d.ts +9 -0
- package/types/ui/ConnectionStatus/index.d.ts +4 -0
- package/types/ui/ContextMenu/EmojiListItems.d.ts +15 -0
- package/types/ui/ContextMenu/MenuItems.d.ts +29 -0
- package/types/ui/ContextMenu/index.d.ts +24 -0
- package/types/ui/DateSeparator/index.d.ts +10 -0
- package/types/ui/Docs/Introduction.d.ts +2 -0
- package/types/ui/EmojiReactions/AddReactionBadgeItem.d.ts +5 -0
- package/types/ui/EmojiReactions/ReactionItem.d.ts +17 -0
- package/types/ui/EmojiReactions/index.d.ts +21 -0
- package/types/ui/FileMessageItemBody/index.d.ts +13 -0
- package/types/ui/FileViewer/DeleteButton.d.ts +5 -0
- package/types/ui/FileViewer/Slider.d.ts +3 -0
- package/types/ui/FileViewer/data.mock.d.ts +84 -0
- package/types/ui/FileViewer/hooks/useKeyDown.d.ts +8 -0
- package/types/ui/FileViewer/index.d.ts +17 -0
- package/types/ui/FileViewer/types.d.ts +44 -0
- package/types/ui/FileViewer/utils.d.ts +4 -0
- package/types/ui/Icon/colors.d.ts +42 -0
- package/types/ui/Icon/index.d.ts +96 -0
- package/types/ui/Icon/type.d.ts +61 -0
- package/types/ui/Icon/utils.d.ts +4 -0
- package/types/ui/IconButton/index.d.ts +17 -0
- package/types/ui/ImageGrid/index.d.ts +11 -0
- package/types/ui/ImageRenderer/index.d.ts +27 -0
- package/types/ui/ImageRenderer/useDynamicSideLength.d.ts +8 -0
- package/types/ui/ImageRenderer/utils.d.ts +1 -0
- package/types/ui/Input/index.d.ts +15 -0
- package/types/ui/Label/index.d.ts +37 -0
- package/types/ui/Label/stringFormatterUtils.d.ts +2 -0
- package/types/ui/Label/stringSet.d.ts +189 -0
- package/types/ui/Label/types.d.ts +24 -0
- package/types/ui/Label/utils.d.ts +4 -0
- package/types/ui/LegacyEditUserProfile/index.d.ts +20 -0
- package/types/ui/LinkLabel/index.d.ts +37 -0
- package/types/ui/Loader/index.d.ts +9 -0
- package/types/ui/MentionLabel/index.d.ts +10 -0
- package/types/ui/MentionUserLabel/consts.d.ts +1 -0
- package/types/ui/MentionUserLabel/index.d.ts +11 -0
- package/types/ui/MentionUserLabel/renderToString.d.ts +6 -0
- package/types/ui/MessageContent/MessageBody/index.d.ts +18 -0
- package/types/ui/MessageContent/MessageHeader/index.d.ts +10 -0
- package/types/ui/MessageContent/MessageProfile/index.d.ts +15 -0
- package/types/ui/MessageContent/index.d.ts +44 -0
- package/types/ui/MessageInput/const.d.ts +15 -0
- package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +5 -0
- package/types/ui/MessageInput/hooks/usePaste/index.d.ts +4 -0
- package/types/ui/MessageInput/hooks/usePaste/insertTemplate.d.ts +2 -0
- package/types/ui/MessageInput/hooks/usePaste/types.d.ts +15 -0
- package/types/ui/MessageInput/hooks/usePaste/utils.d.ts +10 -0
- package/types/ui/MessageInput/index.d.ts +47 -0
- package/types/ui/MessageInput/messageInputUtils.d.ts +21 -0
- package/types/ui/MessageInput/utils.d.ts +9 -0
- package/types/ui/MessageItemMenu/index.d.ts +26 -0
- package/types/ui/MessageItemReactionMenu/index.d.ts +16 -0
- package/types/ui/MessageSearchFileItem/index.d.ts +12 -0
- package/types/ui/MessageSearchFileItem/mockFileMessage.d.ts +180 -0
- package/types/ui/MessageSearchFileItem/utils.d.ts +12 -0
- package/types/ui/MessageSearchItem/getCreatedAt.d.ts +8 -0
- package/types/ui/MessageSearchItem/index.d.ts +11 -0
- package/types/ui/MessageSearchItem/messageDummyDate.mock.d.ts +5 -0
- package/types/ui/MessageStatus/index.d.ts +15 -0
- package/types/ui/MessageStatus/messageDummyData.mock.d.ts +7 -0
- package/types/ui/MobileMenu/MobileBottomSheet.d.ts +4 -0
- package/types/ui/MobileMenu/MobileContextMenu.d.ts +4 -0
- package/types/ui/MobileMenu/MobileEmojisBottomSheet.d.ts +11 -0
- package/types/ui/MobileMenu/ReactedMembersBottomSheet.d.ts +14 -0
- package/types/ui/MobileMenu/index.d.ts +5 -0
- package/types/ui/MobileMenu/types.d.ts +32 -0
- package/types/ui/Modal/index.d.ts +40 -0
- package/types/ui/MultipleFilesMessageItemBody/const.d.ts +17 -0
- package/types/ui/MultipleFilesMessageItemBody/index.d.ts +21 -0
- package/types/ui/OGMessageItemBody/consts.d.ts +1 -0
- package/types/ui/OGMessageItemBody/index.d.ts +14 -0
- package/types/ui/OpenChannelAdminMessage/index.d.ts +9 -0
- package/types/ui/OpenChannelMobileMenu/index.d.ts +15 -0
- package/types/ui/OpenchannelConversationHeader/index.d.ts +11 -0
- package/types/ui/OpenchannelFileMessage/index.d.ts +17 -0
- package/types/ui/OpenchannelFileMessage/mockMessages.d.ts +75 -0
- package/types/ui/OpenchannelFileMessage/utils.d.ts +2 -0
- package/types/ui/OpenchannelOGMessage/index.d.ts +18 -0
- package/types/ui/OpenchannelOGMessage/utils.d.ts +4 -0
- package/types/ui/OpenchannelThumbnailMessage/index.d.ts +18 -0
- package/types/ui/OpenchannelThumbnailMessage/utils.d.ts +6 -0
- package/types/ui/OpenchannelUserMessage/index.d.ts +18 -0
- package/types/ui/OpenchannelUserMessage/utils.d.ts +5 -0
- package/types/ui/PlaceHolder/index.d.ts +19 -0
- package/types/ui/PlaybackTime/index.d.ts +11 -0
- package/types/ui/ProgressBar/index.d.ts +16 -0
- package/types/ui/QuoteMessage/index.d.ts +13 -0
- package/types/ui/QuoteMessage/utils.d.ts +7 -0
- package/types/ui/QuoteMessageInput/QuoteMessageThumbnail.d.ts +8 -0
- package/types/ui/QuoteMessageInput/index.d.ts +10 -0
- package/types/ui/QuoteMessageInput/mockMessage.d.ts +362 -0
- package/types/ui/ReactionBadge/index.d.ts +12 -0
- package/types/ui/ReactionButton/index.d.ts +13 -0
- package/types/ui/SortByRow/index.d.ts +10 -0
- package/types/ui/TextButton/index.d.ts +13 -0
- package/types/ui/TextMessageItemBody/consts.d.ts +1 -0
- package/types/ui/TextMessageItemBody/index.d.ts +13 -0
- package/types/ui/ThreadReplies/index.d.ts +9 -0
- package/types/ui/ThumbnailMessageItemBody/index.d.ts +15 -0
- package/types/ui/Toggle/ToggleContainer.d.ts +7 -0
- package/types/ui/Toggle/ToggleContext.d.ts +19 -0
- package/types/ui/Toggle/ToggleUI.d.ts +12 -0
- package/types/ui/Toggle/index.d.ts +11 -0
- package/types/ui/Toggle/utils.d.ts +1 -0
- package/types/ui/Tooltip/index.d.ts +7 -0
- package/types/ui/TooltipWrapper/index.d.ts +8 -0
- package/types/ui/TypingIndicatorMessage/TypingDots.d.ts +4 -0
- package/types/ui/TypingIndicatorMessage/index.d.ts +6 -0
- package/types/ui/UnknownMessageItemBody/index.d.ts +12 -0
- package/types/ui/UserListItem/index.d.ts +21 -0
- package/types/ui/UserProfile/index.d.ts +17 -0
- package/types/ui/VoiceMessageInput/controlerIcons.d.ts +7 -0
- package/types/ui/VoiceMessageInput/index.d.ts +16 -0
- package/types/ui/VoiceMessageInput/types.d.ts +7 -0
- package/types/ui/VoiceMessageItemBody/index.d.ts +12 -0
- package/types/ui/Word/index.d.ts +17 -0
- package/types/utils/cloneMessage.d.ts +2 -0
- package/types/utils/color.d.ts +12 -0
- package/types/utils/compareIds.d.ts +1 -0
- package/types/utils/compressImages.d.ts +11 -0
- package/types/utils/consts.d.ts +23 -0
- package/types/utils/createStatefulFileInfoList.d.ts +11 -0
- package/types/utils/exports/getOutgoingMessageState.d.ts +13 -0
- package/types/utils/getIsReactionEnabled.d.ts +11 -0
- package/types/utils/index.d.ts +142 -0
- package/types/utils/isVoiceMessage.d.ts +1 -0
- package/types/utils/numberToPx.d.ts +2 -0
- package/types/utils/openChannelUtils.d.ts +44 -0
- package/types/utils/pxToNumber.d.ts +2 -0
- package/types/utils/testMocks/error.d.ts +9 -0
- package/types/utils/testMocks/message.d.ts +23 -0
- package/types/utils/testMocks/messageRequestHandler.d.ts +15 -0
- package/types/utils/typeHelpers/objectValues.d.ts +16 -0
- package/types/utils/typeHelpers/partialDeep.d.ts +14 -0
- package/types/utils/typeHelpers/reducers/createAction.d.ts +17 -0
- package/types/utils/useDidMountEffect.d.ts +2 -0
- package/types/utils/utils.d.ts +10 -0
- package/types/utils/uuid.d.ts +2 -0
- package/ui/Accordion.js +39 -52
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +9 -18
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +13 -19
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +7 -197
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +18 -22
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +28 -34
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +42 -53
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +21 -44
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +15 -24
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +11 -18
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +195 -280
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +13 -24
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +144 -327
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +30 -49
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +17 -16
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +541 -707
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +18 -45
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +102 -149
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +15 -37
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +21 -45
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +11 -21
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +49 -79
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +4 -15
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +248 -413
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput/hooks/usePaste.js +5 -5
- package/ui/MessageInput.js +448 -621
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +110 -162
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +39 -98
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +78 -111
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +50 -80
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +12 -12
- package/ui/Modal.js +13 -126
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +14 -26
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +66 -107
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +9 -14
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +15 -26
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +22 -57
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +114 -234
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +157 -328
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +152 -313
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +126 -264
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +45 -100
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/PlaybackTime.js +11 -21
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +12 -26
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +70 -142
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +71 -98
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +20 -42
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +17 -35
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +23 -31
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +9 -25
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +43 -55
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +33 -67
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +34 -70
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +110 -183
- package/ui/Toggle.js.map +1 -1
- package/ui/Tooltip.js +9 -16
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +13 -41
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +20 -30
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +51 -114
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +46 -71
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +52 -101
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +9 -9
- package/ui/Word.js +60 -85
- package/ui/Word.js.map +1 -1
- package/useSendbirdStateContext.js +15 -14
- package/useSendbirdStateContext.js.map +1 -1
- package/utils/message/getOutgoingMessageState.js +32 -29
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/utils/message/isVoiceMessage.js.map +1 -1
- package/withSendbird.js +17 -18
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-eccd99c6.js +0 -1051
- package/ChannelListProvider-eccd99c6.js.map +0 -1
- package/ChannelProvider-9ba5893a.js +0 -2079
- package/ChannelProvider-9ba5893a.js.map +0 -1
- package/CreateChannelProvider-a2885972.js +0 -48
- package/CreateChannelProvider-a2885972.js.map +0 -1
- package/LocalizationContext-287ee149.js +0 -20
- package/LocalizationContext-287ee149.js.map +0 -1
- package/MediaQueryContext-114ca049.js +0 -85
- package/MediaQueryContext-114ca049.js.map +0 -1
- package/MemberList-4e71a841.js +0 -422
- package/MemberList-4e71a841.js.map +0 -1
- package/OpenChannelListProvider-45d4ab54.js +0 -407
- package/OpenChannelListProvider-45d4ab54.js.map +0 -1
- package/OpenChannelProvider-9818f9ed.js +0 -1850
- package/OpenChannelProvider-9818f9ed.js.map +0 -1
- package/RemoveMessageModal-007c2f04.js +0 -33
- package/RemoveMessageModal-007c2f04.js.map +0 -1
- package/UserProfileContext-2001a468.js +0 -34
- package/UserProfileContext-2001a468.js.map +0 -1
- package/WebAudioUtils-31f7c8eb.js +0 -126
- package/WebAudioUtils-31f7c8eb.js.map +0 -1
- package/_rollupPluginBabelHelpers-e92eb032.js +0 -66
- package/_rollupPluginBabelHelpers-e92eb032.js.map +0 -1
- package/actionTypes-324495ed.js +0 -8
- package/actionTypes-324495ed.js.map +0 -1
- package/cjs/ChannelListProvider-d0ad5a84.js +0 -1060
- package/cjs/ChannelListProvider-d0ad5a84.js.map +0 -1
- package/cjs/ChannelProvider-fc111e5f.js +0 -2087
- package/cjs/ChannelProvider-fc111e5f.js.map +0 -1
- package/cjs/CreateChannelProvider-c3c843e4.js +0 -55
- package/cjs/CreateChannelProvider-c3c843e4.js.map +0 -1
- package/cjs/LocalizationContext-58b6ed7c.js +0 -28
- package/cjs/LocalizationContext-58b6ed7c.js.map +0 -1
- package/cjs/MediaQueryContext-6141d955.js +0 -92
- package/cjs/MediaQueryContext-6141d955.js.map +0 -1
- package/cjs/MemberList-2bd3db33.js +0 -428
- package/cjs/MemberList-2bd3db33.js.map +0 -1
- package/cjs/OpenChannelListProvider-a8560978.js +0 -416
- package/cjs/OpenChannelListProvider-a8560978.js.map +0 -1
- package/cjs/OpenChannelProvider-39f13647.js +0 -1859
- package/cjs/OpenChannelProvider-39f13647.js.map +0 -1
- package/cjs/RemoveMessageModal-afc3e268.js +0 -39
- package/cjs/RemoveMessageModal-afc3e268.js.map +0 -1
- package/cjs/UserProfileContext-c6d7abb7.js +0 -41
- package/cjs/UserProfileContext-c6d7abb7.js.map +0 -1
- package/cjs/WebAudioUtils-36803ab2.js +0 -129
- package/cjs/WebAudioUtils-36803ab2.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js +0 -69
- package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +0 -1
- package/cjs/actionTypes-327123b5.js +0 -10
- package/cjs/actionTypes-327123b5.js.map +0 -1
- package/cjs/color-5bf5a8f5.js +0 -36
- package/cjs/color-5bf5a8f5.js.map +0 -1
- package/cjs/compareIds-28c6af62.js +0 -18
- package/cjs/compareIds-28c6af62.js.map +0 -1
- package/cjs/const-876980e8.js +0 -22
- package/cjs/const-876980e8.js.map +0 -1
- package/cjs/const-c9e7a340.js.map +0 -1
- package/cjs/consts-61d83828.js.map +0 -1
- package/cjs/consts-b3c4f548.js.map +0 -1
- package/cjs/consts-b711321c.js.map +0 -1
- package/cjs/consts-f54b15c2.js.map +0 -1
- package/cjs/context-6684538e.js +0 -19
- package/cjs/context-6684538e.js.map +0 -1
- package/cjs/dist/index.css +0 -7702
- package/cjs/dist/index.css.map +0 -1
- package/cjs/index-134e9852.js.map +0 -1
- package/cjs/index-3448df64.js.map +0 -1
- package/cjs/index-45933be9.js +0 -197
- package/cjs/index-45933be9.js.map +0 -1
- package/cjs/index-4c378655.js +0 -163
- package/cjs/index-4c378655.js.map +0 -1
- package/cjs/index-4e939c26.js +0 -369
- package/cjs/index-4e939c26.js.map +0 -1
- package/cjs/index-520e12b8.js +0 -173
- package/cjs/index-520e12b8.js.map +0 -1
- package/cjs/index-54279ec2.js.map +0 -1
- package/cjs/index-692ea6aa.js +0 -76
- package/cjs/index-692ea6aa.js.map +0 -1
- package/cjs/index-7627b546.js.map +0 -1
- package/cjs/index-a95c4ab4.js +0 -308
- package/cjs/index-a95c4ab4.js.map +0 -1
- package/cjs/index-b5a9b4b7.js +0 -129
- package/cjs/index-b5a9b4b7.js.map +0 -1
- package/cjs/index-b8ba4548.js +0 -20
- package/cjs/index-b8ba4548.js.map +0 -1
- package/cjs/index-bc6623d7.js +0 -289
- package/cjs/index-bc6623d7.js.map +0 -1
- package/cjs/index-cc2e05a4.js +0 -227
- package/cjs/index-cc2e05a4.js.map +0 -1
- package/cjs/index-ce07a2a3.js +0 -59
- package/cjs/index-ce07a2a3.js.map +0 -1
- package/cjs/index-dbe8dd84.js +0 -741
- package/cjs/index-dbe8dd84.js.map +0 -1
- package/cjs/index-e5e6d9b0.js +0 -468
- package/cjs/index-e5e6d9b0.js.map +0 -1
- package/cjs/index-e8928da6.js.map +0 -1
- package/cjs/resolvedReplyType-c4564ebe.js.map +0 -1
- package/cjs/stringFormatterUtils-92dbef3c.js +0 -16
- package/cjs/stringFormatterUtils-92dbef3c.js.map +0 -1
- package/cjs/stringSet-1539ac47.js +0 -212
- package/cjs/stringSet-1539ac47.js.map +0 -1
- package/cjs/tokenize-d5286fa8.js +0 -159
- package/cjs/tokenize-d5286fa8.js.map +0 -1
- package/cjs/tslib.es6-c74b513f.js.map +0 -1
- package/cjs/types-d0d770c3.js +0 -15
- package/cjs/types-d0d770c3.js.map +0 -1
- package/cjs/types-feda9656.js.map +0 -1
- package/cjs/useHandleUploadFiles-39e8d107.js +0 -284
- package/cjs/useHandleUploadFiles-39e8d107.js.map +0 -1
- package/cjs/useLongPress-18b7af79.js +0 -105
- package/cjs/useLongPress-18b7af79.js.map +0 -1
- package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js +0 -316
- package/cjs/useSendMultipleFilesMessage-d6a3d5cf.js.map +0 -1
- package/cjs/useStatefulFileInfoList-c510792f.js +0 -228
- package/cjs/useStatefulFileInfoList-c510792f.js.map +0 -1
- package/cjs/utils-1d0f1e0c.js +0 -28
- package/cjs/utils-1d0f1e0c.js.map +0 -1
- package/cjs/utils-9193a195.js +0 -170
- package/cjs/utils-9193a195.js.map +0 -1
- package/cjs/utils-93ca9d57.js +0 -62
- package/cjs/utils-93ca9d57.js.map +0 -1
- package/cjs/utils-98441ba6.js +0 -35
- package/cjs/utils-98441ba6.js.map +0 -1
- package/cjs/utils-e6c4b2b0.js +0 -27
- package/cjs/utils-e6c4b2b0.js.map +0 -1
- package/cjs/utils-eb6d90e0.js +0 -10
- package/cjs/utils-eb6d90e0.js.map +0 -1
- package/cjs/uuid-9a117e16.js.map +0 -1
- package/color-57373b4c.js +0 -34
- package/color-57373b4c.js.map +0 -1
- package/compareIds-7e517404.js +0 -16
- package/compareIds-7e517404.js.map +0 -1
- package/const-73db0277.js.map +0 -1
- package/const-93731a4c.js +0 -18
- package/const-93731a4c.js.map +0 -1
- package/consts-4ec7d640.js.map +0 -1
- package/consts-57c888b9.js.map +0 -1
- package/consts-be37687e.js.map +0 -1
- package/consts-d9c5f25a.js.map +0 -1
- package/context-729493c4.js +0 -12
- package/context-729493c4.js.map +0 -1
- package/index-04bd1a59.js +0 -13
- package/index-04bd1a59.js.map +0 -1
- package/index-09847c0f.js.map +0 -1
- package/index-0f017704.js +0 -280
- package/index-0f017704.js.map +0 -1
- package/index-2d27aeef.js.map +0 -1
- package/index-493689bd.js +0 -156
- package/index-493689bd.js.map +0 -1
- package/index-494f9e79.js +0 -73
- package/index-494f9e79.js.map +0 -1
- package/index-4b4e9682.js +0 -161
- package/index-4b4e9682.js.map +0 -1
- package/index-62d5f020.js +0 -362
- package/index-62d5f020.js.map +0 -1
- package/index-682a192c.js.map +0 -1
- package/index-686a551d.js +0 -182
- package/index-686a551d.js.map +0 -1
- package/index-6b3b1eca.js +0 -217
- package/index-6b3b1eca.js.map +0 -1
- package/index-776554c0.js +0 -692
- package/index-776554c0.js.map +0 -1
- package/index-92741c7e.js +0 -118
- package/index-92741c7e.js.map +0 -1
- package/index-a0638563.js +0 -53
- package/index-a0638563.js.map +0 -1
- package/index-c22e4772.js +0 -462
- package/index-c22e4772.js.map +0 -1
- package/index-e04159fe.js +0 -298
- package/index-e04159fe.js.map +0 -1
- package/index-e4277f9c.js.map +0 -1
- package/index-f8a9cb51.js.map +0 -1
- package/index.d.ts +0 -2963
- package/resolvedReplyType-fb987595.js.map +0 -1
- package/stringFormatterUtils-abbe70ba.js +0 -14
- package/stringFormatterUtils-abbe70ba.js.map +0 -1
- package/stringSet-6422c6b9.js +0 -210
- package/stringSet-6422c6b9.js.map +0 -1
- package/tokenize-eae44765.js +0 -154
- package/tokenize-eae44765.js.map +0 -1
- package/tslib.es6-c2fb729e.js.map +0 -1
- package/types-781e0bab.js.map +0 -1
- package/types-9d43ac6e.js +0 -15
- package/types-9d43ac6e.js.map +0 -1
- package/useHandleUploadFiles-5ede1bfe.js +0 -277
- package/useHandleUploadFiles-5ede1bfe.js.map +0 -1
- package/useLongPress-f8655a14.js +0 -103
- package/useLongPress-f8655a14.js.map +0 -1
- package/useSendMultipleFilesMessage-b8256698.js +0 -283
- package/useSendMultipleFilesMessage-b8256698.js.map +0 -1
- package/useStatefulFileInfoList-5e68b93f.js +0 -219
- package/useStatefulFileInfoList-5e68b93f.js.map +0 -1
- package/utils-2c1f072b.js +0 -31
- package/utils-2c1f072b.js.map +0 -1
- package/utils-6c50a6d1.js +0 -7
- package/utils-6c50a6d1.js.map +0 -1
- package/utils-aa4086dc.js +0 -157
- package/utils-aa4086dc.js.map +0 -1
- package/utils-bfc0ab3b.js +0 -57
- package/utils-bfc0ab3b.js.map +0 -1
- package/utils-fa321757.js +0 -26
- package/utils-fa321757.js.map +0 -1
- package/utils-fc1f5aa0.js +0 -25
- package/utils-fc1f5aa0.js.map +0 -1
- package/uuid-c15b8b3b.js.map +0 -1
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { PUBSUB_TOPICS } from './pubSub/topics.js';
|
|
3
|
-
import { s as scrollIntoLast$1 } from './utils-aa4086dc.js';
|
|
4
|
-
import { f as format } from './index-2d27aeef.js';
|
|
5
|
-
import { getOutgoingMessageState, OutgoingMessageStates } from './utils/message/getOutgoingMessageState.js';
|
|
6
|
-
|
|
7
|
-
var RESET_MESSAGES = 'RESET_MESSAGES';
|
|
8
|
-
var FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
|
|
9
|
-
var FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';
|
|
10
|
-
var FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';
|
|
11
|
-
var FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';
|
|
12
|
-
var FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';
|
|
13
|
-
var FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';
|
|
14
|
-
var FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';
|
|
15
|
-
var SEND_MESSAGE_START = 'SEND_MESSAGE_START';
|
|
16
|
-
var SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';
|
|
17
|
-
var SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';
|
|
18
|
-
var RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';
|
|
19
|
-
var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';
|
|
20
|
-
var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';
|
|
21
|
-
var ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';
|
|
22
|
-
var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';
|
|
23
|
-
var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';
|
|
24
|
-
var SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';
|
|
25
|
-
var SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';
|
|
26
|
-
var MARK_AS_READ = 'MARK_AS_READ';
|
|
27
|
-
var ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';
|
|
28
|
-
var SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';
|
|
29
|
-
var MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';
|
|
30
|
-
var ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';
|
|
31
|
-
|
|
32
|
-
var channelActions = /*#__PURE__*/Object.freeze({
|
|
33
|
-
__proto__: null,
|
|
34
|
-
RESET_MESSAGES: RESET_MESSAGES,
|
|
35
|
-
FETCH_INITIAL_MESSAGES_START: FETCH_INITIAL_MESSAGES_START,
|
|
36
|
-
FETCH_INITIAL_MESSAGES_SUCCESS: FETCH_INITIAL_MESSAGES_SUCCESS,
|
|
37
|
-
FETCH_INITIAL_MESSAGES_FAILURE: FETCH_INITIAL_MESSAGES_FAILURE,
|
|
38
|
-
FETCH_PREV_MESSAGES_SUCCESS: FETCH_PREV_MESSAGES_SUCCESS,
|
|
39
|
-
FETCH_PREV_MESSAGES_FAILURE: FETCH_PREV_MESSAGES_FAILURE,
|
|
40
|
-
FETCH_NEXT_MESSAGES_SUCCESS: FETCH_NEXT_MESSAGES_SUCCESS,
|
|
41
|
-
FETCH_NEXT_MESSAGES_FAILURE: FETCH_NEXT_MESSAGES_FAILURE,
|
|
42
|
-
SEND_MESSAGE_START: SEND_MESSAGE_START,
|
|
43
|
-
SEND_MESSAGE_SUCCESS: SEND_MESSAGE_SUCCESS,
|
|
44
|
-
SEND_MESSAGE_FAILURE: SEND_MESSAGE_FAILURE,
|
|
45
|
-
RESEND_MESSAGE_START: RESEND_MESSAGE_START,
|
|
46
|
-
ON_MESSAGE_RECEIVED: ON_MESSAGE_RECEIVED,
|
|
47
|
-
ON_MESSAGE_UPDATED: ON_MESSAGE_UPDATED,
|
|
48
|
-
ON_MESSAGE_THREAD_INFO_UPDATED: ON_MESSAGE_THREAD_INFO_UPDATED,
|
|
49
|
-
ON_MESSAGE_DELETED: ON_MESSAGE_DELETED,
|
|
50
|
-
ON_MESSAGE_DELETED_BY_REQ_ID: ON_MESSAGE_DELETED_BY_REQ_ID,
|
|
51
|
-
SET_CURRENT_CHANNEL: SET_CURRENT_CHANNEL,
|
|
52
|
-
SET_CHANNEL_INVALID: SET_CHANNEL_INVALID,
|
|
53
|
-
MARK_AS_READ: MARK_AS_READ,
|
|
54
|
-
ON_REACTION_UPDATED: ON_REACTION_UPDATED,
|
|
55
|
-
SET_EMOJI_CONTAINER: SET_EMOJI_CONTAINER,
|
|
56
|
-
MESSAGE_LIST_PARAMS_CHANGED: MESSAGE_LIST_PARAMS_CHANGED,
|
|
57
|
-
ON_FILE_INFO_UPLOADED: ON_FILE_INFO_UPLOADED
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
var PublishingModuleType;
|
|
61
|
-
(function (PublishingModuleType) {
|
|
62
|
-
PublishingModuleType["CHANNEL"] = "CHANNEL";
|
|
63
|
-
PublishingModuleType["THREAD"] = "THREAD";
|
|
64
|
-
})(PublishingModuleType || (PublishingModuleType = {}));
|
|
65
|
-
|
|
66
|
-
var getNicknamesMapFromMembers = function (members) {
|
|
67
|
-
if (members === void 0) {
|
|
68
|
-
members = [];
|
|
69
|
-
}
|
|
70
|
-
var nicknamesMap = new Map();
|
|
71
|
-
for (var memberIndex = 0; memberIndex < members.length; memberIndex += 1) {
|
|
72
|
-
var _a = members[memberIndex],
|
|
73
|
-
userId = _a.userId,
|
|
74
|
-
nickname = _a.nickname;
|
|
75
|
-
nicknamesMap.set(userId, nickname);
|
|
76
|
-
}
|
|
77
|
-
return nicknamesMap;
|
|
78
|
-
};
|
|
79
|
-
var getParentMessageFrom = function (message) {
|
|
80
|
-
if (!message) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
if (isParentMessage(message)) {
|
|
84
|
-
return message;
|
|
85
|
-
}
|
|
86
|
-
if (isThreadMessage(message)) {
|
|
87
|
-
return (message === null || message === void 0 ? void 0 : message.parentMessage) || null;
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
};
|
|
91
|
-
var isParentMessage = function (message) {
|
|
92
|
-
return (message === null || message === void 0 ? void 0 : message.parentMessage) === null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && !(message === null || message === void 0 ? void 0 : message.parentMessageId);
|
|
93
|
-
};
|
|
94
|
-
var isThreadMessage = function (message) {
|
|
95
|
-
return (message === null || message === void 0 ? void 0 : message.parentMessage) !== null && typeof (message === null || message === void 0 ? void 0 : message.parentMessageId) === 'number' && (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0 && (message === null || message === void 0 ? void 0 : message.threadInfo) === null;
|
|
96
|
-
};
|
|
97
|
-
var isAboutSame = function (a, b, px) {
|
|
98
|
-
return Math.abs(a - b) <= px;
|
|
99
|
-
};
|
|
100
|
-
var isEmpty = function (val) {
|
|
101
|
-
return val === null || val === undefined;
|
|
102
|
-
};
|
|
103
|
-
// Some Ids return string and number inconsistently
|
|
104
|
-
// only use to comapre IDs
|
|
105
|
-
function compareIds(a, b) {
|
|
106
|
-
if (isEmpty(a) || isEmpty(b)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
var aString = a.toString();
|
|
110
|
-
var bString = b.toString();
|
|
111
|
-
return aString === bString;
|
|
112
|
-
}
|
|
113
|
-
var getMessageCreatedAt = function (message) {
|
|
114
|
-
return format(message.createdAt, 'p');
|
|
115
|
-
};
|
|
116
|
-
var isReadMessage = function (channel, message) {
|
|
117
|
-
return getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ;
|
|
118
|
-
};
|
|
119
|
-
var isSameGroup = function (message, comparingMessage, currentChannel) {
|
|
120
|
-
var _a, _b, _c, _d;
|
|
121
|
-
if (!(message && comparingMessage && message.messageType && message.messageType !== 'admin' && comparingMessage.messageType && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.messageType) !== 'admin' && (message === null || message === void 0 ? void 0 : message.sender) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) && (message === null || message === void 0 ? void 0 : message.createdAt) && (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.createdAt) && ((_a = message === null || message === void 0 ? void 0 : message.sender) === null || _a === void 0 ? void 0 : _a.userId) && ((_b = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _b === void 0 ? void 0 : _b.userId))) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
return (message === null || message === void 0 ? void 0 : message.sendingStatus) === (comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sendingStatus) && ((_c = message === null || message === void 0 ? void 0 : message.sender) === null || _c === void 0 ? void 0 : _c.userId) === ((_d = comparingMessage === null || comparingMessage === void 0 ? void 0 : comparingMessage.sender) === null || _d === void 0 ? void 0 : _d.userId) && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage) && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage);
|
|
125
|
-
};
|
|
126
|
-
var compareMessagesForGrouping = function (prevMessage, currMessage, nextMessage, currentChannel, replyType) {
|
|
127
|
-
if (replyType === 'THREAD' && (currMessage === null || currMessage === void 0 ? void 0 : currMessage.threadInfo)) {
|
|
128
|
-
return [false, false];
|
|
129
|
-
}
|
|
130
|
-
var sendingStatus = (currMessage === null || currMessage === void 0 ? void 0 : currMessage.sendingStatus) || '';
|
|
131
|
-
var isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';
|
|
132
|
-
return [isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable, isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable];
|
|
133
|
-
};
|
|
134
|
-
var scrollIntoLast = function (intialTry) {
|
|
135
|
-
if (intialTry === void 0) {
|
|
136
|
-
intialTry = 0;
|
|
137
|
-
}
|
|
138
|
-
var MAX_TRIES = 10;
|
|
139
|
-
var currentTry = intialTry;
|
|
140
|
-
if (currentTry > MAX_TRIES) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
try {
|
|
144
|
-
var scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');
|
|
145
|
-
// eslint-disable-next-line no-multi-assign
|
|
146
|
-
scrollDOM.scrollTop = scrollDOM.scrollHeight;
|
|
147
|
-
} catch (error) {
|
|
148
|
-
setTimeout(function () {
|
|
149
|
-
scrollIntoLast(currentTry + 1);
|
|
150
|
-
}, 500 * currentTry);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* pubSub is used instead of messagesDispatcher to avoid redundantly calling
|
|
156
|
-
* because this useSendMultipleFilesMessage is used in the Channel and Thread both
|
|
157
|
-
*/
|
|
158
|
-
var useSendMultipleFilesMessage = function (_a, _b) {
|
|
159
|
-
var currentChannel = _a.currentChannel,
|
|
160
|
-
onBeforeSendMultipleFilesMessage = _a.onBeforeSendMultipleFilesMessage,
|
|
161
|
-
publishingModules = _a.publishingModules;
|
|
162
|
-
var logger = _b.logger,
|
|
163
|
-
pubSub = _b.pubSub,
|
|
164
|
-
scrollRef = _b.scrollRef;
|
|
165
|
-
var sendMessage = useCallback(function (files, quoteMessage) {
|
|
166
|
-
return new Promise(function (resolve, reject) {
|
|
167
|
-
if (!currentChannel) {
|
|
168
|
-
logger.warning('Channel: Sending MFm failed, because currentChannel is null.', {
|
|
169
|
-
currentChannel: currentChannel
|
|
170
|
-
});
|
|
171
|
-
reject();
|
|
172
|
-
}
|
|
173
|
-
if (files.length <= 1) {
|
|
174
|
-
logger.warning('Channel: Sending MFM failed, because there are no multiple files.', {
|
|
175
|
-
files: files
|
|
176
|
-
});
|
|
177
|
-
reject();
|
|
178
|
-
}
|
|
179
|
-
var messageParams = {
|
|
180
|
-
fileInfoList: files.map(function (file) {
|
|
181
|
-
return {
|
|
182
|
-
file: file,
|
|
183
|
-
fileName: file.name,
|
|
184
|
-
fileSize: file.size,
|
|
185
|
-
mimeType: file.type
|
|
186
|
-
};
|
|
187
|
-
})
|
|
188
|
-
};
|
|
189
|
-
if (quoteMessage) {
|
|
190
|
-
messageParams.isReplyToChannel = true;
|
|
191
|
-
messageParams.parentMessageId = quoteMessage.messageId;
|
|
192
|
-
}
|
|
193
|
-
if (typeof onBeforeSendMultipleFilesMessage === 'function') {
|
|
194
|
-
messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);
|
|
195
|
-
}
|
|
196
|
-
logger.info('Channel: Start sending MFM', {
|
|
197
|
-
messageParams: messageParams
|
|
198
|
-
});
|
|
199
|
-
try {
|
|
200
|
-
currentChannel.sendMultipleFilesMessage(messageParams)
|
|
201
|
-
/**
|
|
202
|
-
* We don't operate the onFileUploaded event for now
|
|
203
|
-
* until we will add UI/UX for it
|
|
204
|
-
*/.onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
|
|
205
|
-
logger.info('Channel: onFileUploaded during sending MFM', {
|
|
206
|
-
requestId: requestId,
|
|
207
|
-
index: index,
|
|
208
|
-
error: error,
|
|
209
|
-
uploadableFileInfo: uploadableFileInfo
|
|
210
|
-
});
|
|
211
|
-
pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {
|
|
212
|
-
response: {
|
|
213
|
-
channelUrl: currentChannel.url,
|
|
214
|
-
requestId: requestId,
|
|
215
|
-
index: index,
|
|
216
|
-
uploadableFileInfo: uploadableFileInfo,
|
|
217
|
-
error: error
|
|
218
|
-
},
|
|
219
|
-
publishingModules: publishingModules
|
|
220
|
-
});
|
|
221
|
-
}).onPending(function (pendingMessage) {
|
|
222
|
-
logger.info('Channel: in progress of sending MFM', {
|
|
223
|
-
pendingMessage: pendingMessage,
|
|
224
|
-
fileInfoList: messageParams.fileInfoList
|
|
225
|
-
});
|
|
226
|
-
pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {
|
|
227
|
-
message: pendingMessage,
|
|
228
|
-
channel: currentChannel,
|
|
229
|
-
publishingModules: publishingModules
|
|
230
|
-
});
|
|
231
|
-
// We need this delay because rendering MFM takes time due to large image files.
|
|
232
|
-
setTimeout(function () {
|
|
233
|
-
if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {
|
|
234
|
-
scrollIntoLast$1(0, scrollRef);
|
|
235
|
-
}
|
|
236
|
-
if (publishingModules.includes(PublishingModuleType.THREAD)) {
|
|
237
|
-
scrollIntoLast(0);
|
|
238
|
-
}
|
|
239
|
-
}, 100);
|
|
240
|
-
}).onFailed(function (error, failedMessage) {
|
|
241
|
-
logger.error('Channel: Sending MFM failed.', {
|
|
242
|
-
error: error,
|
|
243
|
-
failedMessage: failedMessage
|
|
244
|
-
});
|
|
245
|
-
pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {
|
|
246
|
-
channel: currentChannel,
|
|
247
|
-
message: failedMessage,
|
|
248
|
-
publishingModules: publishingModules
|
|
249
|
-
});
|
|
250
|
-
reject(error);
|
|
251
|
-
}).onSucceeded(function (succeededMessage) {
|
|
252
|
-
logger.info('Channel: Sending voice message success!', {
|
|
253
|
-
succeededMessage: succeededMessage
|
|
254
|
-
});
|
|
255
|
-
pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {
|
|
256
|
-
channel: currentChannel,
|
|
257
|
-
message: succeededMessage,
|
|
258
|
-
publishingModules: publishingModules
|
|
259
|
-
});
|
|
260
|
-
// We need this delay because rendering MFM takes time due to large image files.
|
|
261
|
-
setTimeout(function () {
|
|
262
|
-
if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {
|
|
263
|
-
scrollIntoLast$1(0, scrollRef);
|
|
264
|
-
}
|
|
265
|
-
if (publishingModules.includes(PublishingModuleType.THREAD)) {
|
|
266
|
-
scrollIntoLast(0);
|
|
267
|
-
}
|
|
268
|
-
}, 100);
|
|
269
|
-
resolve(succeededMessage);
|
|
270
|
-
});
|
|
271
|
-
} catch (error) {
|
|
272
|
-
logger.error('Channel: Sending MFM failed.', {
|
|
273
|
-
error: error
|
|
274
|
-
});
|
|
275
|
-
reject(error);
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
}, [currentChannel, onBeforeSendMultipleFilesMessage, publishingModules]);
|
|
279
|
-
return [sendMessage];
|
|
280
|
-
};
|
|
281
|
-
|
|
282
|
-
export { compareMessagesForGrouping as A, FETCH_INITIAL_MESSAGES_START as F, MARK_AS_READ as M, ON_MESSAGE_RECEIVED as O, PublishingModuleType as P, RESET_MESSAGES as R, SEND_MESSAGE_START as S, FETCH_INITIAL_MESSAGES_SUCCESS as a, FETCH_PREV_MESSAGES_SUCCESS as b, FETCH_NEXT_MESSAGES_SUCCESS as c, FETCH_INITIAL_MESSAGES_FAILURE as d, FETCH_PREV_MESSAGES_FAILURE as e, FETCH_NEXT_MESSAGES_FAILURE as f, SEND_MESSAGE_SUCCESS as g, SEND_MESSAGE_FAILURE as h, SET_CURRENT_CHANNEL as i, SET_CHANNEL_INVALID as j, ON_MESSAGE_UPDATED as k, ON_MESSAGE_THREAD_INFO_UPDATED as l, RESEND_MESSAGE_START as m, ON_MESSAGE_DELETED as n, ON_MESSAGE_DELETED_BY_REQ_ID as o, SET_EMOJI_CONTAINER as p, ON_REACTION_UPDATED as q, MESSAGE_LIST_PARAMS_CHANGED as r, ON_FILE_INFO_UPLOADED as s, channelActions as t, useSendMultipleFilesMessage as u, compareIds as v, scrollIntoLast as w, getParentMessageFrom as x, getNicknamesMapFromMembers as y, isAboutSame as z };
|
|
283
|
-
//# sourceMappingURL=useSendMultipleFilesMessage-b8256698.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSendMultipleFilesMessage-b8256698.js","sources":["../src/modules/Channel/context/dux/actionTypes.ts","../src/modules/internalInterfaces.ts","../src/modules/Thread/context/utils.ts","../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { CreateAction } from '../../../../utils/typeHelpers/reducers/createAction';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { CoreMessageType, SendableMessageType } from '../../../../utils';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { ReactionEvent, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MessageListParams } from '../ChannelProvider';\n\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\nexport const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';\nexport const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';\nexport const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';\nexport const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';\nexport const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCCESS = 'SEND_MESSAGE_SUCCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\nexport const ON_FILE_INFO_UPLOADED = 'ON_FILE_INFO_UPLOADED';\n\ntype CHANNEL_PAYLOAD_TYPES = {\n [RESET_MESSAGES]: null;\n [FETCH_INITIAL_MESSAGES_START]: null;\n [FETCH_INITIAL_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_PREV_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_NEXT_MESSAGES_SUCCESS]: {\n currentGroupChannel: null | GroupChannel;\n messages: CoreMessageType[];\n };\n [FETCH_INITIAL_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_PREV_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [FETCH_NEXT_MESSAGES_FAILURE]: {\n currentGroupChannel: null | GroupChannel;\n };\n [SEND_MESSAGE_START]: SendableMessageType;\n [SEND_MESSAGE_SUCCESS]: SendableMessageType;\n [SEND_MESSAGE_FAILURE]: SendableMessageType;\n [SET_CURRENT_CHANNEL]: null | GroupChannel;\n [SET_CHANNEL_INVALID]: null;\n [ON_MESSAGE_RECEIVED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_UPDATED]: {\n channel: GroupChannel;\n message: SendableMessageType;\n };\n [ON_MESSAGE_THREAD_INFO_UPDATED]: {\n channel: GroupChannel;\n event: any;\n };\n [RESEND_MESSAGE_START]: {\n reqId: number;\n };\n [MARK_AS_READ]: {\n channel: null | GroupChannel;\n };\n [ON_MESSAGE_DELETED]: MessageId;\n [ON_MESSAGE_DELETED_BY_REQ_ID]: RequestId;\n [SET_EMOJI_CONTAINER]: EmojiContainer;\n [ON_REACTION_UPDATED]: ReactionEvent;\n [MESSAGE_LIST_PARAMS_CHANGED]: MessageListParams;\n [ON_FILE_INFO_UPLOADED]: {\n channelUrl: string;\n requestId: number;\n index: number;\n uploadableFileInfo: UploadableFileInfo;\n error?: unknown;\n };\n};\n\ntype MessageId = number;\ntype RequestId = string;\n\nexport type ChannelActionTypes = CreateAction<CHANNEL_PAYLOAD_TYPES>;\n","export enum PublishingModuleType {\n CHANNEL = 'CHANNEL',\n THREAD = 'THREAD',\n}\n","import format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { BaseMessage } from '@sendbird/chat/message';\nimport { getOutgoingMessageState, OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\nimport { SendableMessageType } from '../../../utils';\n\nexport const getNicknamesMapFromMembers = (members = []): Map<string, string> => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getParentMessageFrom = (message: SendableMessageType | null): SendableMessageType | BaseMessage => {\n if (!message) {\n return null;\n }\n if (isParentMessage(message)) {\n return message;\n }\n if (isThreadMessage(message)) {\n return message?.parentMessage || null;\n }\n return null;\n};\n\nexport const isParentMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage === null\n && typeof message?.parentMessageId === 'number'\n && !message?.parentMessageId\n );\n};\n\nexport const isThreadMessage = (message: SendableMessageType): boolean => {\n return (\n message?.parentMessage !== null\n && typeof message?.parentMessageId === 'number'\n && message?.parentMessageId > 0\n && message?.threadInfo === null\n );\n};\n\nexport const isAboutSame = (a: number, b: number, px: number): boolean => (Math.abs(a - b) <= px);\n\nexport const isEmpty = (val: unknown): boolean => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport function compareIds(a: number | string, b: number | string): boolean {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n\nexport const getMessageCreatedAt = (message: SendableMessageType): string => format(message.createdAt, 'p');\nexport const isReadMessage = (channel: GroupChannel, message: SendableMessageType): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isSameGroup = (\n message: SendableMessageType,\n comparingMessage: SendableMessageType,\n currentChannel: GroupChannel,\n): boolean => {\n if (!(message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && message?.sender\n && comparingMessage?.sender\n && message?.createdAt\n && comparingMessage?.createdAt\n && message?.sender?.userId\n && comparingMessage?.sender?.userId\n )) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendableMessageType,\n currMessage: SendableMessageType,\n nextMessage: SendableMessageType,\n currentChannel: GroupChannel,\n replyType: string,\n): [boolean, boolean] => {\n if (replyType === 'THREAD' && currMessage?.threadInfo) {\n return [false, false];\n }\n const sendingStatus = currMessage?.sendingStatus || '';\n const isAcceptable = sendingStatus !== 'pending' && sendingStatus !== 'failed';\n return [\n isSameGroup(prevMessage, currMessage, currentChannel) && isAcceptable,\n isSameGroup(currMessage, nextMessage, currentChannel) && isAcceptable,\n ];\n};\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-thread-ui--scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n","import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { MultipleFilesMessageCreateParams, UploadableFileInfo } from '@sendbird/chat/message';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport type { Nullable } from '../../../../types';\nimport PUBSUB_TOPICS from '../../../../lib/pubSub/topics';\nimport { scrollIntoLast as scrollIntoLastForChannel } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\nimport { PublishingModuleType } from '../../../internalInterfaces';\nimport { scrollIntoLast as scrollIntoLastForThread } from '../../../Thread/context/utils';\n\nexport type OnBeforeSendMFMType = (\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n) => MultipleFilesMessageCreateParams;\n\nexport interface UseSendMFMDynamicParams {\n currentChannel: Nullable<GroupChannel>;\n onBeforeSendMultipleFilesMessage?: OnBeforeSendMFMType;\n publishingModules: PublishingModuleType[];\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport interface FileUploadedPayload {\n channelUrl: string,\n requestId: string,\n index: number,\n uploadableFileInfo: UploadableFileInfo,\n error: Error,\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => Promise<MultipleFilesMessage>;\n\n/**\n * pubSub is used instead of messagesDispatcher to avoid redundantly calling\n * because this useSendMultipleFilesMessage is used in the Channel and Thread both\n */\nexport const useSendMultipleFilesMessage = ({\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n ): Promise<MultipleFilesMessage> => {\n return new Promise((resolve, reject) => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n reject();\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n reject();\n }\n let messageParams: MultipleFilesMessageCreateParams = {\n fileInfoList: files.map((file: File): UploadableFileInfo => ({\n file,\n fileName: file.name,\n fileSize: file.size,\n mimeType: file.type,\n })),\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n if (typeof onBeforeSendMultipleFilesMessage === 'function') {\n messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);\n }\n logger.info('Channel: Start sending MFM', { messageParams });\n try {\n currentChannel.sendMultipleFilesMessage(messageParams)\n /**\n * We don't operate the onFileUploaded event for now\n * until we will add UI/UX for it\n */\n .onFileUploaded((requestId, index, uploadableFileInfo: UploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', {\n requestId,\n index,\n error,\n uploadableFileInfo,\n });\n pubSub.publish(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, {\n response: {\n channelUrl: currentChannel.url,\n requestId,\n index,\n uploadableFileInfo,\n error,\n },\n publishingModules,\n });\n })\n .onPending((pendingMessage: MultipleFilesMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: pendingMessage,\n channel: currentChannel,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n })\n .onFailed((error, failedMessage: MultipleFilesMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n publishingModules,\n });\n reject(error);\n })\n .onSucceeded((succeededMessage: MultipleFilesMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n publishingModules,\n });\n // We need this delay because rendering MFM takes time due to large image files.\n setTimeout(() => {\n if (scrollRef && publishingModules.includes(PublishingModuleType.CHANNEL)) {\n scrollIntoLastForChannel(0, scrollRef);\n }\n if (publishingModules.includes(PublishingModuleType.THREAD)) {\n scrollIntoLastForThread(0);\n }\n }, 100);\n resolve(succeededMessage);\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n reject(error);\n }\n });\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n publishingModules,\n ]);\n return [sendMessage];\n};\n"],"names":["RESET_MESSAGES","FETCH_INITIAL_MESSAGES_START","FETCH_INITIAL_MESSAGES_SUCCESS","FETCH_INITIAL_MESSAGES_FAILURE","FETCH_PREV_MESSAGES_SUCCESS","FETCH_PREV_MESSAGES_FAILURE","FETCH_NEXT_MESSAGES_SUCCESS","FETCH_NEXT_MESSAGES_FAILURE","SEND_MESSAGE_START","SEND_MESSAGE_SUCCESS","SEND_MESSAGE_FAILURE","RESEND_MESSAGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_THREAD_INFO_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","MESSAGE_LIST_PARAMS_CHANGED","ON_FILE_INFO_UPLOADED","PublishingModuleType","getNicknamesMapFromMembers","members","nicknamesMap","Map","memberIndex","length","_a","userId","nickname","set","getParentMessageFrom","message","isParentMessage","isThreadMessage","parentMessage","parentMessageId","threadInfo","isAboutSame","a","b","px","Math","abs","isEmpty","val","undefined","compareIds","aString","toString","bString","getMessageCreatedAt","format","createdAt","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isSameGroup","comparingMessage","currentChannel","messageType","sender","_b","sendingStatus","_c","_d","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","replyType","isAcceptable","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","useSendMultipleFilesMessage","onBeforeSendMultipleFilesMessage","publishingModules","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","Promise","resolve","reject","warning","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","publish","PUBSUB_TOPICS","response","channelUrl","url","onPending","pendingMessage","includes","CHANNEL","scrollIntoLastForChannel","THREAD","scrollIntoLastForThread","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import React__default, { useState, useMemo, useEffect } from 'react';
|
|
2
|
-
import Icon, { IconTypes, IconColors } from './ui/Icon.js';
|
|
3
|
-
import { SendingStatus } from '@sendbird/chat/message';
|
|
4
|
-
import ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from './ui/ImageRenderer.js';
|
|
5
|
-
import { o as getClassName, j as isGif, c as isMultipleFilesMessage } from './index-776554c0.js';
|
|
6
|
-
import { F as FileViewer } from './index-0f017704.js';
|
|
7
|
-
import { K } from './index-09847c0f.js';
|
|
8
|
-
|
|
9
|
-
function ImageGrid(_a) {
|
|
10
|
-
var _b;
|
|
11
|
-
var children = _a.children,
|
|
12
|
-
className = _a.className,
|
|
13
|
-
message = _a.message,
|
|
14
|
-
isReactionEnabled = _a.isReactionEnabled;
|
|
15
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
16
|
-
className: "sendbird-image-grid-wrap"
|
|
17
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
18
|
-
className: getClassName([className, 'sendbird-image-grid', isReactionEnabled && ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 ? 'reactions' : ''])
|
|
19
|
-
}, children));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var GRID_WIDTH_CHAT_WEB = 400;
|
|
23
|
-
var GRID_SIDE_PADDING = 8;
|
|
24
|
-
var GRID_GAP = 4;
|
|
25
|
-
var TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;
|
|
26
|
-
var PROFILE_IMAGE_WIDTH = 40;
|
|
27
|
-
var CHAT_MOBILE_SIDE_PADDING = 48;
|
|
28
|
-
var THREAD_PARENT_WIDTH = 320;
|
|
29
|
-
var THREAD_PARENT_SIDE_PADDING = 28;
|
|
30
|
-
var THREAD_PARENT_GRID_MARGIN_LEFT = 12;
|
|
31
|
-
var THREAD_CHILD_WIDTH = 200;
|
|
32
|
-
var THREAD_CHILD_SIDE_PADDING = 8;
|
|
33
|
-
var THREAD_CHILD_MOBILE_SIDE_PADDING = 32;
|
|
34
|
-
var THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;
|
|
35
|
-
var MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {
|
|
36
|
-
CHAT_WEB: "calc(".concat(GRID_WIDTH_CHAT_WEB / 2, "px - ").concat((GRID_SIDE_PADDING + GRID_GAP) / 2, "px)"),
|
|
37
|
-
CHAT_MOBILE: "calc(50vw - ".concat((CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2, "px)"),
|
|
38
|
-
THREAD_PARENT_WEB: "calc(".concat((THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2, "px)"),
|
|
39
|
-
THREAD_PARENT_MOBILE: "calc(50vw - ".concat((THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2, "px)"),
|
|
40
|
-
THREAD_CHILD_WEB: "calc(".concat((THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2, "px)"),
|
|
41
|
-
THREAD_CHILD_MOBILE: "calc(50vw - ".concat((THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2, "px)")
|
|
42
|
-
};
|
|
43
|
-
var MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {
|
|
44
|
-
CHAT_WEB: '6px',
|
|
45
|
-
CHAT_MOBILE: '6px',
|
|
46
|
-
THREAD_PARENT_WEB: '6px',
|
|
47
|
-
THREAD_PARENT_MOBILE: '6px',
|
|
48
|
-
THREAD_CHILD_WEB: '6px',
|
|
49
|
-
THREAD_CHILD_MOBILE: '6px'
|
|
50
|
-
};
|
|
51
|
-
var MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '34px';
|
|
52
|
-
|
|
53
|
-
var ThreadMessageKind = {
|
|
54
|
-
PARENT: 'parent',
|
|
55
|
-
CHILD: 'child'
|
|
56
|
-
};
|
|
57
|
-
function MultipleFilesMessageItemBody(_a) {
|
|
58
|
-
var className = _a.className,
|
|
59
|
-
message = _a.message,
|
|
60
|
-
_b = _a.isReactionEnabled,
|
|
61
|
-
isReactionEnabled = _b === void 0 ? false : _b,
|
|
62
|
-
threadMessageKindKey = _a.threadMessageKindKey,
|
|
63
|
-
_c = _a.statefulFileInfoList,
|
|
64
|
-
statefulFileInfoList = _c === void 0 ? [] : _c;
|
|
65
|
-
var _d = useState(-1),
|
|
66
|
-
currentFileViewerIndex = _d[0],
|
|
67
|
-
setCurrentFileViewerIndex = _d[1];
|
|
68
|
-
function onClose() {
|
|
69
|
-
setCurrentFileViewerIndex(-1);
|
|
70
|
-
}
|
|
71
|
-
function onClickLeft() {
|
|
72
|
-
setCurrentFileViewerIndex(currentFileViewerIndex === 0 ? statefulFileInfoList.length - 1 : currentFileViewerIndex - 1);
|
|
73
|
-
}
|
|
74
|
-
function onClickRight() {
|
|
75
|
-
setCurrentFileViewerIndex(currentFileViewerIndex === statefulFileInfoList.length - 1 ? 0 : currentFileViewerIndex + 1);
|
|
76
|
-
}
|
|
77
|
-
return threadMessageKindKey && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentFileViewerIndex > -1 && /*#__PURE__*/React__default.createElement(FileViewer, {
|
|
78
|
-
message: message,
|
|
79
|
-
statefulFileInfoList: statefulFileInfoList,
|
|
80
|
-
currentIndex: currentFileViewerIndex,
|
|
81
|
-
onClickLeft: onClickLeft,
|
|
82
|
-
onClickRight: onClickRight,
|
|
83
|
-
onClose: onClose
|
|
84
|
-
}), /*#__PURE__*/React__default.createElement(ImageGrid, {
|
|
85
|
-
className: className,
|
|
86
|
-
message: message,
|
|
87
|
-
isReactionEnabled: isReactionEnabled
|
|
88
|
-
}, statefulFileInfoList.map(function (fileInfo, index) {
|
|
89
|
-
var isGifValue = isGif(fileInfo.mimeType);
|
|
90
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
91
|
-
className: "sendbird-multiple-files-image-renderer-wrapper",
|
|
92
|
-
onClick: message.sendingStatus === SendingStatus.SUCCEEDED ? function () {
|
|
93
|
-
return setCurrentFileViewerIndex(index);
|
|
94
|
-
} : undefined,
|
|
95
|
-
key: "sendbird-multiple-files-image-renderer-".concat(index, "-").concat(fileInfo.url)
|
|
96
|
-
}, /*#__PURE__*/React__default.createElement(ImageRenderer, {
|
|
97
|
-
url: fileInfo.url,
|
|
98
|
-
fixedSize: false,
|
|
99
|
-
width: MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey],
|
|
100
|
-
maxSideLength: MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB,
|
|
101
|
-
height: MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey],
|
|
102
|
-
borderRadius: getBorderRadiusForMultipleImageRenderer(MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey], index, statefulFileInfoList.length),
|
|
103
|
-
shadeOnHover: true,
|
|
104
|
-
isUploaded: !!fileInfo.isUploaded,
|
|
105
|
-
placeHolder: function (style_) {
|
|
106
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
107
|
-
className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder",
|
|
108
|
-
style: style_
|
|
109
|
-
}, isGifValue ? /*#__PURE__*/React__default.createElement("div", {
|
|
110
|
-
className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder__icon"
|
|
111
|
-
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
112
|
-
type: IconTypes.GIF,
|
|
113
|
-
fillColor: IconColors.THUMBNAIL_ICON,
|
|
114
|
-
width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
|
|
115
|
-
height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
|
|
116
|
-
})) : /*#__PURE__*/React__default.createElement(Icon, {
|
|
117
|
-
type: IconTypes.PHOTO,
|
|
118
|
-
fillColor: IconColors.ON_BACKGROUND_2,
|
|
119
|
-
width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
|
|
120
|
-
height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
|
|
121
|
-
}));
|
|
122
|
-
},
|
|
123
|
-
defaultComponent: /*#__PURE__*/React__default.createElement("div", {
|
|
124
|
-
className: "sendbird-multiple-files-image-renderer__thumbnail__placeholder"
|
|
125
|
-
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
126
|
-
type: IconTypes.THUMBNAIL_NONE,
|
|
127
|
-
fillColor: IconColors.ON_BACKGROUND_2,
|
|
128
|
-
width: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,
|
|
129
|
-
height: MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH
|
|
130
|
-
}))
|
|
131
|
-
}));
|
|
132
|
-
})));
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function useThreadMessageKindKeySelector(_a) {
|
|
136
|
-
var threadMessageKind = _a.threadMessageKind,
|
|
137
|
-
isMobile = _a.isMobile;
|
|
138
|
-
var threadMessageKindKey = useMemo(function () {
|
|
139
|
-
return K(threadMessageKind).with(ThreadMessageKind.PARENT, function () {
|
|
140
|
-
return isMobile ? 'THREAD_PARENT_MOBILE' : 'THREAD_PARENT_WEB';
|
|
141
|
-
}).with(ThreadMessageKind.CHILD, function () {
|
|
142
|
-
return isMobile ? 'THREAD_CHILD_MOBILE' : 'THREAD_CHILD_WEB';
|
|
143
|
-
}).otherwise(function () {
|
|
144
|
-
return isMobile ? 'CHAT_MOBILE' : 'CHAT_WEB';
|
|
145
|
-
});
|
|
146
|
-
}, [isMobile, threadMessageKind]);
|
|
147
|
-
return threadMessageKindKey;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function createStatefulFileInfoList(message, oldStatefulFileInfoList) {
|
|
151
|
-
var _a;
|
|
152
|
-
if (!message) return null;
|
|
153
|
-
// Handle sent messages.
|
|
154
|
-
if (message.sendingStatus === SendingStatus.SUCCEEDED) {
|
|
155
|
-
return message.fileInfoList.map(function (fileInfo) {
|
|
156
|
-
return {
|
|
157
|
-
fileName: fileInfo.fileName,
|
|
158
|
-
fileSize: fileInfo.fileSize,
|
|
159
|
-
mimeType: fileInfo.mimeType,
|
|
160
|
-
thumbnails: fileInfo.thumbnails,
|
|
161
|
-
url: fileInfo.url,
|
|
162
|
-
isUploaded: true
|
|
163
|
-
};
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
// Handle unsent message.
|
|
167
|
-
if (!Array.isArray((_a = message.messageParams) === null || _a === void 0 ? void 0 : _a.fileInfoList)) return null;
|
|
168
|
-
return message.messageParams.fileInfoList.map(function (fileInfo, index) {
|
|
169
|
-
var _a, _b, _c;
|
|
170
|
-
return {
|
|
171
|
-
fileName: fileInfo.fileName,
|
|
172
|
-
fileSize: fileInfo.fileSize,
|
|
173
|
-
mimeType: fileInfo.mimeType,
|
|
174
|
-
/**
|
|
175
|
-
* Note here, we prioritize using fileUrl (implying uploaded state) over file.
|
|
176
|
-
* This is necessary because cache loaded pending/failed mfms is mixed with
|
|
177
|
-
* files (not yet uploaded ones) and fileUrls (uploaded).
|
|
178
|
-
*
|
|
179
|
-
* Notice that if file is used in the old state, it will not be replace with the new fileUrl
|
|
180
|
-
* because doing so will rerender the ImageRenderer component which makes rendering process awkward and slow.
|
|
181
|
-
* */
|
|
182
|
-
url: (_c = (_b = (_a = oldStatefulFileInfoList[index]) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : fileInfo.fileUrl) !== null && _c !== void 0 ? _c : fileInfo.file instanceof Blob ? URL.createObjectURL(fileInfo.file) : undefined,
|
|
183
|
-
/**
|
|
184
|
-
* Side note: It was a bad design to not include this property by SDK.
|
|
185
|
-
* Because if original object has fileUrl set and no file, then uploaded result remains
|
|
186
|
-
* the same so customer cannot know whether it has been uploaded or not.
|
|
187
|
-
*/
|
|
188
|
-
isUploaded: !fileInfo.file && typeof fileInfo.fileUrl === 'string' && fileInfo.fileUrl.length > 0
|
|
189
|
-
};
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
var useStatefulFileInfoList = function (message) {
|
|
194
|
-
var _a, _b, _c;
|
|
195
|
-
var _d = useState([]),
|
|
196
|
-
statefulFileInfoList = _d[0],
|
|
197
|
-
setStatefulFileInfoList = _d[1];
|
|
198
|
-
useEffect(function () {
|
|
199
|
-
if (isMultipleFilesMessage(message)) {
|
|
200
|
-
var newStatefulFileInfoList = createStatefulFileInfoList(message, statefulFileInfoList);
|
|
201
|
-
setStatefulFileInfoList(newStatefulFileInfoList);
|
|
202
|
-
}
|
|
203
|
-
}, [
|
|
204
|
-
// Sent message dependency.
|
|
205
|
-
(_a = message.fileInfoList) === null || _a === void 0 ? void 0 : _a.length,
|
|
206
|
-
// Unsent message dependency.
|
|
207
|
-
/**
|
|
208
|
-
* Side note: It was a bad design to not include 'isUploaded' property by SDK.
|
|
209
|
-
* Because if original object has fileUrl set and no file, then uploaded result remains
|
|
210
|
-
* the same so customer cannot know whether it has been uploaded or not.
|
|
211
|
-
*/
|
|
212
|
-
(_c = (_b = message.messageParams) === null || _b === void 0 ? void 0 : _b.fileInfoList) === null || _c === void 0 ? void 0 : _c.map(function (fileInfo) {
|
|
213
|
-
return fileInfo.fileUrl;
|
|
214
|
-
}).join(',')]);
|
|
215
|
-
return statefulFileInfoList;
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
export { MultipleFilesMessageItemBody as M, ThreadMessageKind as T, useStatefulFileInfoList as a, useThreadMessageKindKeySelector as u };
|
|
219
|
-
//# sourceMappingURL=useStatefulFileInfoList-5e68b93f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatefulFileInfoList-5e68b93f.js","sources":["../src/ui/ImageGrid/index.tsx","../src/ui/MultipleFilesMessageItemBody/const.ts","../src/ui/MultipleFilesMessageItemBody/index.tsx","../src/modules/Channel/context/hooks/useThreadMessageKindKeySelector.ts","../src/utils/createStatefulFileInfoList.ts","../src/modules/Channel/context/hooks/useStatefulFileInfoList.ts"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport './index.scss';\nimport { getClassName } from '../../utils';\nimport { MultipleFilesMessage } from '@sendbird/chat/message';\n\ninterface ImageGridProps {\n children: ReactElement[];\n className?: string;\n message: MultipleFilesMessage;\n isReactionEnabled?: boolean;\n}\n\nexport default function ImageGrid({\n children,\n className,\n message,\n isReactionEnabled,\n}: ImageGridProps): ReactElement {\n return (\n <div className='sendbird-image-grid-wrap'>\n <div className={getClassName([\n className,\n 'sendbird-image-grid',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n { children }\n </div>\n </div>\n );\n}\n","const GRID_WIDTH_CHAT_WEB = 400;\nconst GRID_SIDE_PADDING = 8;\nconst GRID_GAP = 4;\nconst TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 54;\nconst PROFILE_IMAGE_WIDTH = 40;\n\nconst CHAT_MOBILE_SIDE_PADDING = 48;\n\nconst THREAD_PARENT_WIDTH = 320;\nconst THREAD_PARENT_SIDE_PADDING = 28;\nconst THREAD_PARENT_GRID_MARGIN_LEFT = 12;\n\nconst THREAD_CHILD_WIDTH = 200;\nconst THREAD_CHILD_SIDE_PADDING = 8;\nconst THREAD_CHILD_MOBILE_SIDE_PADDING = 32;\nconst THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN = 60;\n\nexport const MULTIPLE_FILES_IMAGE_SIDE_LENGTH = {\n CHAT_WEB: `calc(${GRID_WIDTH_CHAT_WEB / 2}px - ${(GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n CHAT_MOBILE: `calc(50vw - ${(CHAT_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n THREAD_PARENT_WEB: `calc(${(THREAD_PARENT_WIDTH - (THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP)) / 2}px)`,\n THREAD_PARENT_MOBILE: `calc(50vw - ${(THREAD_PARENT_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_PARENT_GRID_MARGIN_LEFT + GRID_GAP) / 2}px)`,\n THREAD_CHILD_WEB: `calc(${(THREAD_CHILD_WIDTH - THREAD_CHILD_SIDE_PADDING - GRID_GAP) / 2}px)`,\n THREAD_CHILD_MOBILE: `calc(50vw - ${(THREAD_CHILD_MOBILE_SIDE_PADDING + PROFILE_IMAGE_WIDTH + THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN + GRID_SIDE_PADDING + GRID_GAP) / 2}px)`,\n};\nexport const MULTIPLE_FILES_IMAGE_BORDER_RADIUS = {\n CHAT_WEB: '6px',\n CHAT_MOBILE: '6px',\n THREAD_PARENT_WEB: '6px',\n THREAD_PARENT_MOBILE: '6px',\n THREAD_CHILD_WEB: '6px',\n THREAD_CHILD_MOBILE: '6px',\n};\nexport const MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH = '34px';\n","import React, { ReactElement, useState } from 'react';\n\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { MultipleFilesMessage, SendingStatus } from '@sendbird/chat/message';\nimport ImageRenderer, { getBorderRadiusForMultipleImageRenderer } from '../ImageRenderer';\nimport ImageGrid from '../ImageGrid';\nimport FileViewer from '../FileViewer';\nimport './index.scss';\nimport {\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS,\n MULTIPLE_FILES_IMAGE_SIDE_LENGTH,\n MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH,\n} from './const';\nimport { isGif } from '../../utils';\nimport { StatefulFileInfo } from '../../utils/createStatefulFileInfoList';\n\nexport const ThreadMessageKind = {\n PARENT: 'parent',\n CHILD: 'child',\n} as const;\n\nexport type ThreadMessageKindType = typeof ThreadMessageKind[keyof typeof ThreadMessageKind];\n\ninterface Props {\n className?: string;\n message: MultipleFilesMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n threadMessageKindKey?: string;\n statefulFileInfoList?: StatefulFileInfo[];\n}\n\nexport default function MultipleFilesMessageItemBody({\n className,\n message,\n isReactionEnabled = false,\n threadMessageKindKey,\n statefulFileInfoList = [],\n}: Props): ReactElement {\n const [currentFileViewerIndex, setCurrentFileViewerIndex] = useState(-1);\n\n function onClose() {\n setCurrentFileViewerIndex(-1);\n }\n\n function onClickLeft() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === 0\n ? statefulFileInfoList.length - 1\n : currentFileViewerIndex - 1,\n );\n }\n\n function onClickRight() {\n setCurrentFileViewerIndex(\n currentFileViewerIndex === statefulFileInfoList.length - 1\n ? 0\n : currentFileViewerIndex + 1,\n );\n }\n\n return threadMessageKindKey && (\n <>\n {\n currentFileViewerIndex > -1 && (\n <FileViewer\n message={message}\n statefulFileInfoList={statefulFileInfoList}\n currentIndex={currentFileViewerIndex}\n onClickLeft={onClickLeft}\n onClickRight={onClickRight}\n onClose={onClose}\n />\n )\n }\n <ImageGrid\n className={className}\n message={message}\n isReactionEnabled={isReactionEnabled}\n >\n {\n statefulFileInfoList.map((fileInfo: StatefulFileInfo, index: number) => {\n const isGifValue = isGif(fileInfo.mimeType);\n return <div\n className='sendbird-multiple-files-image-renderer-wrapper'\n onClick={\n message.sendingStatus === SendingStatus.SUCCEEDED\n ? () => setCurrentFileViewerIndex(index)\n : undefined\n }\n key={`sendbird-multiple-files-image-renderer-${index}-${fileInfo.url}`}\n >\n <ImageRenderer\n url={fileInfo.url}\n fixedSize={false}\n width={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n maxSideLength={MULTIPLE_FILES_IMAGE_SIDE_LENGTH.CHAT_WEB}\n height={MULTIPLE_FILES_IMAGE_SIDE_LENGTH[threadMessageKindKey]}\n borderRadius={getBorderRadiusForMultipleImageRenderer(\n MULTIPLE_FILES_IMAGE_BORDER_RADIUS[threadMessageKindKey],\n index,\n statefulFileInfoList.length,\n )}\n shadeOnHover={true}\n isUploaded={!!fileInfo.isUploaded}\n placeHolder={\n (style_: Record<string, any>) => (\n <div\n className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\"\n style={style_}\n >\n {\n isGifValue\n ? <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.THUMBNAIL_ICON}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n </div>\n : <Icon\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n )\n }\n defaultComponent={\n <div className=\"sendbird-multiple-files-image-renderer__thumbnail__placeholder\">\n {\n <Icon\n type={IconTypes.THUMBNAIL_NONE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n height={MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH}\n />\n }\n </div>\n }\n />\n </div>;\n })\n }\n </ImageGrid>\n </>\n );\n}\n","import { useMemo } from 'react';\nimport { ThreadMessageKind, ThreadMessageKindType } from '../../../../ui/MultipleFilesMessageItemBody';\nimport { match } from 'ts-pattern';\n\ninterface DynamicSideLengthProps {\n threadMessageKind?: ThreadMessageKindType;\n isMobile: boolean;\n}\n\nexport function useThreadMessageKindKeySelector({\n threadMessageKind,\n isMobile,\n}: DynamicSideLengthProps): string {\n const threadMessageKindKey = useMemo(() => {\n return match(threadMessageKind)\n .with(ThreadMessageKind.PARENT, () => (isMobile\n ? 'THREAD_PARENT_MOBILE'\n : 'THREAD_PARENT_WEB'\n ))\n .with(ThreadMessageKind.CHILD, () => (isMobile\n ? 'THREAD_CHILD_MOBILE'\n : 'THREAD_CHILD_WEB'\n ))\n .otherwise(() => (isMobile\n ? 'CHAT_MOBILE'\n : 'CHAT_WEB'\n ));\n }, [isMobile, threadMessageKind]);\n return threadMessageKindKey;\n}\n","import { MultipleFilesMessage, SendingStatus, UploadableFileInfo, UploadedFileInfo } from '@sendbird/chat/message';\nimport { Thumbnail } from '@sendbird/chat/lib/__definition';\n\nexport type StatefulFileInfo = {\n fileName?: string,\n fileSize?: number,\n mimeType?: string,\n thumbnails?: Thumbnail[];\n url?: string,\n isUploaded?: boolean;\n};\n\nexport function createStatefulFileInfoList(message: MultipleFilesMessage, oldStatefulFileInfoList: StatefulFileInfo[]): StatefulFileInfo[] {\n if (!message) return null;\n\n // Handle sent messages.\n if (message.sendingStatus === SendingStatus.SUCCEEDED) {\n return message.fileInfoList.map((fileInfo: UploadedFileInfo) => {\n return {\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n thumbnails: fileInfo.thumbnails,\n url: fileInfo.url,\n isUploaded: true,\n };\n });\n }\n // Handle unsent message.\n if (!Array.isArray(message.messageParams?.fileInfoList)) return null;\n return message.messageParams.fileInfoList\n .map((fileInfo: UploadableFileInfo, index: number): StatefulFileInfo => ({\n fileName: fileInfo.fileName,\n fileSize: fileInfo.fileSize,\n mimeType: fileInfo.mimeType,\n /**\n * Note here, we prioritize using fileUrl (implying uploaded state) over file.\n * This is necessary because cache loaded pending/failed mfms is mixed with\n * files (not yet uploaded ones) and fileUrls (uploaded).\n *\n * Notice that if file is used in the old state, it will not be replace with the new fileUrl\n * because doing so will rerender the ImageRenderer component which makes rendering process awkward and slow.\n * */\n url: oldStatefulFileInfoList[index]?.url ?? fileInfo.fileUrl ?? (\n fileInfo.file instanceof Blob\n ? URL.createObjectURL(fileInfo.file)\n : undefined\n ),\n /**\n * Side note: It was a bad design to not include this property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n isUploaded: !fileInfo.file && typeof fileInfo.fileUrl === 'string' && fileInfo.fileUrl.length > 0,\n }));\n}\n","import { useEffect, useState } from 'react';\nimport { MultipleFilesMessage, UploadableFileInfo } from '@sendbird/chat/message';\nimport { createStatefulFileInfoList, StatefulFileInfo } from '../../../../utils/createStatefulFileInfoList';\nimport { CoreMessageType, isMultipleFilesMessage } from '../../../../utils';\n\nexport const useStatefulFileInfoList = (message: CoreMessageType): StatefulFileInfo[] => {\n const [statefulFileInfoList, setStatefulFileInfoList] = useState<StatefulFileInfo[]>([]);\n\n useEffect(() => {\n if (isMultipleFilesMessage(message)) {\n const newStatefulFileInfoList: StatefulFileInfo[] = createStatefulFileInfoList(\n message as MultipleFilesMessage,\n statefulFileInfoList,\n );\n setStatefulFileInfoList(newStatefulFileInfoList);\n }\n }, [\n // Sent message dependency.\n (message as MultipleFilesMessage).fileInfoList?.length,\n // Unsent message dependency.\n /**\n * Side note: It was a bad design to not include 'isUploaded' property by SDK.\n * Because if original object has fileUrl set and no file, then uploaded result remains\n * the same so customer cannot know whether it has been uploaded or not.\n */\n (message as MultipleFilesMessage).messageParams?.fileInfoList\n ?.map((fileInfo: UploadableFileInfo) => fileInfo.fileUrl).join(','),\n ]);\n return statefulFileInfoList;\n};\n"],"names":["ImageGrid","_a","children","className","message","isReactionEnabled","React","createElement","getClassName","_b","reactions","length","GRID_WIDTH_CHAT_WEB","GRID_SIDE_PADDING","GRID_GAP","TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","PROFILE_IMAGE_WIDTH","CHAT_MOBILE_SIDE_PADDING","THREAD_PARENT_WIDTH","THREAD_PARENT_SIDE_PADDING","THREAD_PARENT_GRID_MARGIN_LEFT","THREAD_CHILD_WIDTH","THREAD_CHILD_SIDE_PADDING","THREAD_CHILD_MOBILE_SIDE_PADDING","THREAD_CHILD_MOBILE_TIMESTAMP_WIDTH_AND_ITS_SIDE_MARGIN","MULTIPLE_FILES_IMAGE_SIDE_LENGTH","CHAT_WEB","concat","CHAT_MOBILE","THREAD_PARENT_WEB","THREAD_PARENT_MOBILE","THREAD_CHILD_WEB","THREAD_CHILD_MOBILE","MULTIPLE_FILES_IMAGE_BORDER_RADIUS","MULTIPLE_FILES_IMAGE_THUMBNAIL_SIDE_LENGTH","ThreadMessageKind","PARENT","CHILD","MultipleFilesMessageItemBody","threadMessageKindKey","_c","statefulFileInfoList","_d","useState","currentFileViewerIndex","setCurrentFileViewerIndex","onClose","onClickLeft","onClickRight","Fragment","FileViewer","currentIndex","map","fileInfo","index","isGifValue","isGif","mimeType","onClick","sendingStatus","SendingStatus","SUCCEEDED","undefined","key","url","ImageRenderer","fixedSize","width","maxSideLength","height","borderRadius","getBorderRadiusForMultipleImageRenderer","shadeOnHover","isUploaded","placeHolder","style_","style","Icon","type","IconTypes","GIF","fillColor","IconColors","THUMBNAIL_ICON","PHOTO","ON_BACKGROUND_2","defaultComponent","THUMBNAIL_NONE","useThreadMessageKindKeySelector","threadMessageKind","isMobile","useMemo","match","with","otherwise","createStatefulFileInfoList","oldStatefulFileInfoList","fileInfoList","fileName","fileSize","thumbnails","Array","isArray","messageParams","fileUrl","file","Blob","URL","createObjectURL","useStatefulFileInfoList","setStatefulFileInfoList","useEffect","isMultipleFilesMessage","newStatefulFileInfoList","join"],"mappings":"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"}
|