@sendbird/uikit-react 3.1.3 → 3.2.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +33 -35
- package/App.js.map +1 -1
- package/CHANGELOG.md +42 -0
- package/Channel/components/ChannelHeader.js +19 -21
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +26 -28
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +16 -18
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +21 -23
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +22 -21
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +23 -25
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +18 -20
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +17 -19
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +16 -18
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +15 -17
- package/Channel/context.js.map +1 -1
- package/Channel.js +24 -26
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +28 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +21 -23
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +19 -20
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +10 -12
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +28 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-0157b613.js → ChannelListProvider-6e3b8f43.js} +12 -11
- package/ChannelListProvider-6e3b8f43.js.map +1 -0
- package/{ChannelProvider-57689107.js → ChannelProvider-b8c6427f.js} +13 -13
- package/{ChannelProvider-57689107.js.map → ChannelProvider-b8c6427f.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +20 -22
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +14 -13
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +30 -29
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +12 -12
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -22
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +15 -15
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-f84fd7e5.js → CreateChannelProvider-712526fd.js} +1 -1
- package/{CreateChannelProvider-f84fd7e5.js.map → CreateChannelProvider-712526fd.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +128 -0
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -0
- package/CreateOpenChannel/context.js +63 -0
- package/CreateOpenChannel/context.js.map +1 -0
- package/CreateOpenChannel.js +45 -0
- package/CreateOpenChannel.js.map +1 -0
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +13 -13
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-5b475a64.js → LocalizationContext-4cefc770.js} +3 -3
- package/{LocalizationContext-5b475a64.js.map → LocalizationContext-4cefc770.js.map} +1 -1
- package/{MemberList-004dd3e6.js → MemberList-e4916e55.js} +13 -10
- package/MemberList-e4916e55.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +2 -2
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +11 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +15 -17
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +21 -21
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +26 -26
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +71 -67
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +28 -28
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +12 -14
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +29 -29
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +195 -0
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -0
- package/OpenChannelList/components/OpenChannelPreview.js +68 -0
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -0
- package/OpenChannelList/context.js +8 -0
- package/OpenChannelList/context.js.map +1 -0
- package/OpenChannelList.js +58 -0
- package/OpenChannelList.js.map +1 -0
- package/OpenChannelListProvider-845a2162.js +434 -0
- package/OpenChannelListProvider-845a2162.js.map +1 -0
- package/{OpenChannelProvider-f5d504ec.js → OpenChannelProvider-5f19d5d7.js} +10 -11
- package/OpenChannelProvider-5f19d5d7.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +37 -35
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -23
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +25 -26
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +18 -19
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +11 -6
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +20 -21
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +1 -1
- package/SendbirdProvider.js +21 -22
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-a2483e23.js → UserProfileContext-2e53d03a.js} +1 -1
- package/{UserProfileContext-a2483e23.js.map → UserProfileContext-2e53d03a.js.map} +1 -1
- package/__bundle-bd072f34-95f6bf17.js +8 -0
- package/__bundle-bd072f34-95f6bf17.js.map +1 -0
- package/{_rollupPluginBabelHelpers-b2b008c2.js → _rollupPluginBabelHelpers-4527872e.js} +1 -1
- package/{_rollupPluginBabelHelpers-b2b008c2.js.map → _rollupPluginBabelHelpers-4527872e.js.map} +1 -1
- package/{actionTypes-3a618022.js → actionTypes-517789b8.js} +1 -1
- package/{actionTypes-3a618022.js.map → actionTypes-517789b8.js.map} +1 -1
- package/cjs/App.js +33 -35
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -21
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +24 -26
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +16 -18
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +21 -23
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +22 -21
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +23 -25
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +18 -20
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +17 -19
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +16 -18
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +15 -17
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +24 -26
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +28 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +21 -23
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +19 -20
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +10 -12
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +28 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-3e882076.js → ChannelListProvider-781aa186.js} +12 -11
- package/cjs/ChannelListProvider-781aa186.js.map +1 -0
- package/cjs/{ChannelProvider-b7e7f2ff.js → ChannelProvider-bbff4ae8.js} +17 -17
- package/cjs/{ChannelProvider-b7e7f2ff.js.map → ChannelProvider-bbff4ae8.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +20 -22
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +14 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +34 -33
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +12 -12
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -22
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +15 -15
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-cea018b0.js → CreateChannelProvider-80c88bba.js} +1 -1
- package/cjs/{CreateChannelProvider-cea018b0.js.map → CreateChannelProvider-80c88bba.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +134 -0
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -0
- package/cjs/CreateOpenChannel/context.js +72 -0
- package/cjs/CreateOpenChannel/context.js.map +1 -0
- package/cjs/CreateOpenChannel.js +51 -0
- package/cjs/CreateOpenChannel.js.map +1 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-c13ae9d5.js → LocalizationContext-b5fd4c38.js} +3 -3
- package/cjs/{LocalizationContext-c13ae9d5.js.map → LocalizationContext-b5fd4c38.js.map} +1 -1
- package/cjs/{MemberList-e062045b.js → MemberList-10def668.js} +15 -12
- package/cjs/MemberList-10def668.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +15 -17
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +26 -26
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +71 -67
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +12 -14
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +29 -29
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +201 -0
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -0
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +74 -0
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -0
- package/cjs/OpenChannelList/context.js +18 -0
- package/cjs/OpenChannelList/context.js.map +1 -0
- package/cjs/OpenChannelList.js +64 -0
- package/cjs/OpenChannelList.js.map +1 -0
- package/cjs/OpenChannelListProvider-8e425873.js +443 -0
- package/cjs/OpenChannelListProvider-8e425873.js.map +1 -0
- package/cjs/{OpenChannelProvider-341f9a01.js → OpenChannelProvider-39f9e794.js} +10 -11
- package/cjs/OpenChannelProvider-39f9e794.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +37 -35
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +15 -15
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +23 -23
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +29 -30
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +18 -19
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +11 -6
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +20 -21
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +22 -22
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-f7c125ca.js → UserProfileContext-69c9649a.js} +1 -1
- package/cjs/{UserProfileContext-f7c125ca.js.map → UserProfileContext-69c9649a.js.map} +1 -1
- package/cjs/__bundle-bd072f34-57bee5af.js +106 -0
- package/cjs/__bundle-bd072f34-57bee5af.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-09706ebf.js → _rollupPluginBabelHelpers-f9e4bb55.js} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-09706ebf.js.map → _rollupPluginBabelHelpers-f9e4bb55.js.map} +1 -1
- package/cjs/{actionTypes-b3af2b15.js → actionTypes-17aa0989.js} +1 -1
- package/cjs/{actionTypes-b3af2b15.js.map → actionTypes-17aa0989.js.map} +1 -1
- package/cjs/{color-f0ffb253.js → color-9e293baf.js} +9 -9
- package/cjs/color-9e293baf.js.map +1 -0
- package/cjs/{compareIds-10371145.js → compareIds-cf626c9f.js} +1 -1
- package/cjs/{compareIds-10371145.js.map → compareIds-cf626c9f.js.map} +1 -1
- package/cjs/{const-84c58686.js → const-17108318.js} +1 -1
- package/cjs/{const-84c58686.js.map → const-17108318.js.map} +1 -1
- package/cjs/{const-459420a0.js → const-955190c4.js} +1 -1
- package/cjs/{const-459420a0.js.map → const-955190c4.js.map} +1 -1
- package/cjs/{context-01248097.js → context-e041c8e0.js} +2 -2
- package/cjs/{context-01248097.js.map → context-e041c8e0.js.map} +1 -1
- package/cjs/dist/index.css +237 -149
- package/cjs/dist/index.css.map +1 -1
- package/cjs/groupChannel-6d56c155.js +11 -0
- package/cjs/groupChannel-6d56c155.js.map +1 -0
- package/cjs/handlers/ConnectionHandler.js +2 -4
- package/cjs/handlers/ConnectionHandler.js.map +1 -1
- package/cjs/handlers/GroupChannelHandler.js +2 -4
- package/cjs/handlers/GroupChannelHandler.js.map +1 -1
- package/cjs/handlers/OpenChannelHandler.js +2 -3
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js +2 -4
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/handlers/UserEventHandler.js +2 -4
- package/cjs/handlers/UserEventHandler.js.map +1 -1
- package/cjs/{index-0add0c83.js → index-025aa556.js} +7 -7
- package/cjs/index-025aa556.js.map +1 -0
- package/cjs/{index-243538a2.js → index-1512514f.js} +2 -2
- package/cjs/{index-243538a2.js.map → index-1512514f.js.map} +1 -1
- package/cjs/{index-c8f7702f.js → index-18b120dc.js} +5 -5
- package/cjs/index-18b120dc.js.map +1 -0
- package/cjs/{index-63b56a0e.js → index-5166a415.js} +1 -1
- package/cjs/{index-63b56a0e.js.map → index-5166a415.js.map} +1 -1
- package/cjs/{index-98e4f7b2.js → index-550f5039.js} +1 -1
- package/cjs/index-550f5039.js.map +1 -0
- package/cjs/{index-a00a0f18.js → index-5e2b8c03.js} +12 -12
- package/cjs/index-5e2b8c03.js.map +1 -0
- package/cjs/{index-2f58ecfc.js → index-9ce5e5a9.js} +4 -4
- package/cjs/{index-2f58ecfc.js.map → index-9ce5e5a9.js.map} +1 -1
- package/cjs/{index-dad73aff.js → index-b9b8972b.js} +3 -3
- package/cjs/{index-dad73aff.js.map → index-b9b8972b.js.map} +1 -1
- package/cjs/{index-701d44c1.js → index-c1697faa.js} +2 -2
- package/cjs/{index-701d44c1.js.map → index-c1697faa.js.map} +1 -1
- package/cjs/{index-2d53c0e6.js → index-e9d96b00.js} +15 -14
- package/cjs/index-e9d96b00.js.map +1 -0
- package/cjs/index.js +37 -39
- package/cjs/index.js.map +1 -1
- package/cjs/openChannel-8aabbf3c.js +9 -0
- package/cjs/openChannel-8aabbf3c.js.map +1 -0
- package/cjs/{openChannelUtils-7a336d09.js → openChannelUtils-cffba1c0.js} +1 -1
- package/cjs/{openChannelUtils-7a336d09.js.map → openChannelUtils-cffba1c0.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-bd0c293d.js → stringSet-be457fd7.js} +18 -3
- package/cjs/stringSet-be457fd7.js.map +1 -0
- package/cjs/{topics-f3fe3bf3.js → topics-58ec1c61.js} +6 -2
- package/cjs/topics-58ec1c61.js.map +1 -0
- package/cjs/{tslib.es6-f57d0c81.js → tslib.es6-36205d81.js} +1 -1
- package/cjs/{tslib.es6-f57d0c81.js.map → tslib.es6-36205d81.js.map} +1 -1
- package/cjs/ui/Accordion.js +4 -4
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +4 -4
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +3 -3
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +6 -6
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/Button.js +86 -9
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +4 -4
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +5 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +8 -7
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +5 -5
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +8 -8
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +9 -9
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +2 -2
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +3 -3
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +3 -3
- package/cjs/ui/LinkLabel.js +3 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +2 -2
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +14 -14
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +12868 -2987
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +6 -6
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +8 -8
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +13 -12
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +1 -1
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +7 -7
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +7 -7
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +37 -42
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +7 -7
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +4 -4
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +4 -4
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +12 -12
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +11 -11
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/Word.js +13 -15
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/{utils-760ac018.js → utils-09738454.js} +1 -1
- package/cjs/{utils-760ac018.js.map → utils-09738454.js.map} +1 -1
- package/cjs/{utils-959685f6.js → utils-40fab371.js} +1 -1
- package/cjs/{utils-959685f6.js.map → utils-40fab371.js.map} +1 -1
- package/cjs/{utils-438c14b6.js → utils-9419225c.js} +1 -1
- package/cjs/{utils-438c14b6.js.map → utils-9419225c.js.map} +1 -1
- package/cjs/{uuid-1942f440.js → uuid-edc908ea.js} +1 -1
- package/cjs/{uuid-1942f440.js.map → uuid-edc908ea.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/cjs/withSendbird.js.map +1 -1
- package/{color-83cfc07a.js → color-402a36fd.js} +9 -9
- package/color-402a36fd.js.map +1 -0
- package/{compareIds-9455ecb0.js → compareIds-31e2f55c.js} +1 -1
- package/{compareIds-9455ecb0.js.map → compareIds-31e2f55c.js.map} +1 -1
- package/{const-7867ac6a.js → const-6b428cb8.js} +1 -1
- package/{const-7867ac6a.js.map → const-6b428cb8.js.map} +1 -1
- package/{const-71ceda85.js → const-768ef60e.js} +1 -1
- package/{const-71ceda85.js.map → const-768ef60e.js.map} +1 -1
- package/{context-2f6f1c17.js → context-bd92675f.js} +2 -2
- package/{context-2f6f1c17.js.map → context-bd92675f.js.map} +1 -1
- package/dist/index.css +237 -149
- package/dist/index.css.map +1 -1
- package/groupChannel-e2a071e1.js +8 -0
- package/groupChannel-e2a071e1.js.map +1 -0
- package/handlers/ConnectionHandler.js +2 -4
- package/handlers/ConnectionHandler.js.map +1 -1
- package/handlers/GroupChannelHandler.js +3 -5
- package/handlers/GroupChannelHandler.js.map +1 -1
- package/handlers/OpenChannelHandler.js +3 -4
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js +2 -4
- package/handlers/SessionHandler.js.map +1 -1
- package/handlers/UserEventHandler.js +2 -4
- package/handlers/UserEventHandler.js.map +1 -1
- package/{index-25496c01.js → index-176e9ad4.js} +1 -1
- package/{index-25496c01.js.map → index-176e9ad4.js.map} +1 -1
- package/{index-1086dd43.js → index-3249f6b5.js} +1 -1
- package/index-3249f6b5.js.map +1 -0
- package/{index-952d5f9b.js → index-3699f160.js} +4 -4
- package/{index-952d5f9b.js.map → index-3699f160.js.map} +1 -1
- package/{index-2f85a795.js → index-598898d3.js} +2 -2
- package/{index-2f85a795.js.map → index-598898d3.js.map} +1 -1
- package/{index-e028fd23.js → index-6b896cd8.js} +3 -3
- package/{index-e028fd23.js.map → index-6b896cd8.js.map} +1 -1
- package/{index-d545f604.js → index-726a5475.js} +11 -11
- package/index-726a5475.js.map +1 -0
- package/{index-4400a360.js → index-7fa0a721.js} +2 -2
- package/{index-4400a360.js.map → index-7fa0a721.js.map} +1 -1
- package/{index-7a790c96.js → index-a98bd600.js} +15 -14
- package/index-a98bd600.js.map +1 -0
- package/{index-c3a36db0.js → index-b79c5b07.js} +7 -7
- package/index-b79c5b07.js.map +1 -0
- package/{index-24a5ab49.js → index-f59cf800.js} +5 -5
- package/index-f59cf800.js.map +1 -0
- package/index.d.ts +207 -97
- package/index.js +37 -39
- package/index.js.map +1 -1
- package/openChannel-8c75e1a4.js +6 -0
- package/openChannel-8c75e1a4.js.map +1 -0
- package/{openChannelUtils-f64223c9.js → openChannelUtils-ecaeb7d7.js} +1 -1
- package/{openChannelUtils-f64223c9.js.map → openChannelUtils-ecaeb7d7.js.map} +1 -1
- package/package-lock.json +25501 -0
- package/package.json +4 -3
- package/sendbirdSelectors.js +2 -2
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-c4a61372.js → stringSet-dc330bcf.js} +18 -3
- package/stringSet-dc330bcf.js.map +1 -0
- package/{topics-851d221c.js → topics-c5198349.js} +6 -3
- package/topics-c5198349.js.map +1 -0
- package/{tslib.es6-72a2f141.js → tslib.es6-cb5d77bf.js} +1 -1
- package/{tslib.es6-72a2f141.js.map → tslib.es6-cb5d77bf.js.map} +1 -1
- package/ui/Accordion.js +4 -4
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +2 -2
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +4 -4
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +3 -3
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +6 -6
- package/ui/Badge.js.map +1 -1
- package/ui/Button.js +83 -6
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +4 -4
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +5 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +8 -7
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +5 -5
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +8 -8
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +9 -9
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +2 -3
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +3 -3
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +3 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +2 -2
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +14 -14
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +12866 -2985
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +6 -6
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +10 -10
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +8 -8
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +11 -10
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +1 -1
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +7 -7
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +7 -7
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +37 -42
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +7 -7
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +7 -7
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +4 -4
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +1 -1
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +3 -3
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +4 -4
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +1 -1
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +12 -12
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +10 -10
- package/ui/UserProfile.js.map +1 -1
- package/ui/Word.js +13 -15
- package/ui/Word.js.map +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/useSendbirdStateContext.js.map +1 -1
- package/{utils-12da1022.js → utils-330ed0b1.js} +1 -1
- package/{utils-12da1022.js.map → utils-330ed0b1.js.map} +1 -1
- package/{utils-2c4d166e.js → utils-629876b9.js} +1 -1
- package/{utils-2c4d166e.js.map → utils-629876b9.js.map} +1 -1
- package/{utils-bc7d8f0c.js → utils-8fb72715.js} +1 -1
- package/{utils-bc7d8f0c.js.map → utils-8fb72715.js.map} +1 -1
- package/{uuid-8a4db02f.js → uuid-180d497e.js} +1 -1
- package/{uuid-8a4db02f.js.map → uuid-180d497e.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-0157b613.js.map +0 -1
- package/MemberList-004dd3e6.js.map +0 -1
- package/OpenChannelProvider-f5d504ec.js.map +0 -1
- package/__bundle-6316ce22-63d15802.js +0 -20
- package/__bundle-6316ce22-63d15802.js.map +0 -1
- package/__bundle-7dfccc8c-d5c3938c.js +0 -6
- package/__bundle-7dfccc8c-d5c3938c.js.map +0 -1
- package/__bundle-fbda47dd-b1c87af3.js +0 -6
- package/__bundle-fbda47dd-b1c87af3.js.map +0 -1
- package/cjs/ChannelListProvider-3e882076.js.map +0 -1
- package/cjs/MemberList-e062045b.js.map +0 -1
- package/cjs/OpenChannelProvider-341f9a01.js.map +0 -1
- package/cjs/__bundle-6316ce22-054c7ff6.js +0 -127
- package/cjs/__bundle-6316ce22-054c7ff6.js.map +0 -1
- package/cjs/__bundle-7dfccc8c-826eb0ef.js +0 -15
- package/cjs/__bundle-7dfccc8c-826eb0ef.js.map +0 -1
- package/cjs/__bundle-fbda47dd-4cb7267d.js +0 -33
- package/cjs/__bundle-fbda47dd-4cb7267d.js.map +0 -1
- package/cjs/color-f0ffb253.js.map +0 -1
- package/cjs/groupChannel-4934c435.js +0 -11
- package/cjs/groupChannel-4934c435.js.map +0 -1
- package/cjs/index-0add0c83.js.map +0 -1
- package/cjs/index-2d53c0e6.js.map +0 -1
- package/cjs/index-98e4f7b2.js.map +0 -1
- package/cjs/index-a00a0f18.js.map +0 -1
- package/cjs/index-c8f7702f.js.map +0 -1
- package/cjs/index-d889bc81.js +0 -90
- package/cjs/index-d889bc81.js.map +0 -1
- package/cjs/openChannel-e95532d8.js +0 -10
- package/cjs/openChannel-e95532d8.js.map +0 -1
- package/cjs/sendbird-e3e5c8ae.js +0 -12
- package/cjs/sendbird-e3e5c8ae.js.map +0 -1
- package/cjs/stringSet-bd0c293d.js.map +0 -1
- package/cjs/topics-f3fe3bf3.js.map +0 -1
- package/cjs/ui/ChannelPreview.js +0 -212
- package/cjs/ui/ChannelPreview.js.map +0 -1
- package/cjs/ui/ChatHeader.js +0 -120
- package/cjs/ui/ChatHeader.js.map +0 -1
- package/color-83cfc07a.js.map +0 -1
- package/groupChannel-de6b26ee.js +0 -8
- package/groupChannel-de6b26ee.js.map +0 -1
- package/index-1086dd43.js.map +0 -1
- package/index-16e14c17.js +0 -82
- package/index-16e14c17.js.map +0 -1
- package/index-24a5ab49.js.map +0 -1
- package/index-7a790c96.js.map +0 -1
- package/index-c3a36db0.js.map +0 -1
- package/index-d545f604.js.map +0 -1
- package/openChannel-825f8e93.js +0 -7
- package/openChannel-825f8e93.js.map +0 -1
- package/sendbird-21239b88.js +0 -7
- package/sendbird-21239b88.js.map +0 -1
- package/stringSet-c4a61372.js.map +0 -1
- package/topics-851d221c.js.map +0 -1
- package/ui/ChannelPreview.js +0 -205
- package/ui/ChannelPreview.js.map +0 -1
- package/ui/ChatHeader.js +0 -114
- package/ui/ChatHeader.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenchannelThumbnailMessage.js","sources":["../../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../../src/ui/OpenchannelThumbnailMessage/index.tsx"],"sourcesContent":["export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useContext,\n} from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface LocalUrl {\n localUrl?: string;\n}\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isOperator?: boolean;\n disabled: boolean;\n userId: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: FileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n className,\n message,\n isOperator,\n disabled,\n userId,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n thumbnails,\n localUrl,\n }: FileMessage & LocalUrl = message;\n const status = message?.sendingStatus;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [messageWidth, setMessageWidth] = useState(360);\n const messageRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const memorizedThumbnailPlaceHolder = useMemo(() => (type) => ({ style }) => ( // eslint-disable-line\n <div style={style}>\n <Icon\n type={type}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n ), []);\n\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n useEffect(() => {\n const thumbnailWidth = messageRef?.current?.clientWidth - 80;\n setMessageWidth(thumbnailWidth > 360 ? 360 : thumbnailWidth);\n }, []);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-thumbnail-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-thumbnail-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-thumbnail-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__title\">\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-thumbnail-message__right__body\">\n <div\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap\"\n role=\"button\"\n onClick={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__overlay\" />\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\" >\n {\n (thumbnailUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\"\n url={thumbnailUrl}\n width={messageWidth}\n height=\"270px\"\n alt=\"image\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PLAY)}\n />\n )\n : (\n <video className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__video\">\n <source src={url || localUrl} type={type} />\n </video>\n )\n }\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__icon\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image\"\n url={thumbnailUrl || url || localUrl}\n alt=\"image\"\n width={messageWidth}\n height=\"270px\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PHOTO)}\n />\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__unknown\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n ),\n }[getSupportingFileType(type)]\n }\n </div>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n <div\n className=\"sendbird-openchannel-thumbnail-message__context-menu\"\n ref={contextMenuRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message, userId, status }) && (\n <IconButton\n className=\"sendbird-openchannel-thumbnail-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n </div>\n );\n}\n"],"names":["SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","indexOf","OpenchannelThumbnailMessage","_a","className","message","isOperator","disabled","userId","chainTop","onClick","showRemove","resendMessage","url","thumbnails","localUrl","status","sendingStatus","thumbnailUrl","length","_c","useLocalization","stringSet","dateLocale","_d","useContext","UserProfileContext","disableUserProfile","renderUserProfile","_e","useState","messageWidth","setMessageWidth","messageRef","useRef","contextMenuRef","avatarRef","memorizedThumbnailPlaceHolder","useMemo","style","React","Icon","IconColors","ON_BACKGROUND_2","isMessageSent","checkIsSent","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","thumbnailWidth","current","clientWidth","__spreadArray","Array","isArray","join","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","Label","LabelTypography","CAPTION_2","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_b","ImageRenderer","IconTypes","PLAY","PHOTO","Loader","SPINNER","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","isFineResend","MenuItem","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenchannelThumbnailMessage.js","sources":["../../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../../src/ui/OpenchannelThumbnailMessage/index.tsx"],"sourcesContent":["export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useContext,\n} from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface LocalUrl {\n localUrl?: string;\n}\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isOperator?: boolean;\n disabled: boolean;\n userId: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: FileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n className,\n message,\n isOperator,\n disabled,\n userId,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n thumbnails,\n localUrl,\n }: FileMessage & LocalUrl = message;\n const status = message?.sendingStatus;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [messageWidth, setMessageWidth] = useState(360);\n const messageRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const memorizedThumbnailPlaceHolder = useMemo(() => (type) => ({ style }) => ( // eslint-disable-line\n <div style={style}>\n <Icon\n type={type}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n ), []);\n\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n useEffect(() => {\n const thumbnailWidth = messageRef?.current?.clientWidth - 80;\n setMessageWidth(thumbnailWidth > 360 ? 360 : thumbnailWidth);\n }, []);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-thumbnail-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-thumbnail-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-thumbnail-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__title\">\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-thumbnail-message__right__body\">\n <div\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap\"\n role=\"button\"\n onClick={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__overlay\" />\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\" >\n {\n (thumbnailUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\"\n url={thumbnailUrl}\n width={messageWidth}\n height=\"270px\"\n alt=\"image\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PLAY)}\n />\n )\n : (\n <video className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__video\">\n <source src={url || localUrl} type={type} />\n </video>\n )\n }\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__icon\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image\"\n url={thumbnailUrl || url || localUrl}\n alt=\"image\"\n width={messageWidth}\n height=\"270px\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PHOTO)}\n />\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__unknown\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n ),\n }[getSupportingFileType(type)]\n }\n </div>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n <div\n className=\"sendbird-openchannel-thumbnail-message__context-menu\"\n ref={contextMenuRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message, userId, status }) && (\n <IconButton\n className=\"sendbird-openchannel-thumbnail-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n </div>\n );\n}\n"],"names":["SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","indexOf","OpenchannelThumbnailMessage","_a","className","message","isOperator","disabled","userId","chainTop","onClick","showRemove","resendMessage","url","thumbnails","localUrl","status","sendingStatus","thumbnailUrl","length","_c","useLocalization","stringSet","dateLocale","_d","useContext","UserProfileContext","disableUserProfile","renderUserProfile","_e","useState","messageWidth","setMessageWidth","messageRef","useRef","contextMenuRef","avatarRef","memorizedThumbnailPlaceHolder","useMemo","style","React","Icon","IconColors","ON_BACKGROUND_2","isMessageSent","checkIsSent","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","thumbnailWidth","current","clientWidth","__spreadArray","Array","isArray","join","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","Label","LabelTypography","CAPTION_2","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_b","ImageRenderer","IconTypes","PLAY","PHOTO","Loader","SPINNER","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","isFineResend","MenuItem","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":"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"}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-36205d81.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index = require('../index-
|
|
5
|
+
var index = require('../index-c1697faa.js');
|
|
6
6
|
var ui_Avatar = require('./Avatar.js');
|
|
7
7
|
var ui_ContextMenu = require('./ContextMenu.js');
|
|
8
8
|
var ui_Icon = require('./Icon.js');
|
|
9
9
|
var ui_IconButton = require('./IconButton.js');
|
|
10
|
-
var ui_Label = require('../index-
|
|
10
|
+
var ui_Label = require('../index-b9b8972b.js');
|
|
11
11
|
var ui_Loader = require('./Loader.js');
|
|
12
12
|
var ui_UserProfile = require('./UserProfile.js');
|
|
13
|
-
var UserProfileContext = require('../UserProfileContext-
|
|
14
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
15
|
-
var utils = require('../utils-
|
|
16
|
-
var uuid = require('../uuid-
|
|
17
|
-
var openChannelUtils = require('../openChannelUtils-
|
|
18
|
-
require('../index-
|
|
13
|
+
var UserProfileContext = require('../UserProfileContext-69c9649a.js');
|
|
14
|
+
var LocalizationContext = require('../LocalizationContext-b5fd4c38.js');
|
|
15
|
+
var utils = require('../utils-40fab371.js');
|
|
16
|
+
var uuid = require('../uuid-edc908ea.js');
|
|
17
|
+
var openChannelUtils = require('../openChannelUtils-cffba1c0.js');
|
|
18
|
+
require('../index-5166a415.js');
|
|
19
19
|
require('./ImageRenderer.js');
|
|
20
|
-
require('../_rollupPluginBabelHelpers-
|
|
20
|
+
require('../_rollupPluginBabelHelpers-f9e4bb55.js');
|
|
21
21
|
require('prop-types');
|
|
22
22
|
require('react-dom');
|
|
23
23
|
require('./SortByRow.js');
|
|
24
|
-
require('../index-
|
|
25
|
-
require('../stringSet-
|
|
24
|
+
require('../index-18b120dc.js');
|
|
25
|
+
require('../stringSet-be457fd7.js');
|
|
26
26
|
require('../withSendbird.js');
|
|
27
27
|
require('../sendbirdSelectors.js');
|
|
28
|
-
require('../topics-
|
|
29
|
-
require('../utils-
|
|
30
|
-
require('
|
|
28
|
+
require('../topics-58ec1c61.js');
|
|
29
|
+
require('../utils-09738454.js');
|
|
30
|
+
require('./Button.js');
|
|
31
31
|
|
|
32
32
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
33
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenchannelUserMessage.js","sources":["../../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word : <br />));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-user-message__right__bottom\">\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {MemoizedMessageText()}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_a","className","message","isOperator","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","_b","useLocalization","stringSet","dateLocale","_c","useContext","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","_d","useState","contextStyle","setContextStyle","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","map","word","React","updatedAt","push","Label","uuidv4","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_2","MESSAGE_EDITED","useEffect","current","clientHeight","top","window","innerWidth","__spreadArray","Array","isArray","join","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","CAPTION_2","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","ONBACKGROUND_1","Loader","Icon","IconTypes","SPINNER","IconColors","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","isFineCopy","MenuItem","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenchannelUserMessage.js","sources":["../../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word : <br />));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-user-message__right__bottom\">\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {MemoizedMessageText()}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_a","className","message","isOperator","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","_b","useLocalization","stringSet","dateLocale","_c","useContext","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","_d","useState","contextStyle","setContextStyle","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","map","word","React","updatedAt","push","Label","uuidv4","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_2","MESSAGE_EDITED","useEffect","current","clientHeight","top","window","innerWidth","__spreadArray","Array","isArray","join","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","CAPTION_2","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","ONBACKGROUND_1","Loader","Icon","IconTypes","SPINNER","IconColors","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","isFineCopy","MenuItem","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE"],"mappings":"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"}
|
package/cjs/ui/PlaceHolder.js
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../tslib.es6-
|
|
5
|
+
require('../tslib.es6-36205d81.js');
|
|
6
6
|
require('react');
|
|
7
|
-
var ui_PlaceHolder = require('../index-
|
|
8
|
-
require('../LocalizationContext-
|
|
7
|
+
var ui_PlaceHolder = require('../index-e9d96b00.js');
|
|
8
|
+
require('../LocalizationContext-b5fd4c38.js');
|
|
9
9
|
require('./Icon.js');
|
|
10
|
-
require('../index-
|
|
10
|
+
require('../index-b9b8972b.js');
|
|
11
11
|
require('./Loader.js');
|
|
12
|
-
require('../stringSet-
|
|
13
|
-
require('../index-
|
|
14
|
-
require('../_rollupPluginBabelHelpers-
|
|
12
|
+
require('../stringSet-be457fd7.js');
|
|
13
|
+
require('../index-5166a415.js');
|
|
14
|
+
require('../_rollupPluginBabelHelpers-f9e4bb55.js');
|
|
15
15
|
require('prop-types');
|
|
16
16
|
|
|
17
17
|
|
package/cjs/ui/QuoteMessage.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Icon = require('./Icon.js');
|
|
5
|
-
var ui_Label = require('../index-
|
|
5
|
+
var ui_Label = require('../index-b9b8972b.js');
|
|
6
6
|
var ui_ImageRenderer = require('./ImageRenderer.js');
|
|
7
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
8
|
-
var index = require('../index-
|
|
9
|
-
require('../_rollupPluginBabelHelpers-
|
|
7
|
+
var LocalizationContext = require('../LocalizationContext-b5fd4c38.js');
|
|
8
|
+
var index = require('../index-18b120dc.js');
|
|
9
|
+
require('../_rollupPluginBabelHelpers-f9e4bb55.js');
|
|
10
10
|
require('prop-types');
|
|
11
|
-
require('../stringSet-
|
|
12
|
-
require('../tslib.es6-
|
|
13
|
-
require('../index-
|
|
11
|
+
require('../stringSet-be457fd7.js');
|
|
12
|
+
require('../tslib.es6-36205d81.js');
|
|
13
|
+
require('../index-5166a415.js');
|
|
14
14
|
|
|
15
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteMessage.js","sources":["../../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n isFileMessage,\n isGif,\n isSupportedFileView,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n truncateString,\n} from '../../utils';\ninterface Props {\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n className?: string | Array<string>;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming'])}\n key={parentMessage?.messageId}\n onClick={() => { if (onClick) onClick() }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${currentMessageSenderNickname} ${stringSet.QUOTED_MESSAGE__REPLIED_TO} ${parentMessageSenderNickname}`}\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {/* text message */}\n {(isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(isFileMessage(parentMessage as FileMessage) && !isSupportedFileView((parentMessage as FileMessage).type) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_a","message","_g","userId","_h","isByMe","className","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","_j","useState","isThumbnailLoaded","setThumbnailLoaded","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","getClassName","messageId","Icon","IconTypes","REPLY","IconColors","ON_BACKGROUND_3","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_3","QUOTED_MESSAGE__REPLIED_TO","isUserMessage","length","BODY_2","ONBACKGROUND_1","isThumbnailMessage","ImageRenderer","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","thumbnails","GRAY","isGif","GIF","isFileMessage","isSupportedFileView","_b","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QuoteMessage.js","sources":["../../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n isFileMessage,\n isGif,\n isSupportedFileView,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n truncateString,\n} from '../../utils';\ninterface Props {\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n className?: string | Array<string>;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming'])}\n key={parentMessage?.messageId}\n onClick={() => { if (onClick) onClick() }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${currentMessageSenderNickname} ${stringSet.QUOTED_MESSAGE__REPLIED_TO} ${parentMessageSenderNickname}`}\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {/* text message */}\n {(isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(isFileMessage(parentMessage as FileMessage) && !isSupportedFileView((parentMessage as FileMessage).type) && parentMessageUrl) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_a","message","_g","userId","_h","isByMe","className","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","_j","useState","isThumbnailLoaded","setThumbnailLoaded","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","getClassName","messageId","Icon","IconTypes","REPLY","IconColors","ON_BACKGROUND_3","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_3","QUOTED_MESSAGE__REPLIED_TO","isUserMessage","length","BODY_2","ONBACKGROUND_1","isThumbnailMessage","ImageRenderer","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","thumbnails","GRAY","isGif","GIF","isFileMessage","isSupportedFileView","_b","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index = require('../index-
|
|
4
|
+
var index = require('../index-18b120dc.js');
|
|
5
5
|
var ui_Icon = require('./Icon.js');
|
|
6
|
-
var ui_Label = require('../index-
|
|
7
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
6
|
+
var ui_Label = require('../index-b9b8972b.js');
|
|
7
|
+
var LocalizationContext = require('../LocalizationContext-b5fd4c38.js');
|
|
8
8
|
var ui_ImageRenderer = require('./ImageRenderer.js');
|
|
9
|
-
require('../tslib.es6-
|
|
10
|
-
require('../_rollupPluginBabelHelpers-
|
|
9
|
+
require('../tslib.es6-36205d81.js');
|
|
10
|
+
require('../_rollupPluginBabelHelpers-f9e4bb55.js');
|
|
11
11
|
require('prop-types');
|
|
12
|
-
require('../stringSet-
|
|
13
|
-
require('../index-
|
|
12
|
+
require('../stringSet-be457fd7.js');
|
|
13
|
+
require('../index-5166a415.js');
|
|
14
14
|
|
|
15
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteMessageInput.js","sources":["../../../src/ui/QuoteMessageInput/QuoteMessageThumbnail.tsx","../../../src/ui/QuoteMessageInput/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport { isAudioMessage, isFileMessage, isImageMessage, isThumbnailMessage } from '../../utils';\n\ninterface Props {\n message: FileMessage;\n}\n\nconst componentClassname = 'sendbird-quote_message_input__avatar';\n\nexport default function QuoteMessageThumbnail({ message }: Props): ReactElement {\n if (!isFileMessage(message)) {\n return null;\n }\n\n const thumbnailUrl: string = (message.thumbnails && message.thumbnails.length > 0 && message.thumbnails[0].url)\n || (isImageMessage(message) && message.url);\n if (isThumbnailMessage(message) && thumbnailUrl) {\n return (\n <ImageRenderer\n className={componentClassname}\n url={thumbnailUrl}\n alt={message.type}\n width=\"44px\"\n height=\"44px\"\n fixedSize\n />\n );\n } else if (isAudioMessage(message)) {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_AUDIO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n } else {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_DOCUMENT}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n }\n}\n","import './index.scss';\n\nimport React, { ReactElement, useContext } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport {\n getClassName,\n isFileMessage,\n isGifMessage,\n isImageMessage,\n isThumbnailMessage,\n isUserMessage,\n isVideoMessage,\n} from '../../utils';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport QuoteMessageThumbnail from './QuoteMessageThumbnail';\n\ninterface Props {\n className?: string | Array<string>;\n replyingMessage: UserMessage | FileMessage;\n onClose?: (message: UserMessage | FileMessage) => void;\n}\n\nexport default function QuoteMessageInput({\n className,\n replyingMessage,\n onClose,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const fileMessage = replyingMessage as FileMessage;\n const sender = (replyingMessage as UserMessage | FileMessage)?.sender;\n\n return (\n <div className={getClassName(['sendbird-quote_message_input', className])}>\n <QuoteMessageThumbnail message={fileMessage} />\n <div\n className=\"sendbird-quote_message_input__body\"\n style={{\n width: `calc(100% - ${fileMessage?.isFileMessage() ? '164px' : '120px'})`,\n left: fileMessage?.isFileMessage() ? '92px' : '40px',\n }}\n >\n <Label\n className=\"sendbird-quote_message_input__body__sender-name\"\n type={LabelTypography.CAPTION_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {`${stringSet.QUOTE_MESSAGE_INPUT__REPLY_TO} ${(sender && sender.nickname) ? sender.nickname : stringSet.NO_NAME}`}\n </Label>\n <Label\n className=\"sendbird-quote_message_input__body__message-content\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {isImageMessage(fileMessage) && !isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE}\n {isVideoMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO}\n {isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF}\n {isUserMessage(replyingMessage as UserMessage) && (replyingMessage as UserMessage).message}\n {(isFileMessage(fileMessage) && !isThumbnailMessage(fileMessage)) && fileMessage.name}\n </Label>\n </div>\n <Icon\n className=\"sendbird-quote_message_input__close-button\"\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n onClick={() => onClose(replyingMessage)}\n />\n </div>\n );\n}\n"],"names":["componentClassname","QuoteMessageThumbnail","_a","message","isFileMessage","thumbnailUrl","thumbnails","length","url","isImageMessage","isThumbnailMessage","React","ImageRenderer","type","isAudioMessage","Icon","IconTypes","FILE_AUDIO","IconColors","ON_BACKGROUND_2","FILE_DOCUMENT","QuoteMessageInput","className","replyingMessage","onClose","stringSet","useContext","LocalizationContext","fileMessage","sender","getClassName","width","left","Label","LabelTypography","CAPTION_1","LabelColors","ONBACKGROUND_1","QUOTE_MESSAGE_INPUT__REPLY_TO","nickname","NO_NAME","BODY_2","ONBACKGROUND_3","isGifMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE","isVideoMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO","QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF","isUserMessage","name","CLOSE"],"mappings":";;;;;;;;;;;;;;;;;;AAWA,IAAMA,kBAAkB,GAAG,sCAA3B;SAEwBC,sBAAsBC;MAAEC,OAAO;;
|
|
1
|
+
{"version":3,"file":"QuoteMessageInput.js","sources":["../../../src/ui/QuoteMessageInput/QuoteMessageThumbnail.tsx","../../../src/ui/QuoteMessageInput/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport { isAudioMessage, isFileMessage, isImageMessage, isThumbnailMessage } from '../../utils';\n\ninterface Props {\n message: FileMessage;\n}\n\nconst componentClassname = 'sendbird-quote_message_input__avatar';\n\nexport default function QuoteMessageThumbnail({ message }: Props): ReactElement {\n if (!isFileMessage(message)) {\n return null;\n }\n\n const thumbnailUrl: string = (message.thumbnails && message.thumbnails.length > 0 && message.thumbnails[0].url)\n || (isImageMessage(message) && message.url);\n if (isThumbnailMessage(message) && thumbnailUrl) {\n return (\n <ImageRenderer\n className={componentClassname}\n url={thumbnailUrl}\n alt={message.type}\n width=\"44px\"\n height=\"44px\"\n fixedSize\n />\n );\n } else if (isAudioMessage(message)) {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_AUDIO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n } else {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_DOCUMENT}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n }\n}\n","import './index.scss';\n\nimport React, { ReactElement, useContext } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport {\n getClassName,\n isFileMessage,\n isGifMessage,\n isImageMessage,\n isThumbnailMessage,\n isUserMessage,\n isVideoMessage,\n} from '../../utils';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport QuoteMessageThumbnail from './QuoteMessageThumbnail';\n\ninterface Props {\n className?: string | Array<string>;\n replyingMessage: UserMessage | FileMessage;\n onClose?: (message: UserMessage | FileMessage) => void;\n}\n\nexport default function QuoteMessageInput({\n className,\n replyingMessage,\n onClose,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const fileMessage = replyingMessage as FileMessage;\n const sender = (replyingMessage as UserMessage | FileMessage)?.sender;\n\n return (\n <div className={getClassName(['sendbird-quote_message_input', className])}>\n <QuoteMessageThumbnail message={fileMessage} />\n <div\n className=\"sendbird-quote_message_input__body\"\n style={{\n width: `calc(100% - ${fileMessage?.isFileMessage() ? '164px' : '120px'})`,\n left: fileMessage?.isFileMessage() ? '92px' : '40px',\n }}\n >\n <Label\n className=\"sendbird-quote_message_input__body__sender-name\"\n type={LabelTypography.CAPTION_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {`${stringSet.QUOTE_MESSAGE_INPUT__REPLY_TO} ${(sender && sender.nickname) ? sender.nickname : stringSet.NO_NAME}`}\n </Label>\n <Label\n className=\"sendbird-quote_message_input__body__message-content\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {isImageMessage(fileMessage) && !isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE}\n {isVideoMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO}\n {isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF}\n {isUserMessage(replyingMessage as UserMessage) && (replyingMessage as UserMessage).message}\n {(isFileMessage(fileMessage) && !isThumbnailMessage(fileMessage)) && fileMessage.name}\n </Label>\n </div>\n <Icon\n className=\"sendbird-quote_message_input__close-button\"\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n onClick={() => onClose(replyingMessage)}\n />\n </div>\n );\n}\n"],"names":["componentClassname","QuoteMessageThumbnail","_a","message","isFileMessage","thumbnailUrl","thumbnails","length","url","isImageMessage","isThumbnailMessage","React","ImageRenderer","type","isAudioMessage","Icon","IconTypes","FILE_AUDIO","IconColors","ON_BACKGROUND_2","FILE_DOCUMENT","QuoteMessageInput","className","replyingMessage","onClose","stringSet","useContext","LocalizationContext","fileMessage","sender","getClassName","width","left","Label","LabelTypography","CAPTION_1","LabelColors","ONBACKGROUND_1","QUOTE_MESSAGE_INPUT__REPLY_TO","nickname","NO_NAME","BODY_2","ONBACKGROUND_3","isGifMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE","isVideoMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO","QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF","isUserMessage","name","CLOSE"],"mappings":"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"}
|
package/cjs/ui/ReactionBadge.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-36205d81.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var ui_Label = require('../index-
|
|
6
|
-
require('../_rollupPluginBabelHelpers-
|
|
5
|
+
var ui_Label = require('../index-b9b8972b.js');
|
|
6
|
+
require('../_rollupPluginBabelHelpers-f9e4bb55.js');
|
|
7
7
|
require('prop-types');
|
|
8
|
-
require('../stringSet-
|
|
8
|
+
require('../stringSet-be457fd7.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactionBadge.js","sources":["../../../src/ui/ReactionBadge/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface ReactionBadgeProps {\n className?: string | Array<string>;\n children: ReactElement;\n count?: number | string;\n isAdd?: boolean;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionBadge = React.forwardRef((props: ReactionBadgeProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className = '',\n children,\n count = '',\n isAdd = false,\n selected = false,\n onClick = () => {/* noop */},\n } = props;\n\n const getClassNameTail = (): string => {\n if (selected && !isAdd) {\n return '--selected';\n }\n if (isAdd) {\n return '--is-add';\n }\n return '';\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-badge${getClassNameTail()}`,\n ].join(' ')}\n role=\"button\"\n ref={ref}\n onClick={onClick}\n onKeyDown={onClick}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-badge__inner\">\n <div className=\"sendbird-reaction-badge__inner__icon\">\n {children}\n </div>\n <Label\n className={(children && count) && 'sendbird-reaction-badge__inner__count'}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_1}\n >\n {count}\n </Label>\n </div>\n </div>\n );\n});\n\nexport default ReactionBadge;\n"],"names":["ReactionBadge","React","forwardRef","props","ref","_a","className","children","_b","count","_c","isAdd","_d","selected","_e","onClick","getClassNameTail","__spreadArray","Array","isArray","join","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1"],"mappings":";;;;;;;;;;;;;IAcMA,aAAa,gBAAGC,yBAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA4BC,GAA5B;
|
|
1
|
+
{"version":3,"file":"ReactionBadge.js","sources":["../../../src/ui/ReactionBadge/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface ReactionBadgeProps {\n className?: string | Array<string>;\n children: ReactElement;\n count?: number | string;\n isAdd?: boolean;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionBadge = React.forwardRef((props: ReactionBadgeProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className = '',\n children,\n count = '',\n isAdd = false,\n selected = false,\n onClick = () => {/* noop */},\n } = props;\n\n const getClassNameTail = (): string => {\n if (selected && !isAdd) {\n return '--selected';\n }\n if (isAdd) {\n return '--is-add';\n }\n return '';\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-badge${getClassNameTail()}`,\n ].join(' ')}\n role=\"button\"\n ref={ref}\n onClick={onClick}\n onKeyDown={onClick}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-badge__inner\">\n <div className=\"sendbird-reaction-badge__inner__icon\">\n {children}\n </div>\n <Label\n className={(children && count) && 'sendbird-reaction-badge__inner__count'}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_1}\n >\n {count}\n </Label>\n </div>\n </div>\n );\n});\n\nexport default ReactionBadge;\n"],"names":["ReactionBadge","React","forwardRef","props","ref","_a","className","children","_b","count","_c","isAdd","_d","selected","_e","onClick","getClassNameTail","__spreadArray","Array","isArray","join","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1"],"mappings":";;;;;;;;;;;;;IAcMA,aAAa,gBAAGC,yBAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA4BC,GAA5B;EAEnC,IAAAC,KAMEF,KAAK,UANP;MAAAG,SAAS,mBAAG,OAAZ;MACAC,QAAQ,GAKNJ,KAAK,SANP;MAEAK,KAIEL,KAAK,MANP;MAEAM,KAAK,mBAAG,OAFR;MAGAC,KAGEP,KAAK,MANP;MAGAQ,KAAK,mBAAG,UAHR;MAIAC,KAEET,KAAK,SANP;MAIAU,QAAQ,mBAAG,UAJX;MAKAC,KACEX,KAAK,QANP;MAKAY,OAAO,mBAAG,mBALV;;EAQF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;IACvB,IAAIH,QAAQ,IAAI,CAACF,KAAjB,EAAwB;MACtB,OAAO,YAAP;;;IAEF,IAAIA,KAAJ,EAAW;MACT,OAAO,UAAP;;;IAEF,OAAO,EAAP;GAPF;;EAUA,oBACEV;IACE,SAAS,EAAEgB,oDACLC,KAAK,CAACC,OAAN,CAAcb,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,gCAAA,CAA0BU,gBAAgB,EAA1C,UAFS,CAGTI,IAHS,CAGJ,GAHI,CADb;IAKE,IAAI,EAAC,QALP;IAME,GAAG,EAAEhB,GANP;IAOE,OAAO,EAAEW,OAPX;IAQE,SAAS,EAAEA,OARb;IASE,QAAQ,EAAE;kBAEVd;IAAK,SAAS,EAAC;kBACbA;IAAK,SAAS,EAAC;KACZM,QADH,CADF,eAIEN,wCAACoB,cAAD;IACE,SAAS,EAAGd,QAAQ,IAAIE,KAAb,IAAuB,uCADpC;IAEE,IAAI,EAAEa,wBAAe,CAACC,SAFxB;IAGE,KAAK,EAAEC,oBAAW,CAACC;KAElBhB,KALH,CAJF,CAXF,CADF;AA0BD,CA9CqB;;;;"}
|
package/cjs/ui/ReactionButton.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-36205d81.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactionButton.js","sources":["../../../src/ui/ReactionButton/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nexport interface ReactionButtonProps {\n children: ReactElement;\n className?: string | Array<string>;\n width?: string | number;\n height?: string | number;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionButton = React.forwardRef((props: ReactionButtonProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className,\n width,\n height,\n selected,\n onClick,\n children,\n } = props;\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-button${selected ? '--selected' : ''}`,\n ].join(' ')}\n ref={ref}\n role=\"button\"\n style={{ width, height }}\n onClick={(e) => onClick(e)}\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-button__inner\">\n {children}\n </div>\n </div>\n );\n});\n\nexport default ReactionButton;\n"],"names":["ReactionButton","React","forwardRef","props","ref","className","width","height","selected","onClick","children","__spreadArray","Array","isArray","join","e"],"mappings":";;;;;;;;;IAYMA,cAAc,gBAAGC,yBAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA6BC,GAA7B;
|
|
1
|
+
{"version":3,"file":"ReactionButton.js","sources":["../../../src/ui/ReactionButton/index.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent, ReactElement, RefObject } from 'react';\n\nimport './index.scss';\n\nexport interface ReactionButtonProps {\n children: ReactElement;\n className?: string | Array<string>;\n width?: string | number;\n height?: string | number;\n selected?: boolean;\n onClick?: (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n}\nconst ReactionButton = React.forwardRef((props: ReactionButtonProps, ref: RefObject<HTMLDivElement>): ReactElement => {\n const {\n className,\n width,\n height,\n selected,\n onClick,\n children,\n } = props;\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n `sendbird-reaction-button${selected ? '--selected' : ''}`,\n ].join(' ')}\n ref={ref}\n role=\"button\"\n style={{ width, height }}\n onClick={(e) => onClick(e)}\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n <div className=\"sendbird-reaction-button__inner\">\n {children}\n </div>\n </div>\n );\n});\n\nexport default ReactionButton;\n"],"names":["ReactionButton","React","forwardRef","props","ref","className","width","height","selected","onClick","children","__spreadArray","Array","isArray","join","e"],"mappings":";;;;;;;;;IAYMA,cAAc,gBAAGC,yBAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAA6BC,GAA7B;EAEpC,IAAAC,SAAS,GAMPF,KAAK,UANP;MACAG,KAAK,GAKHH,KAAK,MANP;MAEAI,MAAM,GAIJJ,KAAK,OANP;MAGAK,QAAQ,GAGNL,KAAK,SANP;MAIAM,QAAO,GAELN,KAAK,QANP;MAKAO,QAAQ,GACNP,KAAK,SANP;EAQF,oBACEF;IACE,SAAS,EAAEU,oDACLC,KAAK,CAACC,OAAN,CAAcR,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,iCAAA,CAA2BG,QAAQ,GAAG,YAAH,GAAkB,EAArD,UAFS,CAGTM,IAHS,CAGJ,GAHI,CADb;IAKE,GAAG,EAAEV,GALP;IAME,IAAI,EAAC,QANP;IAOE,KAAK,EAAE;MAAEE,KAAK,OAAP;MAASC,MAAM;KAPxB;IAQE,OAAO,EAAE,iBAACQ,CAAD;MAAO,OAAAN,QAAO,CAACM,CAAD,CAAP;KARlB;IASE,SAAS,EAAE,mBAACA,CAAD;MAAO,OAAAN,QAAO,CAACM,CAAD,CAAP;KATpB;IAUE,QAAQ,EAAE;kBAEVd;IAAK,SAAS,EAAC;KACZS,QADH,CAZF,CADF;AAkBD,CA5BsB;;;;"}
|
package/cjs/ui/SortByRow.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-36205d81.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var uuid = require('../uuid-
|
|
5
|
+
var uuid = require('../uuid-edc908ea.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
package/cjs/ui/SortByRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortByRow.js","sources":["../../../src/ui/SortByRow/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport uuidv4 from '../../utils/uuid';\n\nimport './index.scss';\n\nconst componentClassName = 'sendbird-sort-by-row';\n\nexport interface SortByRowProps {\n className?: string | Array<string>;\n maxItemCount: number;\n itemWidth: number;\n itemHeight: number;\n children: ReactElement | Array<ReactElement>;\n}\nexport default function SortByRow({\n className = '',\n maxItemCount,\n itemWidth,\n itemHeight,\n children,\n}: SortByRowProps): ReactElement {\n if (Array.isArray(children) && children.length > maxItemCount) {\n const result = [];\n\n for (let i = 0; i < children.length; i += maxItemCount) {\n result.push(\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n key={uuidv4()}\n style={{\n width: itemWidth * maxItemCount,\n height: itemHeight,\n }}\n >\n {\n children.slice(i, i + maxItemCount)\n }\n </div>,\n );\n }\n return <>{result}</>;\n }\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n style={{\n width: itemWidth * (Array.isArray(children) ? children.length : 1),\n height: itemHeight,\n }}\n >\n {children}\n </div>\n );\n}\n"],"names":["componentClassName","SortByRow","_a","_b","className","maxItemCount","itemWidth","itemHeight","children","Array","isArray","length","result","i","push","React","__spreadArray","join","uuidv4","width","height","slice"],"mappings":";;;;;;;;;;AAKA,IAAMA,kBAAkB,GAAG,sBAA3B;SASwBC,UAAUC;MAChCC;MAAAC,SAAS,mBAAG;MACZC,YAAY;MACZC,SAAS;MACTC,UAAU;MACVC,QAAQ;;
|
|
1
|
+
{"version":3,"file":"SortByRow.js","sources":["../../../src/ui/SortByRow/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport uuidv4 from '../../utils/uuid';\n\nimport './index.scss';\n\nconst componentClassName = 'sendbird-sort-by-row';\n\nexport interface SortByRowProps {\n className?: string | Array<string>;\n maxItemCount: number;\n itemWidth: number;\n itemHeight: number;\n children: ReactElement | Array<ReactElement>;\n}\nexport default function SortByRow({\n className = '',\n maxItemCount,\n itemWidth,\n itemHeight,\n children,\n}: SortByRowProps): ReactElement {\n if (Array.isArray(children) && children.length > maxItemCount) {\n const result = [];\n\n for (let i = 0; i < children.length; i += maxItemCount) {\n result.push(\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n key={uuidv4()}\n style={{\n width: itemWidth * maxItemCount,\n height: itemHeight,\n }}\n >\n {\n children.slice(i, i + maxItemCount)\n }\n </div>,\n );\n }\n return <>{result}</>;\n }\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n style={{\n width: itemWidth * (Array.isArray(children) ? children.length : 1),\n height: itemHeight,\n }}\n >\n {children}\n </div>\n );\n}\n"],"names":["componentClassName","SortByRow","_a","_b","className","maxItemCount","itemWidth","itemHeight","children","Array","isArray","length","result","i","push","React","__spreadArray","join","uuidv4","width","height","slice"],"mappings":";;;;;;;;;;AAKA,IAAMA,kBAAkB,GAAG,sBAA3B;SASwBC,UAAUC;MAChCC;MAAAC,SAAS,mBAAG;MACZC,YAAY;MACZC,SAAS;MACTC,UAAU;MACVC,QAAQ;;EAER,IAAIC,KAAK,CAACC,OAAN,CAAcF,QAAd,KAA2BA,QAAQ,CAACG,MAAT,GAAkBN,YAAjD,EAA+D;IAC7D,IAAMO,MAAM,GAAG,EAAf;;IAEA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAAQ,CAACG,MAA7B,EAAqCE,CAAC,IAAIR,YAA1C,EAAwD;MACtDO,MAAM,CAACE,IAAP,eACEC;QACE,SAAS,EAAEC,oDACLP,KAAK,CAACC,OAAN,CAAcN,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3CJ,2BAFS,CAGTiB,IAHS,CAGJ,GAHI,CADb;QAKE,GAAG,EAAEC,WAAM,EALb;QAME,KAAK,EAAE;UACLC,KAAK,EAAEb,SAAS,GAAGD,YADd;UAELe,MAAM,EAAEb;;SAIRC,QAAQ,CAACa,KAAT,CAAeR,CAAf,EAAkBA,CAAC,GAAGR,YAAtB,CAZJ,CADF;;;IAkBF,oBAAOU,kFAAGH,MAAH,CAAP;;;EAGF,oBACEG;IACE,SAAS,EAAEC,oDACLP,KAAK,CAACC,OAAN,CAAcN,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3CJ,2BAFS,CAGTiB,IAHS,CAGJ,GAHI,CADb;IAKE,KAAK,EAAE;MACLE,KAAK,EAAEb,SAAS,IAAIG,KAAK,CAACC,OAAN,CAAcF,QAAd,IAA0BA,QAAQ,CAACG,MAAnC,GAA4C,CAAhD,CADX;MAELS,MAAM,EAAEb;;KAGTC,QAVH,CADF;AAcD;;;;"}
|
package/cjs/ui/TextButton.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-36205d81.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var color = require('../color-
|
|
5
|
+
var color = require('../color-9e293baf.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
package/cjs/ui/TextButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextButton.js","sources":["../../../src/ui/TextButton/index.tsx"],"sourcesContent":["import React, { MouseEvent, KeyboardEvent, ReactElement } from 'react';\n\nimport './index.scss';\n\nimport {\n Colors,\n changeColorToClassName,\n} from '../../utils/color';\n\nexport interface TextButtonProps {\n className?: string | Array<string>;\n color?: Colors;\n disabled?: boolean;\n disableUnderline?: boolean;\n onClick?: (e: (MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>)) => void;\n children: ReactElement;\n}\n\nconst TextButton = ({\n className = '',\n color = Colors.ONBACKGROUND_1,\n disabled = false,\n disableUnderline = false,\n onClick = () => {/* noop */},\n children,\n}: TextButtonProps): ReactElement => {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n changeColorToClassName(color),\n disableUnderline ? 'sendbird-textbutton--not-underline' : 'sendbird-textbutton',\n disabled ? 'sendbird-textbutton--disabled' : '',\n ].join(' ')}\n role=\"button\"\n tabIndex={0}\n onClick={(e) => onClick(e)}\n onKeyPress={(e) => onClick(e)}\n >\n {children}\n </div>\n );\n};\n\nexport default TextButton;\n"],"names":["TextButton","_a","_b","className","_c","color","Colors","ONBACKGROUND_1","_d","disabled","_e","disableUnderline","_f","onClick","children","React","__spreadArray","Array","isArray","changeColorToClassName","join","e"],"mappings":";;;;;;;;;;IAkBMA,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD;MACjBC;MAAAC,SAAS,mBAAG;MACZC;MAAAC,OAAK,mBAAGC,YAAM,CAACC;MACfC;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,gBAAgB,mBAAG;MACnBC;MAAAC,QAAO,mBAAG;MACVC,QAAQ;;
|
|
1
|
+
{"version":3,"file":"TextButton.js","sources":["../../../src/ui/TextButton/index.tsx"],"sourcesContent":["import React, { MouseEvent, KeyboardEvent, ReactElement } from 'react';\n\nimport './index.scss';\n\nimport {\n Colors,\n changeColorToClassName,\n} from '../../utils/color';\n\nexport interface TextButtonProps {\n className?: string | Array<string>;\n color?: Colors;\n disabled?: boolean;\n disableUnderline?: boolean;\n onClick?: (e: (MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>)) => void;\n children: ReactElement;\n}\n\nconst TextButton = ({\n className = '',\n color = Colors.ONBACKGROUND_1,\n disabled = false,\n disableUnderline = false,\n onClick = () => {/* noop */},\n children,\n}: TextButtonProps): ReactElement => {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n changeColorToClassName(color),\n disableUnderline ? 'sendbird-textbutton--not-underline' : 'sendbird-textbutton',\n disabled ? 'sendbird-textbutton--disabled' : '',\n ].join(' ')}\n role=\"button\"\n tabIndex={0}\n onClick={(e) => onClick(e)}\n onKeyPress={(e) => onClick(e)}\n >\n {children}\n </div>\n );\n};\n\nexport default TextButton;\n"],"names":["TextButton","_a","_b","className","_c","color","Colors","ONBACKGROUND_1","_d","disabled","_e","disableUnderline","_f","onClick","children","React","__spreadArray","Array","isArray","changeColorToClassName","join","e"],"mappings":";;;;;;;;;;IAkBMA,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD;MACjBC;MAAAC,SAAS,mBAAG;MACZC;MAAAC,OAAK,mBAAGC,YAAM,CAACC;MACfC;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,gBAAgB,mBAAG;MACnBC;MAAAC,QAAO,mBAAG;MACVC,QAAQ;;EAER,oBACEC;IACE,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAcf,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3CgB,4BAAsB,CAACd,OAAD,GACtBM,gBAAgB,GAAG,oCAAH,GAA0C,uBAC1DF,QAAQ,GAAG,+BAAH,GAAqC,WAJpC,CAKTW,IALS,CAKJ,GALI,CADb;IAOE,IAAI,EAAC,QAPP;IAQE,QAAQ,EAAE,CARZ;IASE,OAAO,EAAE,iBAACC,CAAD;MAAO,OAAAR,QAAO,CAACQ,CAAD,CAAP;KATlB;IAUE,UAAU,EAAE,oBAACA,CAAD;MAAO,OAAAR,QAAO,CAACQ,CAAD,CAAP;;KAElBP,QAZH,CADF;AAgBD;;;;"}
|