@sendbird/uikit-react 3.3.5 → 3.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +35 -34
- package/App.js.map +1 -1
- package/CHANGELOG.md +76 -0
- package/Channel/components/ChannelHeader.js +18 -18
- package/Channel/components/ChannelUI.js +28 -27
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +25 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +16 -16
- package/Channel/components/MessageList.js +26 -25
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -16
- package/Channel/components/SuggestedMentionList.js +16 -16
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -13
- package/Channel.js +28 -27
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -28
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +25 -24
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +29 -28
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-18fd6872.js → ChannelListProvider-f461d265.js} +8 -8
- package/{ChannelListProvider-18fd6872.js.map → ChannelListProvider-f461d265.js.map} +1 -1
- package/{ChannelProvider-e50a1789.js → ChannelProvider-554e7116.js} +9 -9
- package/{ChannelProvider-e50a1789.js.map → ChannelProvider-554e7116.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-6f5eec3d.js → CreateChannelProvider-250cd98e.js} +1 -1
- package/{CreateChannelProvider-6f5eec3d.js.map → CreateChannelProvider-250cd98e.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-299b1d45.js → LocalizationContext-4df0cc32.js} +3 -3
- package/{LocalizationContext-299b1d45.js.map → LocalizationContext-4df0cc32.js.map} +1 -1
- package/{MediaQueryContext-84b087e0.js → MediaQueryContext-74183e34.js} +1 -1
- package/{MediaQueryContext-84b087e0.js.map → MediaQueryContext-74183e34.js.map} +1 -1
- package/{MemberList-5f71656b.js → MemberList-51c7afaa.js} +5 -5
- package/{MemberList-5f71656b.js.map → MemberList-51c7afaa.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +12 -11
- package/MessageSearch.js.map +1 -1
- package/NotificationChannel/components/NotificationChannelUI.js +119 -0
- package/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
- package/NotificationChannel/components/NotificationList.js +111 -0
- package/NotificationChannel/components/NotificationList.js.map +1 -0
- package/NotificationChannel/components/NotificationMessageWrap.js +136 -0
- package/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
- package/NotificationChannel/context.js +12 -0
- package/NotificationChannel/context.js.map +1 -0
- package/NotificationChannel.js +58 -0
- package/NotificationChannel.js.map +1 -0
- package/NotificationChannelProvider-0d8be1ad.js +535 -0
- package/NotificationChannelProvider-0d8be1ad.js.map +1 -0
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +15 -15
- package/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-a70a09f8.js → OpenChannelListProvider-8c753945.js} +3 -3
- package/{OpenChannelListProvider-a70a09f8.js.map → OpenChannelListProvider-8c753945.js.map} +1 -1
- package/{OpenChannelProvider-a0d666c6.js → OpenChannelProvider-2fa01820.js} +7 -7
- package/{OpenChannelProvider-a0d666c6.js.map → OpenChannelProvider-2fa01820.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/{RemoveMessageModal-2f571cc3.js → RemoveMessageModal-9762fed1.js} +3 -3
- package/{RemoveMessageModal-2f571cc3.js.map → RemoveMessageModal-9762fed1.js.map} +1 -1
- package/SendbirdProvider.js +10 -10
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +21 -21
- package/Thread/components/ParentMessageInfoItem.js +14 -14
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +25 -24
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +25 -24
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +16 -16
- package/Thread/components/ThreadUI.js +27 -26
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +27 -26
- package/Thread.js.map +1 -1
- package/{ThreadProvider-b6a76698.js → ThreadProvider-6974fb3e.js} +6 -6
- package/{ThreadProvider-b6a76698.js.map → ThreadProvider-6974fb3e.js.map} +1 -1
- package/{UserProfileContext-53d89b5e.js → UserProfileContext-c58a7b86.js} +1 -1
- package/{UserProfileContext-53d89b5e.js.map → UserProfileContext-c58a7b86.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-d746227b.js → _rollupPluginBabelHelpers-498add61.js} +1 -1
- package/_rollupPluginBabelHelpers-498add61.js.map +1 -0
- package/{actionTypes-77c96dff.js → actionTypes-ad2cbd73.js} +1 -1
- package/{actionTypes-77c96dff.js.map → actionTypes-ad2cbd73.js.map} +1 -1
- package/cjs/App.js +35 -34
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +18 -18
- package/cjs/Channel/components/ChannelUI.js +28 -27
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +25 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +16 -16
- package/cjs/Channel/components/MessageList.js +26 -25
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -16
- package/cjs/Channel/components/SuggestedMentionList.js +16 -16
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +13 -13
- package/cjs/Channel.js +28 -27
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -28
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +25 -24
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +29 -28
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-f2606052.js → ChannelListProvider-c2148b43.js} +8 -8
- package/cjs/{ChannelListProvider-f2606052.js.map → ChannelListProvider-c2148b43.js.map} +1 -1
- package/cjs/{ChannelProvider-beea5a02.js → ChannelProvider-cf5dc7e3.js} +9 -9
- package/cjs/{ChannelProvider-beea5a02.js.map → ChannelProvider-cf5dc7e3.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-c123ffbb.js → CreateChannelProvider-c98de398.js} +1 -1
- package/cjs/{CreateChannelProvider-c123ffbb.js.map → CreateChannelProvider-c98de398.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-caedb682.js → LocalizationContext-2b3f310d.js} +3 -3
- package/cjs/{LocalizationContext-caedb682.js.map → LocalizationContext-2b3f310d.js.map} +1 -1
- package/cjs/{MediaQueryContext-cdba25c1.js → MediaQueryContext-71862be1.js} +1 -1
- package/cjs/{MediaQueryContext-cdba25c1.js.map → MediaQueryContext-71862be1.js.map} +1 -1
- package/cjs/{MemberList-45fcb966.js → MemberList-13566703.js} +5 -5
- package/cjs/{MemberList-45fcb966.js.map → MemberList-13566703.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +12 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/NotificationChannel/components/NotificationChannelUI.js +125 -0
- package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +1 -0
- package/cjs/NotificationChannel/components/NotificationList.js +117 -0
- package/cjs/NotificationChannel/components/NotificationList.js.map +1 -0
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js +142 -0
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +1 -0
- package/cjs/NotificationChannel/context.js +21 -0
- package/cjs/NotificationChannel/context.js.map +1 -0
- package/cjs/NotificationChannel.js +64 -0
- package/cjs/NotificationChannel.js.map +1 -0
- package/cjs/NotificationChannelProvider-8f3b7320.js +543 -0
- package/cjs/NotificationChannelProvider-8f3b7320.js.map +1 -0
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-133cc0e6.js → OpenChannelListProvider-64043b4f.js} +3 -3
- package/cjs/{OpenChannelListProvider-133cc0e6.js.map → OpenChannelListProvider-64043b4f.js.map} +1 -1
- package/cjs/{OpenChannelProvider-ee813f9e.js → OpenChannelProvider-5b56e629.js} +7 -7
- package/cjs/{OpenChannelProvider-ee813f9e.js.map → OpenChannelProvider-5b56e629.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-497e1a76.js → RemoveMessageModal-c01eb93b.js} +3 -3
- package/cjs/{RemoveMessageModal-497e1a76.js.map → RemoveMessageModal-c01eb93b.js.map} +1 -1
- package/cjs/SendbirdProvider.js +10 -10
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +21 -21
- package/cjs/Thread/components/ParentMessageInfoItem.js +14 -14
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +25 -24
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +25 -24
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +16 -16
- package/cjs/Thread/components/ThreadUI.js +27 -26
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +27 -26
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-8b5092ee.js → ThreadProvider-d3c0c877.js} +6 -6
- package/cjs/{ThreadProvider-8b5092ee.js.map → ThreadProvider-d3c0c877.js.map} +1 -1
- package/cjs/{UserProfileContext-80409a4d.js → UserProfileContext-9d60cdc4.js} +1 -1
- package/cjs/{UserProfileContext-80409a4d.js.map → UserProfileContext-9d60cdc4.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-41d3db2d.js → _rollupPluginBabelHelpers-a7254c9d.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-a7254c9d.js.map +1 -0
- package/cjs/{actionTypes-697b5dfb.js → actionTypes-0e8bea91.js} +1 -1
- package/cjs/{actionTypes-697b5dfb.js.map → actionTypes-0e8bea91.js.map} +1 -1
- package/cjs/{color-d7217651.js → color-89f33656.js} +1 -1
- package/cjs/{color-d7217651.js.map → color-89f33656.js.map} +1 -1
- package/cjs/{compareIds-caa9f926.js → compareIds-ca869c2e.js} +1 -1
- package/cjs/{compareIds-caa9f926.js.map → compareIds-ca869c2e.js.map} +1 -1
- package/cjs/{const-4235b5b5.js → const-55d167ca.js} +1 -1
- package/cjs/{const-4235b5b5.js.map → const-55d167ca.js.map} +1 -1
- package/cjs/{const-4ba60f84.js → const-db71e993.js} +1 -1
- package/cjs/{const-4ba60f84.js.map → const-db71e993.js.map} +1 -1
- package/cjs/{context-867cb427.js → context-2f5d47fd.js} +2 -2
- package/cjs/{context-867cb427.js.map → context-2f5d47fd.js.map} +1 -1
- package/cjs/dist/index.css +248 -81
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-50984f15.js → index-0988ab25.js} +3 -57
- package/cjs/index-0988ab25.js.map +1 -0
- package/cjs/{index-476f089f.js → index-21b2339d.js} +2 -2
- package/cjs/index-21b2339d.js.map +1 -0
- package/cjs/{index-ceb058fa.js → index-2c5dd48c.js} +2 -2
- package/cjs/{index-ceb058fa.js.map → index-2c5dd48c.js.map} +1 -1
- package/cjs/{index-230cddde.js → index-5c81f847.js} +2 -2
- package/cjs/{index-230cddde.js.map → index-5c81f847.js.map} +1 -1
- package/cjs/{index-c6abe71b.js → index-621e74bd.js} +13 -6
- package/cjs/index-621e74bd.js.map +1 -0
- package/cjs/{index-942c3f15.js → index-73467e1d.js} +2 -2
- package/cjs/{index-942c3f15.js.map → index-73467e1d.js.map} +1 -1
- package/cjs/index-8de59744.js +59 -0
- package/cjs/index-8de59744.js.map +1 -0
- package/cjs/{index-29e1117f.js → index-a52859ed.js} +7 -7
- package/cjs/{index-29e1117f.js.map → index-a52859ed.js.map} +1 -1
- package/cjs/{index-f0df9942.js → index-be9c6237.js} +5 -5
- package/cjs/{index-f0df9942.js.map → index-be9c6237.js.map} +1 -1
- package/cjs/{index-d47bc642.js → index-c4d4ef49.js} +1 -1
- package/cjs/{index-d47bc642.js.map → index-c4d4ef49.js.map} +1 -1
- package/cjs/{index-06816ee5.js → index-d6ef2a60.js} +2 -2
- package/cjs/{index-06816ee5.js.map → index-d6ef2a60.js.map} +1 -1
- package/cjs/{index-e01cd4a9.js → index-de151767.js} +1 -1
- package/cjs/{index-e01cd4a9.js.map → index-de151767.js.map} +1 -1
- package/cjs/{index-bec34de9.js → index-e240e852.js} +11 -10
- package/cjs/{index-bec34de9.js.map → index-e240e852.js.map} +1 -1
- package/cjs/index.js +39 -38
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-af541fde.js → stringSet-91b919f6.js} +5 -1
- package/cjs/stringSet-91b919f6.js.map +1 -0
- package/cjs/{topics-33f5f434.js → topics-ac9cf7ed.js} +1 -1
- package/cjs/{topics-33f5f434.js.map → topics-ac9cf7ed.js.map} +1 -1
- package/cjs/{tslib.es6-f1d22d7f.js → tslib.es6-43854eb1.js} +14 -1
- package/cjs/{tslib.es6-f1d22d7f.js.map → tslib.es6-43854eb1.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MessageContent.js +21 -20
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +9 -9
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +11 -10
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +11 -10
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +11 -10
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +9 -8
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-72c5c822.js → useLongPress-c7bf12b1.js} +3 -3
- package/cjs/{useLongPress-72c5c822.js.map → useLongPress-c7bf12b1.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-33e5dfc7.js → utils-1f6c6626.js} +1 -1
- package/cjs/{utils-33e5dfc7.js.map → utils-1f6c6626.js.map} +1 -1
- package/cjs/{utils-d652183b.js → utils-3714e90e.js} +1 -1
- package/cjs/{utils-d652183b.js.map → utils-3714e90e.js.map} +1 -1
- package/cjs/{utils-68a6f93a.js → utils-4b529d96.js} +1 -1
- package/cjs/{utils-68a6f93a.js.map → utils-4b529d96.js.map} +1 -1
- package/cjs/{utils-b01aea7a.js → utils-65a380e8.js} +2 -2
- package/cjs/{utils-b01aea7a.js.map → utils-65a380e8.js.map} +1 -1
- package/cjs/{uuid-2c11c530.js → uuid-11d4efe8.js} +1 -1
- package/cjs/{uuid-2c11c530.js.map → uuid-11d4efe8.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-a6ad5b2f.js → color-ff5f9069.js} +1 -1
- package/{color-a6ad5b2f.js.map → color-ff5f9069.js.map} +1 -1
- package/{compareIds-4e3d3f6c.js → compareIds-9430f9d8.js} +1 -1
- package/{compareIds-4e3d3f6c.js.map → compareIds-9430f9d8.js.map} +1 -1
- package/{const-c982283f.js → const-83764204.js} +1 -1
- package/{const-c982283f.js.map → const-83764204.js.map} +1 -1
- package/{const-40f65aaf.js → const-9d11f204.js} +1 -1
- package/{const-40f65aaf.js.map → const-9d11f204.js.map} +1 -1
- package/{context-fa809401.js → context-9a69e846.js} +2 -2
- package/{context-fa809401.js.map → context-9a69e846.js.map} +1 -1
- package/dist/index.css +248 -81
- package/dist/index.css.map +1 -1
- package/{index-14786153.js → index-07e060cd.js} +1 -1
- package/{index-14786153.js.map → index-07e060cd.js.map} +1 -1
- package/{index-924f6629.js → index-134314e2.js} +13 -6
- package/index-134314e2.js.map +1 -0
- package/index-1572c90f.js +57 -0
- package/index-1572c90f.js.map +1 -0
- package/{index-098867a9.js → index-1b91b116.js} +8 -7
- package/{index-098867a9.js.map → index-1b91b116.js.map} +1 -1
- package/{index-a8115de7.js → index-3f26a31c.js} +2 -2
- package/{index-a8115de7.js.map → index-3f26a31c.js.map} +1 -1
- package/{index-256d00f1.js → index-44470dab.js} +2 -2
- package/{index-256d00f1.js.map → index-44470dab.js.map} +1 -1
- package/{index-b16ab63e.js → index-5f08f486.js} +2 -2
- package/index-5f08f486.js.map +1 -0
- package/{index-58485e08.js → index-d3f6dbb9.js} +2 -2
- package/{index-58485e08.js.map → index-d3f6dbb9.js.map} +1 -1
- package/{index-4da1ff3b.js → index-d8e3ccee.js} +2 -2
- package/{index-4da1ff3b.js.map → index-d8e3ccee.js.map} +1 -1
- package/{index-856dc0bd.js → index-defabece.js} +4 -57
- package/index-defabece.js.map +1 -0
- package/{index-f0cb5427.js → index-e5b78039.js} +1 -1
- package/{index-f0cb5427.js.map → index-e5b78039.js.map} +1 -1
- package/{index-b714065b.js → index-ed65ee3b.js} +7 -7
- package/{index-b714065b.js.map → index-ed65ee3b.js.map} +1 -1
- package/{index-eff254f0.js → index-fc4702b7.js} +5 -5
- package/{index-eff254f0.js.map → index-fc4702b7.js.map} +1 -1
- package/index.d.ts +109 -1
- package/index.js +39 -38
- package/index.js.map +1 -1
- package/package.json +4 -2
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-8039f73a.js → stringSet-d555d877.js} +5 -1
- package/stringSet-d555d877.js.map +1 -0
- package/{topics-948f8346.js → topics-351ea731.js} +1 -1
- package/{topics-948f8346.js.map → topics-351ea731.js.map} +1 -1
- package/{tslib.es6-ea477498.js → tslib.es6-bcead7e6.js} +14 -2
- package/{tslib.es6-ea477498.js.map → tslib.es6-bcead7e6.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MessageContent.js +21 -20
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +9 -9
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -9
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +10 -9
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +11 -10
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +9 -8
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/Word.js +11 -11
- package/{useLongPress-2fbbada1.js → useLongPress-794838b8.js} +3 -3
- package/{useLongPress-2fbbada1.js.map → useLongPress-794838b8.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/{utils-9b75cf2c.js → utils-00ac1a7d.js} +1 -1
- package/{utils-9b75cf2c.js.map → utils-00ac1a7d.js.map} +1 -1
- package/{utils-119c0f8a.js → utils-01e76a0c.js} +2 -2
- package/{utils-119c0f8a.js.map → utils-01e76a0c.js.map} +1 -1
- package/{utils-51dfc7e7.js → utils-8b11ff42.js} +1 -1
- package/{utils-51dfc7e7.js.map → utils-8b11ff42.js.map} +1 -1
- package/{utils-437f34f2.js → utils-e720e03a.js} +1 -1
- package/{utils-437f34f2.js.map → utils-e720e03a.js.map} +1 -1
- package/{uuid-2d756af4.js → uuid-286ed926.js} +1 -1
- package/{uuid-2d756af4.js.map → uuid-286ed926.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-d746227b.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-41d3db2d.js.map +0 -1
- package/cjs/index-476f089f.js.map +0 -1
- package/cjs/index-50984f15.js.map +0 -1
- package/cjs/index-c6abe71b.js.map +0 -1
- package/cjs/stringSet-af541fde.js.map +0 -1
- package/index-856dc0bd.js.map +0 -1
- package/index-924f6629.js.map +0 -1
- package/index-b16ab63e.js.map +0 -1
- package/stringSet-8039f73a.js.map +0 -1
package/ui/MessageContent.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { a as _extends } from '../_rollupPluginBabelHelpers-
|
|
2
|
-
import { _ as __assign } from '../tslib.es6-
|
|
1
|
+
import { a as _extends } from '../_rollupPluginBabelHelpers-498add61.js';
|
|
2
|
+
import { _ as __assign } from '../tslib.es6-bcead7e6.js';
|
|
3
3
|
import React__default, { useState, useContext, useRef } from 'react';
|
|
4
|
-
import { f as format } from '../index-
|
|
4
|
+
import { f as format } from '../index-3f26a31c.js';
|
|
5
5
|
import Avatar from './Avatar.js';
|
|
6
6
|
import UserProfile from './UserProfile.js';
|
|
7
|
-
import { M as MessageStatus } from '../index-
|
|
7
|
+
import { M as MessageStatus } from '../index-1b91b116.js';
|
|
8
8
|
import MessageItemMenu from './MessageItemMenu.js';
|
|
9
9
|
import MessageItemReactionMenu from './MessageItemReactionMenu.js';
|
|
10
10
|
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-44470dab.js';
|
|
12
12
|
import EmojiReactions from './EmojiReactions.js';
|
|
13
13
|
import AdminMessage from './AdminMessage.js';
|
|
14
14
|
import TextMessageItemBody from './TextMessageItemBody.js';
|
|
@@ -17,30 +17,31 @@ import ThumbnailMessageItemBody from './ThumbnailMessageItemBody.js';
|
|
|
17
17
|
import OGMessageItemBody from './OGMessageItemBody.js';
|
|
18
18
|
import UnknownMessageItemBody from './UnknownMessageItemBody.js';
|
|
19
19
|
import QuoteMessage from './QuoteMessage.js';
|
|
20
|
-
import { r as isUserMessage, s as isSentMessage, u as isFailedMessage, v as isPendingMessage, l as isFileMessage, w as copyToClipboard, x as getEmojiListAll, y as getUIKitMessageTypes, n as isThumbnailMessage, h as getClassName, z as getSenderName, A as isTextMessage, B as isOGMessage, C as getUIKitMessageType } from '../index-
|
|
21
|
-
import { a as UserProfileContext } from '../UserProfileContext-
|
|
22
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
20
|
+
import { r as isUserMessage, s as isSentMessage, u as isFailedMessage, v as isPendingMessage, l as isFileMessage, w as copyToClipboard, x as getEmojiListAll, y as getUIKitMessageTypes, n as isThumbnailMessage, h as getClassName, z as getSenderName, A as isTextMessage, B as isOGMessage, C as getUIKitMessageType } from '../index-5f08f486.js';
|
|
21
|
+
import { a as UserProfileContext } from '../UserProfileContext-c58a7b86.js';
|
|
22
|
+
import { u as useLocalization } from '../LocalizationContext-4df0cc32.js';
|
|
23
23
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
24
|
-
import { u as useLongPress } from '../useLongPress-
|
|
24
|
+
import { u as useLongPress } from '../useLongPress-794838b8.js';
|
|
25
25
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
26
26
|
import BottomSheet from './BottomSheet.js';
|
|
27
27
|
import ImageRenderer from './ImageRenderer.js';
|
|
28
28
|
import ReactionButton from './ReactionButton.js';
|
|
29
|
-
import { u as useMediaQueryContext } from '../MediaQueryContext-
|
|
29
|
+
import { u as useMediaQueryContext } from '../MediaQueryContext-74183e34.js';
|
|
30
30
|
import ThreadReplies from './ThreadReplies.js';
|
|
31
|
-
import { T as ThreadReplySelectType } from '../const-
|
|
32
|
-
import '../index-
|
|
33
|
-
import '../uuid-
|
|
31
|
+
import { T as ThreadReplySelectType } from '../const-9d11f204.js';
|
|
32
|
+
import '../index-07e060cd.js';
|
|
33
|
+
import '../uuid-286ed926.js';
|
|
34
34
|
import 'prop-types';
|
|
35
35
|
import '../sendbirdSelectors.js';
|
|
36
|
-
import '../topics-
|
|
37
|
-
import '../utils-
|
|
36
|
+
import '../topics-351ea731.js';
|
|
37
|
+
import '../utils-e720e03a.js';
|
|
38
38
|
import './Button.js';
|
|
39
|
-
import '../stringSet-
|
|
39
|
+
import '../stringSet-d555d877.js';
|
|
40
40
|
import './Loader.js';
|
|
41
41
|
import '../utils/message/getOutgoingMessageState.js';
|
|
42
|
-
import '../index-
|
|
43
|
-
import '../index-
|
|
42
|
+
import '../index-defabece.js';
|
|
43
|
+
import '../index-d3f6dbb9.js';
|
|
44
|
+
import '../index-1572c90f.js';
|
|
44
45
|
import './IconButton.js';
|
|
45
46
|
import 'react-dom';
|
|
46
47
|
import './SortByRow.js';
|
|
@@ -51,9 +52,9 @@ import './Word.js';
|
|
|
51
52
|
import './LinkLabel.js';
|
|
52
53
|
import './MentionLabel.js';
|
|
53
54
|
import './TextButton.js';
|
|
54
|
-
import '../color-
|
|
55
|
+
import '../color-ff5f9069.js';
|
|
55
56
|
import '../withSendbird.js';
|
|
56
|
-
import '../index-
|
|
57
|
+
import '../index-e5b78039.js';
|
|
57
58
|
|
|
58
59
|
var MobileContextMenu = function (props) {
|
|
59
60
|
var _a;
|
package/ui/MessageContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx","../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps) => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n setQuoteMessage,\n parentRef,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={message?.parentMessageId > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n setQuoteMessage,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window?.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled': ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if(!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction && LabelColors.ONBACKGROUND_4}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n />\n ): (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n","import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isSentMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../smart-components/Channel/context/const';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: () => {\n // @ts-ignore\n if (isMobile && isThumbnailMessage(message) && isSentMessage(message)) {\n showFileViewer(true);\n }\n },\n }, {\n delay: 300,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt * 1000) > message?.parentMessage?.createdAt)}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false) }}\n message={message}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","fileMessage","React","copyToClipboard","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","IconTypes","COPY","IconColors","PRIMARY","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","url","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_b","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","concat","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","MessageContent","className","_l","_m","chainTop","_o","chainBottom","_p","_q","disableQuoteMessage","threadReplySelectType","nicknamesMap","scrollToMessage","showFileViewer","onReplyInThread","onQuoteMessageClick","messageTypes","getUIKitMessageTypes","dateLocale","config","useSendbirdStateContext","_r","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","_s","showMenu","setShowMenu","_t","mouseHover","setMouseHover","_u","supposedHover","setSupposedHover","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessage","useReplyingClassName","displayThreadReplies","longPress","useLongPress","onLongPress","onClick","isThumbnailMessage","delay","isAdminMessage","_d","call","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","ThreadReplySelectType","THREAD","PARENT","createdAt","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","joinedAt","_g","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","UNKNOWN","_h","CAPTION_3","format","locale","_j","_k"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx","../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps) => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n setQuoteMessage,\n parentRef,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={message?.parentMessageId > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n setQuoteMessage,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window?.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled': ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if(!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction && LabelColors.ONBACKGROUND_4}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n />\n ): (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n","import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isSentMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../smart-components/Channel/context/const';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: () => {\n // @ts-ignore\n if (isMobile && isThumbnailMessage(message) && isSentMessage(message)) {\n showFileViewer(true);\n }\n },\n }, {\n delay: 300,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt * 1000) > message?.parentMessage?.createdAt)}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false) }}\n message={message}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","fileMessage","React","copyToClipboard","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","IconTypes","COPY","IconColors","PRIMARY","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","url","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_b","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","concat","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","MessageContent","className","_l","_m","chainTop","_o","chainBottom","_p","_q","disableQuoteMessage","threadReplySelectType","nicknamesMap","scrollToMessage","showFileViewer","onReplyInThread","onQuoteMessageClick","messageTypes","getUIKitMessageTypes","dateLocale","config","useSendbirdStateContext","_r","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","_s","showMenu","setShowMenu","_t","mouseHover","setMouseHover","_u","supposedHover","setSupposedHover","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessage","useReplyingClassName","displayThreadReplies","longPress","useLongPress","onLongPress","onClick","isThumbnailMessage","delay","isAdminMessage","_d","call","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","ThreadReplySelectType","THREAD","PARENT","createdAt","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","joinedAt","_g","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","UNKNOWN","_h","CAPTION_3","format","locale","_j","_k"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,iBAAiB,GAA2C,UAACC,KAAD,EAAqB;;;AAEnF,EAAA,IAAAC,QAAQ,GAUND,KAAK,CAAAC,QAVP;AAAA,MACAC,OAAO,GASLF,KAAK,CAAAE,OAVP;AAAA,MAEAC,OAAO,GAQLH,KAAK,CAAAG,OAVP;AAAA,MAGAC,SAAS,GAOPJ,KAAK,CAPEI,SAHT;AAAA,MAIAC,MAAM,GAMJL,KAAK,CAAAK,MAVP;AAAA,MAKAC,aAAa,GAKXN,KAAK,CALMM,aALb;AAAA,MAMAC,QAAQ,GAINP,KAAK,CAJCO,QANR;AAAA,MAOAC,UAAU,GAGRR,KAAK,CAHGQ,UAPV;AAAA,MAQAC,eAAe,GAEbT,KAAK,CAAAS,eAVP;AAAA,MASAC,SAAS,GACPV,KAAK,CAAAU,SAVP,CAAA;AAWF,EAAA,IAAMC,MAAM,GAAG,CAAA,CAAAC,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,MAAT,MAAe,IAAf,IAAeD,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAEP,MAAjB,MAA4BA,MAA3C,CAAA;AACQ,EAAA,IAAAS,SAAS,GAAKC,eAAe,EAAA,UAA7B,CAAA;AACR,EAAA,IAAMC,gBAAgB,GAAYC,aAAa,CAACd,OAAD,CAA/C,CAAA;AACA,EAAA,IAAMe,gBAAgB,GAAaD,aAAa,CAACd,OAAD,CAAb,IAAyCgB,aAAa,CAAChB,OAAD,CAAtD,IAAmEQ,MAAtG,CAAA;EACA,IAAMS,kBAAkB,GAAaC,eAAe,CAAClB,OAAD,CAAf,KAA4BA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEmB,YAArC,CAAA,IAAqDX,MAA1F,CAAA;EACA,IAAMY,kBAAkB,GAAY,CAACC,gBAAgB,CAACrB,OAAD,CAAjB,IAA8BQ,MAAlE,CAAA;EACA,IAAMc,oBAAoB,GAAY,CAACD,gBAAgB,CAACrB,OAAD,CAAjB,IAA8BuB,aAAa,CAACvB,OAAD,CAAjF,CAAA;EACA,IAAMwB,iBAAiB,GAAavB,SAAS,KAAK,aAAf,IAC9B,CAACiB,eAAe,CAAClB,OAAD,CADc,IAE9B,CAACqB,gBAAgB,CAACrB,OAAD,CAFa,KAG7BD,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE0B,cAAT,EAAA,CAAA,IAA6B,EAAE1B,OAAwB,SAAxB,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAmB2B,WAA5B,CAHnC,CAAA;EAKA,IAAMC,WAAW,GAAG3B,OAApB,CAAA;AACA,EAAA,oBACE4B,6BAAC,WAAD,EAAA;AACE,IAAA,MAAM,EADR,IAAA;AAEE,IAAA,SAAS,EAAE,YAAA;;;AAAM,MAAA,oBACfA,6BAAC,SAAD,EAAA;AACE,QAAA,SAAS,EAAC,uCADZ;AAEE,QAAA,SAAS,EAAErB,SAFb;AAGE,QAAA,gBAAgB,EAAEA,SAHpB;AAIE,QAAA,aAAa,EAAET,QAAAA;OAEde,EAAAA,gBAAgB,iBACfe,cAAA,CAAA,aAAA,CAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,2DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;AACR+B,UAAAA,eAAe,CAAE7B,OAAuB,KAAvB,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAkBA,OAA3B,CAAf,CAAA;AACD,SAAA;AALH,OAAA,eAOE4B,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEqB,kBADd,CAPF,eAUEJ,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACC,IADlB;QAEE,SAAS,EAAEC,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CAVF,CAPJ,EAyBGZ,iBAAiB,iBAChBI,6BAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,4DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;UACRQ,eAAe,CAACN,OAAD,CAAf,CAAA;SAJJ;AAME,QAAA,OAAO,EAAE,CAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEqC,eAAT,IAA2B,CAAA;AANtC,OAAA,eAQET,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,CAAC2B,mBADb,CARF,eAWEV,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACM,KADlB;QAEE,SAAS,EAAEJ,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CAXF,CA1BJ,EA6CGrB,gBAAgB,iBACfa,6BAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,2DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;UACRM,QAAQ,CAAC,IAAD,CAAR,CAAA;AACD,SAAA;AALH,OAAA,eAOEwB,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,CAAC6B,kBADb,CAPF,eAUEZ,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACQ,IADlB;QAEE,SAAS,EAAEN,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CAVF,CA9CJ,EAgEGnB,kBAAkB,iBACjBW,6BAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,6DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;UACRK,aAAa,CAACH,OAAD,CAAb,CAAA;AACD,SAAA;AALH,OAAA,eAOE4B,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,CAAC+B,oBADb,CAPF,eAUEd,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACU,OADlB;QAEE,SAAS,EAAER,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CAVF,CAjEJ,EAmFGhB,kBAAkB,iBACjBQ,6BAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,6DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;UACRO,UAAU,CAAC,IAAD,CAAV,CAAA;SAJJ;AAME,QAAA,OAAO,EAAE,CAAA,MAAAL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE4C,UAAT,MAAmB,IAAnB,IAAmBnC,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAEoC,UAArB,IAAkC,CAAA;AAN7C,OAAA,eAQEjB,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,CAACmC,oBADb,CARF,eAWElB,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACc,MADlB;QAEE,SAAS,EAAEZ,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CAXF,CApFJ,EAuGGd,oBAAoB,iBACnBM,6BAAC,QAAD,EAAA;AACE,QAAA,SAAS,EAAC,2DADZ;AAEE,QAAA,OAAO,EAAE,YAAA;UACP9B,QAAQ,EAAA,CAAA;AACT,SAAA;OAED,eAAA8B,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AACE,QAAA,SAAS,EAAC,0CADZ;AAEE,QAAA,GAAG,EAAC,qBAFN;AAGE,QAAA,IAAI,EAAED,WAAW,KAAA,IAAX,IAAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAAA,WAAW,CAAEqB,GAHrB;AAIE,QAAA,MAAM,EAAC,QAAA;AAJT,OAAA,eAMEpB,6BAAC,KAAD,EAAA;QAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,OAAA,EACGpB,SAAS,CAACsC,kBADb,CANF,eASErB,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACiB,QADlB;QAEE,SAAS,EAAEf,UAAU,CAACC,OAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;OAbX,CAAA,CANF,CAxGJ,CADe,CAAA;AAkIhB,KAAA;GArIL,CAAA,CAAA;AAwID,CAlKD;;ACIA,IAAMe,UAAU,GAAG,EAAnB,CAAA;;AAEA,IAAMC,iBAAiB,GAAoD,UAACvD,KAAD,EAA8B;;;AAErG,EAAA,IAAAC,QAAQ,GAYND,KAAK,CAZCC,QAAR;AAAA,MACAC,OAAO,GAWLF,KAAK,CAAAE,OAZP;AAAA,MAEAsD,cAAc,GAUZxD,KAAK,CAVOwD,cAFd;AAAA,MAGArD,OAAO,GASLH,KAAK,CAAAG,OAZP;AAAA,MAIAC,SAAS,GAQPJ,KAAK,CAREI,SAJT;AAAA,MAKAC,MAAM,GAOJL,KAAK,CAAAK,MAZP;AAAA,MAMAC,aAAa,GAMXN,KAAK,CANMM,aANb;AAAA,MAOAmD,cAAc,GAKZzD,KAAK,CAAAyD,cAZP;AAAA,MAQAC,iBAAiB,GAIf1D,KAAK,CAJU0D,iBARjB;AAAA,MASAnD,QAAQ,GAGNP,KAAK,CAAAO,QAZP;AAAA,MAUAC,UAAU,GAERR,KAAK,CAFGQ,UAVV;AAAA,MAWAC,eAAe,GACbT,KAAK,CAAAS,eAZP,CAAA;AAaF,EAAA,IAAME,MAAM,GAAG,CAAA,CAAAC,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,MAAT,MAAe,IAAf,IAAeD,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAEP,MAAjB,MAA4BA,MAA3C,CAAA;AACQ,EAAA,IAAAS,SAAS,GAAKC,eAAe,EAAA,UAA7B,CAAA;AACR,EAAA,IAAMC,gBAAgB,GAAYC,aAAa,CAACd,OAAD,CAA/C,CAAA;AACA,EAAA,IAAMe,gBAAgB,GAAaD,aAAa,CAACd,OAAD,CAAb,IAAyCgB,aAAa,CAAChB,OAAD,CAAtD,IAAmEQ,MAAtG,CAAA;EACA,IAAMS,kBAAkB,GAAaC,eAAe,CAAClB,OAAD,CAAf,KAA4BA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEmB,YAArC,CAAA,IAAqDX,MAA1F,CAAA;EACA,IAAMY,kBAAkB,GAAY,CAACC,gBAAgB,CAACrB,OAAD,CAAjB,IAA8BQ,MAAlE,CAAA;EACA,IAAMc,oBAAoB,GAAY,CAACD,gBAAgB,CAACrB,OAAD,CAAjB,IAA8BuB,aAAa,CAACvB,OAAD,CAAjF,CAAA;AACA,EAAA,IAAMwD,YAAY,GAAY,CAACtC,eAAe,CAAClB,OAAD,CAAhB,IAA6B,CAACqB,gBAAgB,CAACrB,OAAD,CAA9C,IAA2DuD,iBAAzF,CAAA;EACA,IAAM/B,iBAAiB,GAAavB,SAAS,KAAK,aAAf,IAC9B,CAACiB,eAAe,CAAClB,OAAD,CADc,IAE9B,CAACqB,gBAAgB,CAACrB,OAAD,CAFa,KAG7BD,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE0B,cAAT,EAAA,CAAA,IAA6B,EAAE1B,OAAwB,SAAxB,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAmB2B,WAA5B,CAHnC,CAAA;AAIA,EAAA,IAAM+B,eAAe,GAAG,CAAAzD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEqC,eAAT,IAA2B,CAAnD,CAAA;EAEA,IAAMV,WAAW,GAAG3B,OAApB,CAAA;EACA,IAAM0D,eAAe,GAAGC,IAAI,CAACC,KAAL,CAAW,CAAAC,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEC,UAAR,IAAqBX,UAAhC,CAAA,GAA8C,CAAtE,CAAA;;AACM,EAAA,IAAAY,EAAA,GAAsCC,QAAQ,CAAU,KAAV,CAA9C;AAAA,MAACC,cAAc,GAAAF,EAAA,CAAA,CAAA,CAAf;AAAA,MAAiBG,iBAAiB,GAAAH,EAAA,CAAA,CAAA,CAAlC,CAAA;;AACN,EAAA,IAAMI,MAAM,GAAGC,eAAe,CAACf,cAAD,CAA9B,CAhCuG;;EAkCvG,IAAMgB,aAAa,GAAGJ,cAAc,GAChCE,MADgC,GAEhCA,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEG,KAAR,CAAc,CAAd,EAAiBZ,eAAjB,CAFJ,CAAA;AAGA,EAAA,IAAMa,iBAAiB,GAAGJ,MAAM,CAACK,MAAP,GAAgBd,eAA1C,CAAA;AACA,EAAA,oBACE9B,6BAAC,WAAD,EAAA;AAAa,IAAA,eAAe,EAAE9B,QAAAA;GAC5B,eAAA8B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,+BAAA;AAAf,GAAA,EAEI4B,YAAY,iBACV5B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,IAAA,SAAS,EAAC,4CAAA;GAEV,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IACE,SAAS,EAAE,oGAAA,CAEPqC,cAAc,GAAG,iDAAH,GAAuD,EAF9D,EAEgE,sBAFhE,CAAA;AADb,GAAA,EAMGI,aAAa,CAACI,GAAd,CAAkB,UAACC,KAAD,EAAa;;;AAC9B,IAAA,IAAMC,SAAS,GAAY,CAAAC,EAAA,GAAA,CAAAb,EAAA,GAAA,MAAA/D,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE6E,SAAT,MAAkB,IAAlB,IAAkBpE,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CACzCqE,MADyC,CAClC,UAACC,QAAD,EAAiC;AAAA,MAAA,OAAAA,QAAQ,CAACC,GAAT,KAAiBN,KAAK,CAACM,GAAvB,CAAA;AAA0B,KADzB,CAC2B,CAAA,CAD3B,CAAlB,MAC+C,IAD/C,IAC+CjB,EAAA,KAAA,KAAA,CAD/C,GAC+C,KAAA,CAD/C,GAC+CA,EAAA,CACtEkB,OAFuB,MAGvB,IAHuB,IAGvBL,EAAA,KAAA,KAAA,CAHuB,GAGvB,KAAA,CAHuB,GAGvBA,EAAA,CAAAM,IAAA,CAAK,UAACC,SAAD;MAAgC,OAAAA,SAAS,KAAKjF,MAAd,CAAA;AAAoB,KAAzD,CAHJ,CAAA;AAIA,IAAA,oBACE0B,6BAAC,cAAD,EAAA;MACE,GAAG,EAAE8C,KAAK,CAACM,GADb;AAEE,MAAA,KAAK,EAAE,SAAA,CAAG7B,UAAH,EAAa,IAAb,CAFT;AAGE,MAAA,MAAM,EAAE,EAAGiC,CAAAA,MAAH,CAAGjC,UAAH,MAAA,CAHV;AAIE,MAAA,QAAQ,EAAEwB,SAJZ;AAKE,MAAA,OAAO,EAAE,YAAA;QACP7E,QAAQ,EAAA,CAAA;QACRwD,cAAc,CAACtD,OAAD,EAAU0E,KAAK,CAACM,GAAhB,EAAqBL,SAArB,CAAd,CAAA;AACD,OAAA;AARH,KAAA,eAUE/C,6BAAC,aAAD,EAAA;AACE,MAAA,GAAG,EAAE,CAAA8C,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAE1B,GAAP,KAAc,EADrB;AAEE,MAAA,KAAK,EAAC,MAFR;AAGE,MAAA,MAAM,EAAC,MAHT;MAIE,WAAW,EAAE,UAACqC,KAAD,EAA+B;QAAmB,oBAC7DzD,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,KAAK,EAAEyD,KAAAA;AAAZ,SAAA,eACEzD,6BAAC,IAAD,EAAA;UACE,IAAI,EAAEK,SAAS,CAACqD,QADlB;UAEE,SAAS,EAAEnD,UAAU,CAACoD,eAFxB;AAGE,UAAA,KAAK,EAAC,MAHR;AAIE,UAAA,MAAM,EAAC,MAAA;AAJT,SAAA,CADF,CAD6D,CAAA;AAS9D,OAAA;AAbH,KAAA,CAVF,CADF,CAAA;GALD,CANH,EAyCIhB,iBAAiB,IAAI,CAACN,cAAtB,iBACErC,6BAAC,cAAD,EAAA;AACE,IAAA,GAAG,EAAC,YADN;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,OAAO,EAAE,YAAA;MACPsC,iBAAiB,CAAC,IAAD,CAAjB,CAAA;AACD,KAAA;AANH,GAAA,eAQEtC,6BAAC,aAAD,EAAA;AACE,IAAA,GAAG,EAAE,EADP;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;IAIE,WAAW,EAAE,UAACyD,KAAD,EAA+B;MAAyB,oBACnEzD,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,QAAA,KAAK,EAAEyD,KAAAA;AAAZ,OAAA,eACEzD,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEK,SAAS,CAACuD,UADlB;QAEE,SAAS,EAAErD,UAAU,CAACoD,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CADF,CADmE,CAAA;AASpE,KAAA;AAbH,GAAA,CARF,CA1CN,CAHF,CADF,CAHN,EAiFI,CAACtB,cAAD,iBACErC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,wCAAA;AAAf,GAAA,EACGf,gBAAgB,iBACfe,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,OAAO,EAAE,YAAA;MACP9B,QAAQ,EAAA,CAAA;AACR+B,MAAAA,eAAe,CAAE7B,OAAuB,KAAvB,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAkBA,OAA3B,CAAf,CAAA;AACD,KAAA;AALH,GAAA,eAOE4B,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACC,IADlB;IAEE,SAAS,EAAEC,UAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC,MAAA;GAXX,CAAA,eAaER,6BAAC,KAAD,EAAA;IAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,GAAA,EACGpB,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEqB,kBADd,CAbF,CAFJ,EAqBIjB,gBAAgB,iBACda,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,OAAO,EAAE,YAAA;MACP9B,QAAQ,EAAA,CAAA;MACRM,QAAQ,CAAC,IAAD,CAAR,CAAA;AACD,KAAA;AALH,GAAA,eAOEwB,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACQ,IADlB;IAEE,SAAS,EAAEN,UAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC,MAAA;GAXX,CAAA,eAaER,6BAAC,KAAD,EAAA;IAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,GAAA,EACGpB,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAE6B,kBADd,CAbF,CAtBN,EA0CIvB,kBAAkB,iBAChBW,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,OAAO,EAAE,YAAA;MACP9B,QAAQ,EAAA,CAAA;MACRK,aAAa,CAACH,OAAD,CAAb,CAAA;AACD,KAAA;AALH,GAAA,eAOE4B,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACU,OADlB;IAEE,SAAS,EAAER,UAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC,MAAA;GAXX,CAAA,eAaER,6BAAC,KAAD,EAAA;IAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,GAAA,EACGpB,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAE+B,oBADd,CAbF,CA3CN,EA+DIlB,iBAAiB,iBAEfI,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IACE,SAAS,EAAE,sEAAA,CACP6B,eAAe,GAAG,gDAAH,GAAqD,EAD7D,EAEV,wBAFU,CADb;AAIE,IAAA,IAAI,EAAC,UAJP;AAKE,IAAA,eAAA,EAAeA,eAAe,GAAG,IAAH,GAAU,KAL1C;AAME,IAAA,OAAO,EAAE,YAAA;MACP,IAAG,CAACA,eAAJ,EAAqB;QACnB3D,QAAQ,EAAA,CAAA;QACRQ,eAAe,CAACN,OAAD,CAAf,CAAA;AACD,OAAA;AACF,KAAA;AAXH,GAAA,eAaE4B,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACM,KADlB;IAEE,SAAS,EAAEkB,eAAe,GACtBtB,UAAU,CAACoD,eADW,GAEtBpD,UAAU,CAACC,OAJjB;AAME,IAAA,KAAK,EAAC,MANR;AAOE,IAAA,MAAM,EAAC,MAAA;GApBX,CAAA,eAsBER,6BAAC,KAAD,EAAA;IACE,IAAI,EAAEE,eAAe,CAACC,UADxB;AAEE,IAAA,KAAK,EAAE0B,eAAe,IAAIgC,WAAW,CAACC,cAAAA;AAFxC,GAAA,EAIG/E,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAE2B,mBAJd,CAtBF,CAjEN,EAiGIlB,kBAAkB,iBAChBQ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,OAAO,EAAE,YAAA;MACP9B,QAAQ,EAAA,CAAA;MACRO,UAAU,CAAC,IAAD,CAAV,CAAA;AACD,KAAA;AALH,GAAA,eAOEuB,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACc,MADlB;IAEE,SAAS,EAAEZ,UAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC,MAAA;GAXX,CAAA,eAaER,6BAAC,KAAD,EAAA;IAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;AAA7B,GAAA,EACGpB,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEmC,oBADd,CAbF,CAlGN,EAsHIxB,oBAAoB,iBAClBM,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,OAAO,EAAE,YAAA;MACP9B,QAAQ,EAAA,CAAA;AACT,KAAA;GAED,eAAA8B,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AACE,IAAA,SAAS,EAAC,0CADZ;AAEE,IAAA,GAAG,EAAC,qBAFN;AAGE,IAAA,IAAI,EAAED,WAAW,KAAA,IAAX,IAAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAAA,WAAW,CAAEqB,GAHrB;AAIE,IAAA,MAAM,EAAC,QAAA;AAJT,GAAA,eAMEpB,6BAAC,IAAD,EAAA;IACE,IAAI,EAAEK,SAAS,CAACiB,QADlB;IAEE,SAAS,EAAEf,UAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC,MAAA;GAVX,CAAA,eAYER,6BAAC,KAAD,EAAA;IAAO,IAAI,EAAEE,eAAe,CAACC,UAAAA;GAC1BpB,EAAAA,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEsC,kBADd,CAZF,CANF,CAvHN,CAlFN,CADF,CADF,CAAA;AA0OD,CAhRD;;AClBA,IAAM0C,UAAU,GAAqC,UAAC9F,KAAD,EAA8B;AAE/E,EAAA,IAAAG,OAAO,GAeLH,KAAK,CAfAG,OAAP;AAAA,MACAF,QAAQ,GAcND,KAAK,CAdCC,QADR;AAAA,MAEAI,MAAM,GAaJL,KAAK,CAbDK,MAFN;AAAA,MAGAH,OAAO,GAYLF,KAAK,CAZAE,OAHP;AAAA,MAIAU,KAWEZ,KAAK,CAAA0D,iBAfP;MAIAA,iBAAiB,mBAAG,QAAK9C,EAJzB;AAAA,MAKAD,MAAM,GAUJX,KAAK,CAAAW,MAfP;AAAA,MAMAP,SAAS,GASPJ,KAAK,CATEI,SANT;AAAA,MAOA2F,QAAQ,GAQN/F,KAAK,CARC+F,QAPR;AAAA,MAQAvF,UAAU,GAORR,KAAK,CAPGQ,UARV;AAAA,MASAD,QAAQ,GAMNP,KAAK,CANCO,QATR;AAAA,MAUAD,aAAa,GAKXN,KAAK,CALMM,aAVb;AAAA,MAWAG,eAAe,GAIbT,KAAK,CAJQS,eAXf;AAAA,MAYA+C,cAAc,GAGZxD,KAAK,CAHOwD,cAZd;AAAA,MAaAC,cAAc,GAEZzD,KAAK,CAFOyD,cAbd;AAAA,MAcA/C,SAAS,GACPV,KAAK,UAfP,CAAA;AAgBF,EAAA,oBACE+B,cAEI2B,CAAAA,aAAAA,CAAAA,cAAAA,CAAAA,QAAAA,EAAAA,IAAAA,EAAAA,iBAAiB,gBAEb3B,cAAA,CAAA,aAAA,CAAC,iBAAD,EAAA;AACE,IAAA,OAAO,EAAE7B,OADX;AAEE,IAAA,OAAO,EAAEC,OAFX;AAGE,IAAA,QAAQ,EAAEF,QAHZ;AAIE,IAAA,MAAM,EAAEU,MAJV;AAKE,IAAA,MAAM,EAAEN,MALV;AAME,IAAA,SAAS,EAAED,SANb;AAOE,IAAA,QAAQ,EAAE2F,QAPZ;AAQE,IAAA,UAAU,EAAEvF,UARd;AASE,IAAA,QAAQ,EAAED,QATZ;AAUE,IAAA,aAAa,EAAED,aAVjB;AAWE,IAAA,eAAe,EAAEG,eAXnB;AAYE,IAAA,cAAc,EAAE+C,cAZlB;AAaE,IAAA,cAAc,EAAEC,cAblB;AAcE,IAAA,iBAAiB,EAAEC,iBAAAA;GAhBR,CAAA,gBAmBb3B,6BAAC,iBAAD,EAAA;AACE,IAAA,OAAO,EAAE7B,OADX;AAEE,IAAA,MAAM,EAAEG,MAFV;AAGE,IAAA,OAAO,EAAEF,OAHX;AAIE,IAAA,QAAQ,EAAEF,QAJZ;AAKE,IAAA,MAAM,EAAEU,MALV;AAME,IAAA,QAAQ,EAAEJ,QANZ;AAOE,IAAA,SAAS,EAAEH,SAPb;AAQE,IAAA,QAAQ,EAAE2F,QARZ;AASE,IAAA,UAAU,EAAEvF,UATd;AAUE,IAAA,aAAa,EAAEF,aAVjB;AAWE,IAAA,eAAe,EAAEG,eAXnB;AAYE,IAAA,SAAS,EAAEC,SAAAA;AAZb,GAAA,CArBR,CADF,CAAA;AAwCD,CA1DD;;ACyEwB,SAAAsF,cAAA,CAAepF,EAAf,EAuBhB;;;AAtBN,EAAA,IAAAqF,SAAS,eAAT;AAAA,MACA5F,MAAM,GAAAO,EAAA,CAAAP,MADN;AAAA,MAEAH,OAAO,GAAAU,EAAA,CAAAV,OAFP;AAAA,MAGAC,OAAO,GAAAS,EAAA,CAAAT,OAHP;AAAA,MAIA+F,EAAgB,GAAAtF,EAAA,CAAAmF,QAJhB;MAIAA,QAAQ,GAAGG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,KAJX;AAAA,MAKAC,EAAA,GAAAvF,EAAA,CAAAwF,QALA;MAKAA,QAAQ,mBAAG,QAAKD,EALhB;AAAA,MAMAE,EAAmB,GAAAzF,EAAA,CAAA0F,WANnB;MAMAA,WAAW,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EANnB;AAAA,MAOAE,yBAPA;MAOA7C,iBAAiB,mBAAG,QAAK6C,EAPzB;AAAA,MAQAC,EAA2B,GAAA5F,EAAA,CAAA6F,mBAR3B;MAQAA,mBAAmB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQA,EAR3B;AAAA,MASApG,SAAS,GAAAQ,EAAA,CAAAR,SATT;AAAA,MAUAsG,qBAAqB,GAAA9F,EAAA,CAAA8F,qBAVrB;AAAA,MAWAC,YAAY,GAAA/F,EAAA,CAAA+F,YAXZ;AAAA,MAYAnD,cAAc,GAAA5C,EAAA,CAAA4C,cAZd;AAAA,MAaAoD,eAAe,GAAAhG,EAAA,CAAAgG,eAbf;AAAA,MAcArG,QAAQ,GAAAK,EAAA,CAAAL,QAdR;AAAA,MAeAC,UAAU,gBAfV;AAAA,MAgBAqG,cAAc,oBAhBd;AAAA,MAiBAvG,aAAa,mBAjBb;AAAA,MAkBAmD,cAAc,GAAA7C,EAAA,CAAA6C,cAlBd;AAAA,MAmBAhD,eAAe,GAAAG,EAAA,CAAAH,eAnBf;AAAA,MAoBAqG,eAAe,GAAAlG,EAAA,CAAAkG,eApBf;AAAA,MAqBAC,mBAAmB,GAAAnG,EAAA,CAAAmG,mBArBnB,CAAA;EAuBA,IAAMC,YAAY,GAAGC,oBAAoB,EAAzC,CAAA;AACQ,EAAA,IAAAC,UAAU,GAAKnG,eAAe,EAAA,WAA9B,CAAA;EACA,IAAAoG,MAAM,GAAK,CAAA,CAAAC,uBAAuB,KAAvB,IAAA,IAAAA,uBAAuB,KAAvB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,uBAAuB,EAAvB,KAA+B,EAA/B,QAAX,CAAA;;AACF,EAAA,IAAAC,EAAA,GAAyEC,UAAU,CAACC,kBAAD,CAAnF;AAAA,MAAEC,kBAAkB,GAAAH,EAAA,CAAAG,kBAApB;AAAA,MAAsBC,iBAAiB,GAAAJ,EAAA,CAAAI,iBAAvC,CAAA;;AACN,EAAA,IAAMC,SAAS,GAAGC,MAAM,CAAC,IAAD,CAAxB,CAAA;AACA,EAAA,IAAMC,UAAU,GAAGD,MAAM,CAAC,IAAD,CAAzB,CAAA;AACQ,EAAA,IAAAE,QAAQ,GAAKC,oBAAoB,EAAA,SAAjC,CAAA;;AACF,EAAA,IAAAC,EAAA,GAA0B5D,QAAQ,CAAC,KAAD,CAAlC;AAAA,MAAC6D,QAAQ,GAAAD,EAAA,CAAA,CAAA,CAAT;AAAA,MAAWE,WAAW,GAAAF,EAAA,CAAA,CAAA,CAAtB,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA8B/D,QAAQ,CAAC,KAAD,CAAtC;AAAA,MAACgE,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,aAAa,GAAAF,EAAA,CAAA,CAAA,CAA1B,CAAA;;AACA,EAAA,IAAAG,EAAA,GAAoClE,QAAQ,CAAC,KAAD,CAA5C;AAAA,MAACmE,aAAa,GAAAD,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBE,gBAAgB,GAAAF,EAAA,CAAA,CAAA,CAAhC,CAAA;;AAEN,EAAA,IAAM1H,MAAM,GAAIN,MAAM,MAAK,MAACF,OAAqC,KAAA,IAArC,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAgCU,MAAxC,MAAgD,IAAhD,IAAgDqD,EAAA,KAAA,KAAA,CAAhD,GAAgD,KAAA,CAAhD,GAAgDA,EAAA,CAAA7D,MAArD,CAAP,IACT,CAACF,OAAqC,KAAA,IAArC,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAgCqI,aAAxC,MAA0D,SADjD,IAET,CAACrI,OAAqC,KAAA,IAArC,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAgCqI,aAAxC,MAA0D,QAFhE,CAAA;AAGA,EAAA,IAAMC,eAAe,GAAG9H,MAAM,GAAG,UAAH,GAAgB,UAA9C,CAAA;AACA,EAAA,IAAM+H,iBAAiB,GAAGtC,QAAQ,GAAG,WAAH,GAAiB,EAAnD,CAAA;AACA,EAAA,IAAMuC,0BAA0B,GAAGjF,iBAAiB,GAAG,eAAH,GAAqB,EAAzE,CAAA;AACA,EAAA,IAAMkF,sBAAsB,GAAGN,aAAa,GAAG,sBAAH,GAA4B,EAAxE,CAAA;EACA,IAAMO,WAAW,GAAG,CAAC,EAAE,CAACzI,SAAS,KAAK,aAAd,IAA+BA,SAAS,KAAK,QAA9C,MAClBD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEqC,eADS,CAAA,KACUrC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE2I,aADnB,CAAA,IAElB,CAACrC,mBAFe,CAArB,CAAA;EAIA,IAAMsC,oBAAoB,GAAGF,WAAW,GAAG,WAAH,GAAiB,EAAzD,CAvBM;;AA0BN,EAAA,IAAMG,oBAAoB,GAAG,CAAA,MAAA7I,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE4C,UAAT,MAAmB,IAAnB,IAAmBgC,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAE/B,UAArB,IAAkC,CAAlC,IAAuC5C,SAAS,KAAK,QAAlF,CA1BM;AA6BN;AACA;AACA;AACA;;EACA,IAAM6I,SAAS,GAAGC,YAAY,CAAC;AAC7BC,IAAAA,WAAW,EAAE,YAAA;AACX,MAAA,IAAItB,QAAJ,EAAc;QACZI,WAAW,CAAC,IAAD,CAAX,CAAA;AACD,OAAA;KAJ0B;AAM7BmB,IAAAA,OAAO,EAAE,YAAA;AACP;MACA,IAAIvB,QAAQ,IAAIwB,kBAAkB,CAAClJ,OAAD,CAA9B,IAA2CgB,aAAa,CAAChB,OAAD,CAA5D,EAAuE;QACrE0G,cAAc,CAAC,IAAD,CAAd,CAAA;AACD,OAAA;AACF,KAAA;AAX4B,GAAD,EAY3B;AACDyC,IAAAA,KAAK,EAAE,GAAA;AADN,GAZ2B,CAA9B,CAAA;;EAgBA,IAAI,CAAA,MAAAnJ,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEoJ,cAAT,MAAuB,IAAvB,IAAuBC,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAAC,IAAA,CAAAtJ,OAAA,CAAvB,KAA+B,CAAAA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEuJ,WAAT,MAAyB,OAA5D,EAAqE;AACnE,IAAA,oBAAQ3H,6BAAC4H,YAAD,EAAA;AAAoB,MAAA,OAAO,EAAExJ,OAAAA;KAArC,CAAA,CAAA;AACD,GAAA;;EACD,oBACE4B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IACE,SAAS,EAAE6H,YAAY,CAAC,CAAC3D,SAAD,EAAY,0BAAZ,EAAwCwC,eAAxC,CAAD,CADzB;AAEE,IAAA,WAAW,EAAE;MAAM,OAAAL,aAAa,CAAC,IAAD,CAAb,CAAA;KAFrB;AAGE,IAAA,YAAY,EAAE,YAAM;MAAA,OAAAA,aAAa,CAAC,KAAD,CAAb,CAAA;AAAoB,KAAA;GAGxC,eAAArG,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,SAAS,EAAE6H,YAAY,CAAC,CAAC,gCAAD,EAAmCjB,0BAAnC,EAA+DF,eAA/D,EAAgFM,oBAAhF,CAAD,CAAA;AAA5B,GAAA,EACI,CAACpI,MAAD,IAAW,CAAC2F,WAAb;AAAA;;AACC;AACA,EAAAvE,cAAA,CAAA,aAAA,CAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAAC8H,cAAD,EAA2B;;;AAAmB,MAAA,oBACzD9H,6BAAC,MAAD,EAAA;QACE,SAAS,EAAE,yCAA0CwD,CAAAA,MAA1C,CAA0CyD,oBAAoB,GAAG,oBAAH,GAA0B,EAAxF,CADb;AAAA;AAGE,QAAA,GAAG,EAAE,CAAA,CAAA9E,EAAA,GAAA,CAAAtD,EAAA,GAAAV,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE4J,OAAT,MAAgB,IAAhB,IAAgBlJ,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgBA,EAAA,CAAEmJ,IAAF,CAAO,UAACC,MAAD,EAAY;AAAA,UAAA,IAAApJ,EAAA,CAAA;;UAAA,OAAA,CAAAoJ,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAE3J,MAAR,OAAmB,CAAAO,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,MAAT,MAAiB,IAAjB,IAAiBD,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiBA,EAAA,CAAAP,MAApC,CAAA,CAAA;SAAnB,CAAhB,MAAgF,IAAhF,IAAgF6D,EAAA,KAAA,KAAA,CAAhF,GAAgF,KAAA,CAAhF,GAAgFA,EAAA,CAAA+F,UAAhF,MAA8F,CAAAlF,EAAA,GAAA5E,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEU,MAAT,MAAe,IAAf,IAAekE,EAAA,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAeA,EAAA,CAAEkF,UAA/G,CAA6H,IAAA,EAHpI;AAAA;AAKE,QAAA,GAAG,EAAEvC,SALP;AAME,QAAA,KAAK,EAAC,MANR;AAOE,QAAA,MAAM,EAAC,MAPT;AAQE,QAAA,OAAO,EAAE,YAAc;UAAA,IAAI,CAACF,kBAAL,EAAyBqC,cAAc,EAAA,CAAA;AAAI,SAAA;OATX,CAAA,CAAA;KAD7D;IAaE,SAAS,EAAE,UAACK,aAAD,EAA6C;AAAA,MAAA,oBACtDnI,cAAC,CAAA,aAAA,CAAA,SAAA;AACC;;;AAGE;AAJJ,QAAA;AAKE,QAAA,SAAS,EAAE2F,SALb;AAME,QAAA,gBAAgB,EAAEA,SANpB;AAOE,QAAA,aAAa,EAAEwC,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE,KAAd;AAAqBC,UAAAA,aAAa,EAAE,KAAA;AAApC,SAAA;AART,OAAA,EAUG3C,iBAAiB;AAAA,QAEdA,iBAAiB,CAAC;AAAE4C,QAAAA,IAAI,EAAElK,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,MAAjB;AAAyByJ,QAAAA,KAAK,EAAEJ,aAAAA;AAAhC,OAAD,CAFH;AAAA,qBAIbnI,6BAAC,WAAD,EAAA;QAAa,IAAI,EAAE5B,OAAO,CAACU,MAA3B;AAAmC,QAAA,SAAS,EAAEqJ,aAAAA;AAA9C,OAAA,CAdP,CADsD,CAAA;AAkBvD,KAAA;AA/BH,GAAA,CAHJ,EAsCGvJ,MAAM,IAAI,CAACkH,QAAX,iBACC9F,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,SAAS,EAAE6H,YAAY,CAAC,CAAC,+BAAD,EAAkCjB,0BAAlC,EAA8DC,sBAA9D,EAAsFH,eAAtF,CAAD,CAAA;AAA5B,GAAA,eACE1G,6BAAC,eAAD,EAAA;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE7B,OAFX;AAGE,IAAA,OAAO,EAAEC,OAHX;AAIE,IAAA,MAAM,EAAEQ,MAJV;AAKE,IAAA,SAAS,EAAEP,SALb;AAME,IAAA,QAAQ,EAAE2F,QANZ;AAOE,IAAA,QAAQ,EAAExF,QAPZ;AAQE,IAAA,UAAU,EAAEC,UARd;AASE,IAAA,aAAa,EAAEF,aATjB;AAUE,IAAA,eAAe,EAAEG,eAVnB;AAWE,IAAA,gBAAgB,EAAE8H,gBAXpB;IAYE,eAAe,EAAE,UAAC3H,EAAD,EAAY;AAAT,MAAA,IAAAT,OAAO,GAAAS,EAAA,CAAAT,OAAP,CAAA;;AAClB,MAAA,IAAIuG,qBAAqB,KAAK6D,qBAAqB,CAACC,MAApD,EAA4D;AAC1D1D,QAAAA,eAAe,CAAC;AAAE3G,UAAAA,OAAO,EAAAA,OAAAA;AAAT,SAAD,CAAf,CAAA;AACD,OAFD,MAEO,IAAIuG,qBAAqB,KAAK6D,qBAAqB,CAACE,MAApD,EAA4D;QACjE7D,eAAe,CAACzG,OAAO,CAAC2I,aAAR,CAAsB4B,SAAvB,EAAkCvK,OAAO,CAACqC,eAA1C,CAAf,CAAA;AACD,OAAA;AACF,KAAA;AAlBH,GAAA,CADF,EAqBGkB,iBAAiB,iBAChB3B,cAAA,CAAA,aAAA,CAAC,uBAAD,EAAA;AACE,IAAA,SAAS,EAAC,8CADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEE,MAHV;AAIE,IAAA,gBAAgB,EAAE,EAJpB;AAKE,IAAA,cAAc,EAAEmD,cALlB;AAME,IAAA,cAAc,EAAEC,cANlB;AAOE,IAAA,gBAAgB,EAAE8E,gBAAAA;GA7BxB,CAAA,CAvCJ,CANF,eAiFExG,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AACE,IAAA,SAAS,EAAC,kCAAA;GACL8F,EAAAA,QAAQ,GAAE8C,QAAA,CAAA,EAAA,EAAM1B,SAAN,CAAF,GAAsB,EAFrC,EAAA;AAGE,IAAA,GAAG,EAAErB,UAAAA;GAEH,CAAA,EAAA,CAACjH,MAAD,IAAW,CAACyF,QAAZ,IAAwB,CAACyC,WAA1B,iBACC9G,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,+CADZ;IAEE,IAAI,EAAEE,eAAe,CAAC2I,SAFxB;IAGE,KAAK,EAAEhF,WAAW,CAACiF,cAAAA;GAGjB;AACA,EAAA,CAAA,MAAA,CAAAC,EAAA,GAAA5K,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE4J,OAAT,MAAkB,IAAlB,IAAkBgB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAAf,IAAA,CAAK,UAACC,MAAD;;;IAAY,OAAA,CAAAA,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAE3J,MAAR,OAAmB,MAAAF,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,MAAT,UAAA,iBAAA,SAAA,MAAiBR,MAApC,CAAA,CAAA;GAAjB,CAAlB,UAAA,iBAAA,SAAA,MAAgF0K,QAAhF,KACGC,aAAa,CAAC7K,OAAD,CARpB;GANJ,EAoBI0I,WAAD,gBACC9G,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE6H,YAAY,CAAC,CAAC,iDAAD,EAAoDjJ,MAAM,GAAG,UAAH,GAAgB,UAA1E,EAAsFoI,oBAAtF,CAAD,CAAA;AAA5B,GAAA,eACEhH,6BAAC,YAAD,EAAA;AACE,IAAA,OAAO,EAAE5B,OADX;AAEE,IAAA,MAAM,EAAEE,MAFV;AAGE,IAAA,MAAM,EAAEM,MAHV;IAIE,aAAa,EAAGP,SAAS,KAAK,QAAd,IAA2B,CAAAF,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE+K,QAAT,IAAoB,IAArB,IAA6B,CAAAC,EAAA,GAAA/K,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE2I,aAAT,MAAwB,IAAxB,IAAwBoC,EAAA,KAAA,KAAA,CAAxB,GAAwB,KAAA,CAAxB,GAAwBA,EAAA,CAAAR,SAArD,CAJ5C;AAKE,IAAA,OAAO,EAAE,YAAA;;;MACP,IAAItK,SAAS,KAAK,QAAd,IAA0BsG,qBAAqB,KAAK6D,qBAAqB,CAACC,MAA9E,EAAsF;AACpFzD,QAAAA,mBAAmB,KAAA,IAAnB,IAAAA,mBAAmB,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAAA,mBAAmB,CAAG;AAAE5G,UAAAA,OAAO,EAAEA,OAAAA;AAAX,SAAH,CAAnB,CAAA;AACD,OAAA;;AACD,MAAA,IACE,CAACC,SAAS,KAAK,aAAd,IAAgCA,SAAS,KAAK,QAAd,IAA0BsG,qBAAqB,KAAK6D,qBAAqB,CAACE,MAA3G,MACG,CAAA7J,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2I,aAAT,MAAwB,IAAxB,IAAwBlI,EAAA,KAAA,KAAA,CAAxB,GAAwB,KAAA,CAAxB,GAAwBA,EAAA,CAAA8J,SAD3B,CACwCvK,KAAAA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEqC,eADjD,CADF,EAGE;QACAoE,eAAe,CAACzG,OAAO,CAAC2I,aAAR,CAAsB4B,SAAvB,EAAkCvK,OAAO,CAACqC,eAA1C,CAAf,CAAA;AACD,OAAA;AACF,KAAA;GAhBL,CAAA,CADD,GAoBG,IAxCN,eA0CET,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE6H,YAAY,CAAC,CAAC,kDAAD,CAAD,CAAA;AAA5B,GAAA,EAEIjJ,MAAM,IAAI,CAAC2F,WAAZ,iBACCvE,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,SAAS,EAAE6H,YAAY,CAAC,CAAC,8DAAD,EAAiE,MAAjE,EAAyEhB,sBAAzE,CAAD,CAAA;GAC1B,eAAA7G,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,mFAAA;AAAf,GAAA,eACEA,6BAAC,aAAD,EAAA;AACE,IAAA,OAAO,EAAE5B,OADX;AAEE,IAAA,OAAO,EAAED,OAAAA;GAHb,CAAA,CADF,CAHJ,EAaGiL,aAAa,CAAChL,OAAD,CAAb,iBACC4B,cAAA,CAAA,aAAA,CAAC,mBAAD,EAAA;AACE,IAAA,SAAS,EAAC,qDADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,UAAU,EAAEwH,UAJd;AAKE,IAAA,gBAAgB,EAAE,CAAAhB,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEiE,gBAAR,KAA4B,KALhD;AAME,IAAA,iBAAiB,EAAE1H,iBAAAA;AANrB,GAAA,CAdJ,EAuBI2H,WAAW,CAAClL,OAAD,CAAZ,iBACC4B,6BAAC,iBAAD,EAAA;AACE,IAAA,SAAS,EAAC,qDADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,UAAU,EAAEwH,UAJd;AAKE,IAAA,gBAAgB,EAAE,CAAAhB,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEiE,gBAAR,KAA4B,KALhD;AAME,IAAA,iBAAiB,EAAE1H,iBAAAA;GA9BzB,CAAA,EAiCI4H,mBAAmB,CAAEnL,OAAF,CAAnB,KAAkD6G,YAAY,CAACuE,IAAhE,iBACCxJ,cAAA,CAAA,aAAA,CAAC,mBAAD,EAAA;AACE,IAAA,SAAS,EAAC,qDADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,UAAU,EAAEwH,UAJd;AAKE,IAAA,iBAAiB,EAAEzE,iBAAAA;AALrB,GAAA,CAlCJ,EA0CI2F,kBAAkB,CAAClJ,OAAD,CAAnB,iBACC4B,6BAAC,wBAAD,EAAA;AACE,IAAA,SAAS,EAAC,qDADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,UAAU,EAAEwH,UAJd;AAKE,IAAA,iBAAiB,EAAEzE,iBALrB;AAME,IAAA,cAAc,EAAEmD,cAAAA;GAjDtB,CAAA,EAoDIyE,mBAAmB,CAAEnL,OAAF,CAAnB,KAAkD6G,YAAY,CAACwE,OAAhE,iBACCzJ,cAAA,CAAA,aAAA,CAAC,sBAAD,EAAA;AACE,IAAA,SAAS,EAAC,qDADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,UAAU,EAAEwH,UAJd;AAKE,IAAA,iBAAiB,EAAEzE,iBAAAA;AALrB,GAAA,CArDJ,EA8DIA,iBAAiB,IAAI,CAAA,CAAA+H,EAAA,GAAAtL,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE6E,SAAT,MAAkB,IAAlB,IAAkByG,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAE9G,MAApB,IAA6B,CAAnD,iBACC5C,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAE6H,YAAY,CAAC,CAC3B,oCAD2B,EAE1B,CAACjJ,MAAD,IAAW0I,kBAAkB,CAAClJ,OAAD,CAA7B,IAAyDkL,WAAW,CAAClL,OAAD,CAArE,GAAiG,EAAjG,GAAsG,SAF3E,EAG3BgI,UAAU,GAAG,aAAH,GAAmB,EAHF,CAAD,CAAA;AAA5B,GAAA,eAKEpG,6BAAC,cAAD,EAAA;AACE,IAAA,MAAM,EAAE1B,MADV;AAEE,IAAA,OAAO,EAAEF,OAFX;AAGE,IAAA,MAAM,EAAEQ,MAHV;AAIE,IAAA,cAAc,EAAE6C,cAJlB;AAKE,IAAA,kBAAkB,EAAEmD,YALtB;AAME,IAAA,cAAc,EAAElD,cAAAA;GAXpB,CAAA,CA/DJ,EA8EI,CAAC9C,MAAD,IAAW,CAAC2F,WAAb,iBACCvE,cAAA,CAAA,aAAA,CAAC,KAAD,EAAA;IACE,SAAS,EAAE6H,YAAY,CAAC,CAAC,8DAAD,EAAiE,OAAjE,EAA0EhB,sBAA1E,CAAD,CADzB;IAEE,IAAI,EAAE3G,eAAe,CAACyJ,SAFxB;IAGE,KAAK,EAAE9F,WAAW,CAACiF,cAAAA;GAElBc,EAAAA,MAAM,CAAC,CAAAxL,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEuK,SAAT,KAAsB,CAAvB,EAA0B,GAA1B,EAA+B;AACpCkB,IAAAA,MAAM,EAAE1E,UAAAA;AAD4B,GAA/B,CALT,CA/EJ,CA1CF,EAqIG8B,oBAAoB,iBACnBjH,6BAAC,aAAD,EAAA;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,UAAU,EAAE5B,OAAO,KAAP,IAAA,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE4C,UAFvB;AAGE,IAAA,OAAO,EAAE;AAAM,MAAA,OAAA+D,eAAe,SAAf,IAAAA,eAAe,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAAA,eAAe,CAAG;AAAE3G,QAAAA,OAAO,EAAEA,OAAAA;AAAX,OAAH,CAAf,CAAA;AAAoE,KAAA;AAHrF,GAAA,CAtIJ,CAjFF,eA+NE4B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,SAAS,EAAE6H,YAAY,CAAC,CAAC,iCAAD,EAAoClB,iBAApC,EAAuDC,0BAAvD,EAAmFI,oBAAnF,CAAD,CAAA;AAA5B,GAAA,EAEG,CAACpI,MAAD,IAAW,CAACkH,QAAZ,iBACC9F,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,SAAS,EAAE6H,YAAY,CAAC,CAAC,+BAAD,EAAkClB,iBAAlC,EAAqDE,sBAArD,EAA6EH,eAA7E,CAAD,CAAA;GACzB/E,EAAAA,iBAAiB,iBAChB3B,cAAA,CAAA,aAAA,CAAC,uBAAD,EAAA;AACE,IAAA,SAAS,EAAC,8CADZ;AAEE,IAAA,OAAO,EAAE5B,OAFX;AAGE,IAAA,MAAM,EAAEE,MAHV;AAIE,IAAA,gBAAgB,EAAE,EAJpB;AAKE,IAAA,cAAc,EAAEmD,cALlB;AAME,IAAA,cAAc,EAAEC,cANlB;AAOE,IAAA,gBAAgB,EAAE8E,gBAAAA;GATxB,CAAA,eAYExG,6BAAC,eAAD,EAAA;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE7B,OAFX;AAGE,IAAA,OAAO,EAAEC,OAHX;AAIE,IAAA,MAAM,EAAEQ,MAJV;AAKE,IAAA,SAAS,EAAEP,SALb;AAME,IAAA,QAAQ,EAAE2F,QANZ;AAOE,IAAA,UAAU,EAAEvF,UAPd;AAQE,IAAA,aAAa,EAAEF,aARjB;AASE,IAAA,eAAe,EAAEG,eATnB;AAUE,IAAA,gBAAgB,EAAE8H,gBAVpB;IAWE,eAAe,EAAE,UAAC3H,EAAD,EAAY;AAAT,MAAA,IAAAT,OAAO,GAAAS,EAAA,CAAAT,OAAP,CAAA;;AAClB,MAAA,IAAIuG,qBAAqB,KAAK6D,qBAAqB,CAACC,MAApD,EAA4D;AAC1D1D,QAAAA,eAAe,CAAC;AAAE3G,UAAAA,OAAO,EAAAA,OAAAA;AAAT,SAAD,CAAf,CAAA;AACD,OAFD,MAEO,IAAIuG,qBAAqB,KAAK6D,qBAAqB,CAACE,MAApD,EAA4D;QACjE7D,eAAe,CAACzG,OAAO,CAAC2I,aAAR,CAAsB4B,SAAvB,EAAkCvK,OAAO,CAACqC,eAA1C,CAAf,CAAA;AACD,OAAA;AACF,KAAA;AAjBH,GAAA,CAZF,CAHJ,CA/NF,EAqQIwF,QAAQ,KACN,CAAA,CAAA6D,EAAA,GAAA1L,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEc,aAAT,MAA0B,IAA1B,IAA0B4K,EAAA,KAAA,KAAA,CAA1B,GAA0B,KAAA,CAA1B,GAA0BA,EAAA,CAAApC,IAAA,CAAAtJ,OAAA,CAA1B,MAA8B,CAAA2L,EAAA,GAAA3L,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEuB,aAAT,MAA0B,IAA1B,IAA0BoK,EAAA,KAAA,KAAA,CAA1B,GAA0B,KAAA,CAA1B,GAA0BA,EAAA,CAAArC,IAAA,CAAAtJ,OAAA,CAAxD,CADM,CAAR,iBAGE4B,6BAAC,UAAD,EAAA;AACE,IAAA,SAAS,EAAE6F,UADb;AAEE,IAAA,OAAO,EAAE1H,OAFX;AAGE,IAAA,QAAQ,EAAE,YAAQ;MAAA+H,WAAW,CAAC,KAAD,CAAX,CAAA;KAHpB;AAIE,IAAA,OAAO,EAAE9H,OAJX;AAKE,IAAA,iBAAiB,EAAEuD,iBALrB;AAME,IAAA,MAAM,EAAE/C,MANV;AAOE,IAAA,MAAM,EAAEN,MAPV;AAQE,IAAA,SAAS,EAAED,SARb;AASE,IAAA,QAAQ,EAAE2F,QATZ;AAUE,IAAA,UAAU,EAAEvF,UAVd;AAWE,IAAA,cAAc,EAAEgD,cAXlB;AAYE,IAAA,aAAa,EAAElD,aAZjB;AAaE,IAAA,eAAe,EAAEG,eAbnB;AAcE,IAAA,cAAc,EAAEgD,cAdlB;AAeE,IAAA,QAAQ,EAAElD,QAAAA;AAfZ,GAAA,CAxQN,CADF,CAAA;AA8RD;;;;"}
|
package/ui/MessageInput.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-498add61.js';
|
|
2
2
|
import React__default, { useContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
|
|
3
3
|
import { renderToString } from 'react-dom/server';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-
|
|
6
|
-
import { U as USER_MENTION_TEMP_CHAR } from '../const-
|
|
5
|
+
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-83764204.js';
|
|
6
|
+
import { U as USER_MENTION_TEMP_CHAR } from '../const-9d11f204.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './Button.js';
|
|
9
9
|
import MentionUserLabel from './MentionUserLabel.js';
|
|
10
10
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
12
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
13
|
-
import { j as convertWordToStringObj, S as StringObjType, k as arrayEqual, h as getClassName } from '../index-
|
|
14
|
-
import '../tslib.es6-
|
|
15
|
-
import '../stringSet-
|
|
16
|
-
import '../index-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-44470dab.js';
|
|
12
|
+
import { a as LocalizationContext } from '../LocalizationContext-4df0cc32.js';
|
|
13
|
+
import { j as convertWordToStringObj, S as StringObjType, k as arrayEqual, h as getClassName } from '../index-5f08f486.js';
|
|
14
|
+
import '../tslib.es6-bcead7e6.js';
|
|
15
|
+
import '../stringSet-d555d877.js';
|
|
16
|
+
import '../index-07e060cd.js';
|
|
17
17
|
import '../utils/message/getOutgoingMessageState.js';
|
|
18
18
|
|
|
19
19
|
// https://davidwalsh.name/javascript-debounce-function
|
package/ui/MessageItemMenu.js
CHANGED
|
@@ -2,17 +2,17 @@ import React__default, { useContext, useRef } from 'react';
|
|
|
2
2
|
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
|
-
import { r as isUserMessage, s as isSentMessage, u as isFailedMessage, v as isPendingMessage, h as getClassName, w as copyToClipboard } from '../index-
|
|
6
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
7
|
-
import '../tslib.es6-
|
|
5
|
+
import { r as isUserMessage, s as isSentMessage, u as isFailedMessage, v as isPendingMessage, h as getClassName, w as copyToClipboard } from '../index-5f08f486.js';
|
|
6
|
+
import { a as LocalizationContext } from '../LocalizationContext-4df0cc32.js';
|
|
7
|
+
import '../tslib.es6-bcead7e6.js';
|
|
8
8
|
import 'react-dom';
|
|
9
9
|
import './SortByRow.js';
|
|
10
|
-
import '../uuid-
|
|
11
|
-
import '../index-
|
|
10
|
+
import '../uuid-286ed926.js';
|
|
11
|
+
import '../index-44470dab.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../stringSet-
|
|
13
|
+
import '../stringSet-d555d877.js';
|
|
14
14
|
import '../utils/message/getOutgoingMessageState.js';
|
|
15
|
-
import '../index-
|
|
15
|
+
import '../index-07e060cd.js';
|
|
16
16
|
|
|
17
17
|
function MessageItemMenu(_a) {
|
|
18
18
|
var _b;
|
|
@@ -4,14 +4,14 @@ import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
5
|
import ImageRenderer from './ImageRenderer.js';
|
|
6
6
|
import ReactionButton from './ReactionButton.js';
|
|
7
|
-
import { v as isPendingMessage, u as isFailedMessage, h as getClassName, x as getEmojiListAll } from '../index-
|
|
8
|
-
import '../tslib.es6-
|
|
7
|
+
import { v as isPendingMessage, u as isFailedMessage, h as getClassName, x as getEmojiListAll } from '../index-5f08f486.js';
|
|
8
|
+
import '../tslib.es6-bcead7e6.js';
|
|
9
9
|
import 'react-dom';
|
|
10
10
|
import './SortByRow.js';
|
|
11
|
-
import '../uuid-
|
|
12
|
-
import '../index-
|
|
11
|
+
import '../uuid-286ed926.js';
|
|
12
|
+
import '../index-44470dab.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-d555d877.js';
|
|
15
15
|
import '../utils/message/getOutgoingMessageState.js';
|
|
16
16
|
|
|
17
17
|
function MessageItemReactionMenu(_a) {
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-bcead7e6.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import Avatar from './Avatar.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
6
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
7
|
-
import { f as format } from '../index-
|
|
8
|
-
import { i as isToday, a as isYesterday
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-44470dab.js';
|
|
6
|
+
import { u as useLocalization } from '../LocalizationContext-4df0cc32.js';
|
|
7
|
+
import { f as format } from '../index-3f26a31c.js';
|
|
8
|
+
import { i as isToday, a as isYesterday } from '../index-defabece.js';
|
|
9
|
+
import { i as isThisYear } from '../index-1572c90f.js';
|
|
9
10
|
import './ImageRenderer.js';
|
|
10
|
-
import '../uuid-
|
|
11
|
+
import '../uuid-286ed926.js';
|
|
11
12
|
import 'prop-types';
|
|
12
|
-
import '../stringSet-
|
|
13
|
-
import '../index-
|
|
14
|
-
import '../index-
|
|
13
|
+
import '../stringSet-d555d877.js';
|
|
14
|
+
import '../index-07e060cd.js';
|
|
15
|
+
import '../index-d3f6dbb9.js';
|
|
15
16
|
|
|
16
17
|
function getCreatedAt(_a) {
|
|
17
18
|
var createdAt = _a.createdAt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageSearchFileItem.js","sources":["../../src/ui/MessageSearchFileItem/utils.ts","../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { FileMessage } from '@sendbird/chat/message';\nimport type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\n\nexport interface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\nexport function getCreatedAt({ createdAt, locale, stringSet }: GetCreatedAtProps): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n}\n\nexport function getIconOfFileType(message: FileMessage): string {\n const { url } = message;\n const fileMessageUrl = url;\n const fileExtension = (fileMessageUrl.match(/\\.([^.]*?)(?=\\?|#|$)/))[1];\n\n if (/(jpg|jpeg|png)$/i.test(fileExtension)) {\n return IconTypes.PHOTO;\n } else if (/mp4$/i.test(fileExtension)) {\n return IconTypes.PLAY;\n } else if (/mp3/i.test(fileExtension)) {\n return IconTypes.FILE_AUDIO;\n } else if (/gif/i.test(fileExtension)) {\n return IconTypes.GIF;\n } else {\n return IconTypes.FILE_DOCUMENT;\n }\n}\n\nexport function truncate(fullText: string, textLimit: number): string {\n if (fullText.length <= textLimit) return fullText;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = textLimit - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);\n}\n","import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType } from './utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n selected?: boolean;\n onClick?: (message: FileMessage) => void;\n}\n\nexport default function MessageSearchFileItem(props: Props): ReactElement {\n const {\n className,\n message,\n selected,\n onClick,\n } = props;\n const { createdAt, url, name } = message;\n const fileMessageUrl = url;\n // @ts-ignore\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-file-item',\n selected ? 'sendbird-message-search-file-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-file-item__left\">\n <Avatar\n className=\"sendbird-message-search-file-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-file-item__right\">\n <Label\n className=\"sendbird-message-search-file-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <div className=\"sendbird-message-search-file-item__right__content\">\n <div className=\"sendbird-message-search-file-item__right__content__type-icon\">\n <Icon\n type={getIconOfFileType(message)}\n fillColor={IconColors.PRIMARY}\n width=\"18px\"\n height=\"18px\"\n />\n </div>\n <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name || fileMessageUrl}\n </Label>\n </div>\n </div>\n <Label\n className=\"sendbird-message-search-file-item__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet})}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","_a","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getIconOfFileType","message","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","name","sender","_sender","profileUrl","nickname","useLocalization","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageSearchFileItem.js","sources":["../../src/ui/MessageSearchFileItem/utils.ts","../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { FileMessage } from '@sendbird/chat/message';\nimport type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\n\nexport interface GetCreatedAtProps {\n createdAt: number;\n locale?: Locale;\n stringSet?: Record<string, string>;\n}\n\nexport function getCreatedAt({ createdAt, locale, stringSet }: GetCreatedAtProps): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n}\n\nexport function getIconOfFileType(message: FileMessage): string {\n const { url } = message;\n const fileMessageUrl = url;\n const fileExtension = (fileMessageUrl.match(/\\.([^.]*?)(?=\\?|#|$)/))[1];\n\n if (/(jpg|jpeg|png)$/i.test(fileExtension)) {\n return IconTypes.PHOTO;\n } else if (/mp4$/i.test(fileExtension)) {\n return IconTypes.PLAY;\n } else if (/mp3/i.test(fileExtension)) {\n return IconTypes.FILE_AUDIO;\n } else if (/gif/i.test(fileExtension)) {\n return IconTypes.GIF;\n } else {\n return IconTypes.FILE_DOCUMENT;\n }\n}\n\nexport function truncate(fullText: string, textLimit: number): string {\n if (fullText.length <= textLimit) return fullText;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = textLimit - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);\n}\n","import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType } from './utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n selected?: boolean;\n onClick?: (message: FileMessage) => void;\n}\n\nexport default function MessageSearchFileItem(props: Props): ReactElement {\n const {\n className,\n message,\n selected,\n onClick,\n } = props;\n const { createdAt, url, name } = message;\n const fileMessageUrl = url;\n // @ts-ignore\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-file-item',\n selected ? 'sendbird-message-search-file-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-file-item__left\">\n <Avatar\n className=\"sendbird-message-search-file-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-file-item__right\">\n <Label\n className=\"sendbird-message-search-file-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <div className=\"sendbird-message-search-file-item__right__content\">\n <div className=\"sendbird-message-search-file-item__right__content__type-icon\">\n <Icon\n type={getIconOfFileType(message)}\n fillColor={IconColors.PRIMARY}\n width=\"18px\"\n height=\"18px\"\n />\n </div>\n <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name || fileMessageUrl}\n </Label>\n </div>\n </div>\n <Label\n className=\"sendbird-message-search-file-item__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt({ createdAt, locale: dateLocale, stringSet})}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","_a","createdAt","locale","stringSet","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getIconOfFileType","message","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","MessageSearchFileItem","props","className","selected","onClick","name","sender","_sender","profileUrl","nickname","useLocalization","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":"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"}
|