@sendbird/uikit-react 3.4.0-rc.6 → 3.4.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 +39 -39
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +32 -32
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +27 -27
- package/Channel/components/MessageInput.js +23 -23
- package/Channel/components/MessageList.js +28 -28
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +32 -32
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -29
- package/ChannelList/components/ChannelPreview.js +25 -25
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +29 -29
- package/{ChannelListProvider-d2eecf7e.js → ChannelListProvider-442bea80.js} +8 -8
- package/{ChannelListProvider-d2eecf7e.js.map → ChannelListProvider-442bea80.js.map} +1 -1
- package/{ChannelProvider-95416448.js → ChannelProvider-43d68897.js} +10 -10
- package/{ChannelProvider-95416448.js.map → ChannelProvider-43d68897.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-5f68e31b.js → CreateChannelProvider-62afdf07.js} +1 -1
- package/{CreateChannelProvider-5f68e31b.js.map → CreateChannelProvider-62afdf07.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-185f071e.js → LocalizationContext-83ddce67.js} +3 -3
- package/{LocalizationContext-185f071e.js.map → LocalizationContext-83ddce67.js.map} +1 -1
- package/{MediaQueryContext-e228cebf.js → MediaQueryContext-010e9df0.js} +1 -1
- package/{MediaQueryContext-e228cebf.js.map → MediaQueryContext-010e9df0.js.map} +1 -1
- package/{MemberList-5bfa34c8.js → MemberList-299e055b.js} +5 -5
- package/{MemberList-5bfa34c8.js.map → MemberList-299e055b.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +12 -12
- 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-d7cc5978.js → OpenChannelListProvider-2d811cef.js} +3 -3
- package/{OpenChannelListProvider-d7cc5978.js.map → OpenChannelListProvider-2d811cef.js.map} +1 -1
- package/{OpenChannelProvider-8366d743.js → OpenChannelProvider-7aef2b42.js} +7 -7
- package/{OpenChannelProvider-8366d743.js.map → OpenChannelProvider-7aef2b42.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-a9f0095f.js → RemoveMessageModal-1ca08354.js} +3 -3
- package/{RemoveMessageModal-a9f0095f.js.map → RemoveMessageModal-1ca08354.js.map} +1 -1
- package/SendbirdProvider.js +12 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +24 -24
- package/Thread/components/ParentMessageInfoItem.js +16 -16
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +27 -27
- package/Thread/components/ThreadListItem.js +27 -27
- package/Thread/components/ThreadMessageInput.js +24 -24
- package/Thread/components/ThreadUI.js +31 -31
- package/Thread/context.js +9 -9
- package/Thread.js +31 -31
- package/{ThreadProvider-ab21d98b.js → ThreadProvider-94605d33.js} +7 -7
- package/{ThreadProvider-ab21d98b.js.map → ThreadProvider-94605d33.js.map} +1 -1
- package/{UserProfileContext-1984f553.js → UserProfileContext-236a8db5.js} +1 -1
- package/{UserProfileContext-1984f553.js.map → UserProfileContext-236a8db5.js.map} +1 -1
- package/{VoiceMessageInputWrapper-8f1af9ac.js → VoiceMessageInputWrapper-8d50dc6c.js} +7 -7
- package/{VoiceMessageInputWrapper-8f1af9ac.js.map → VoiceMessageInputWrapper-8d50dc6c.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{_rollupPluginBabelHelpers-0c1e2bbc.js → _rollupPluginBabelHelpers-b0efb0e7.js} +1 -1
- package/_rollupPluginBabelHelpers-b0efb0e7.js.map +1 -0
- package/{actionTypes-3fcb0086.js → actionTypes-42a0e7a6.js} +1 -1
- package/{actionTypes-3fcb0086.js.map → actionTypes-42a0e7a6.js.map} +1 -1
- package/cjs/App.js +39 -39
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +32 -32
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +27 -27
- package/cjs/Channel/components/MessageInput.js +23 -23
- package/cjs/Channel/components/MessageList.js +28 -28
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +32 -32
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -29
- package/cjs/ChannelList/components/ChannelPreview.js +25 -25
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +29 -29
- package/cjs/{ChannelListProvider-aa345ff6.js → ChannelListProvider-c2da1fdd.js} +8 -8
- package/cjs/{ChannelListProvider-aa345ff6.js.map → ChannelListProvider-c2da1fdd.js.map} +1 -1
- package/cjs/{ChannelProvider-79dd3770.js → ChannelProvider-d207316d.js} +10 -10
- package/cjs/{ChannelProvider-79dd3770.js.map → ChannelProvider-d207316d.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-20f640d1.js → CreateChannelProvider-02349744.js} +1 -1
- package/cjs/{CreateChannelProvider-20f640d1.js.map → CreateChannelProvider-02349744.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-6ceeb08d.js → LocalizationContext-a60a75a7.js} +3 -3
- package/cjs/{LocalizationContext-6ceeb08d.js.map → LocalizationContext-a60a75a7.js.map} +1 -1
- package/cjs/{MediaQueryContext-362eaebf.js → MediaQueryContext-5d0a1ebc.js} +1 -1
- package/cjs/{MediaQueryContext-362eaebf.js.map → MediaQueryContext-5d0a1ebc.js.map} +1 -1
- package/cjs/{MemberList-876edccf.js → MemberList-4c6bb907.js} +5 -5
- package/cjs/{MemberList-876edccf.js.map → MemberList-4c6bb907.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +12 -12
- 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-ad82b84e.js → OpenChannelListProvider-5a949d98.js} +3 -3
- package/cjs/{OpenChannelListProvider-ad82b84e.js.map → OpenChannelListProvider-5a949d98.js.map} +1 -1
- package/cjs/{OpenChannelProvider-d279adcd.js → OpenChannelProvider-7c843439.js} +7 -7
- package/cjs/{OpenChannelProvider-d279adcd.js.map → OpenChannelProvider-7c843439.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-f7578712.js → RemoveMessageModal-a069ff52.js} +3 -3
- package/cjs/{RemoveMessageModal-f7578712.js.map → RemoveMessageModal-a069ff52.js.map} +1 -1
- package/cjs/SendbirdProvider.js +12 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +24 -24
- package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +27 -27
- package/cjs/Thread/components/ThreadListItem.js +27 -27
- package/cjs/Thread/components/ThreadMessageInput.js +24 -24
- package/cjs/Thread/components/ThreadUI.js +31 -31
- package/cjs/Thread/context.js +9 -9
- package/cjs/Thread.js +31 -31
- package/cjs/{ThreadProvider-40fb49f1.js → ThreadProvider-66fcc519.js} +7 -7
- package/cjs/{ThreadProvider-40fb49f1.js.map → ThreadProvider-66fcc519.js.map} +1 -1
- package/cjs/{UserProfileContext-46816497.js → UserProfileContext-2ec6891e.js} +1 -1
- package/cjs/{UserProfileContext-46816497.js.map → UserProfileContext-2ec6891e.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-2047974c.js → VoiceMessageInputWrapper-289e18f6.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-2047974c.js.map → VoiceMessageInputWrapper-289e18f6.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{_rollupPluginBabelHelpers-ce10fb67.js → _rollupPluginBabelHelpers-24f49f41.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-24f49f41.js.map +1 -0
- package/cjs/{actionTypes-9ac4364f.js → actionTypes-31463602.js} +1 -1
- package/cjs/{actionTypes-9ac4364f.js.map → actionTypes-31463602.js.map} +1 -1
- package/cjs/{color-fb0bd4dc.js → color-7144c59e.js} +1 -1
- package/cjs/{color-fb0bd4dc.js.map → color-7144c59e.js.map} +1 -1
- package/cjs/{compareIds-23ffa1de.js → compareIds-b3e3cffc.js} +1 -1
- package/cjs/{compareIds-23ffa1de.js.map → compareIds-b3e3cffc.js.map} +1 -1
- package/cjs/{const-5d56b5db.js → const-21424d05.js} +1 -1
- package/cjs/{const-5d56b5db.js.map → const-21424d05.js.map} +1 -1
- package/cjs/{const-ee640a21.js → const-d6a997ec.js} +1 -1
- package/cjs/{const-ee640a21.js.map → const-d6a997ec.js.map} +1 -1
- package/cjs/{consts-0b4ec7de.js → consts-47e4d487.js} +1 -1
- package/cjs/{consts-0b4ec7de.js.map → consts-47e4d487.js.map} +1 -1
- package/cjs/{context-9389e65d.js → context-8cb8affd.js} +2 -2
- package/cjs/{context-9389e65d.js.map → context-8cb8affd.js.map} +1 -1
- package/cjs/{index-55ba3cc8.js → index-254f336f.js} +2 -2
- package/cjs/{index-55ba3cc8.js.map → index-254f336f.js.map} +1 -1
- package/cjs/{index-e7743166.js → index-31f28d2f.js} +4 -4
- package/cjs/{index-e7743166.js.map → index-31f28d2f.js.map} +1 -1
- package/cjs/{index-5c924e04.js → index-4678a454.js} +1 -1
- package/cjs/{index-5c924e04.js.map → index-4678a454.js.map} +1 -1
- package/cjs/{index-7385f494.js → index-4c8c854d.js} +3 -3
- package/cjs/{index-7385f494.js.map → index-4c8c854d.js.map} +1 -1
- package/cjs/{index-9526aab3.js → index-62b0b176.js} +7 -7
- package/cjs/{index-9526aab3.js.map → index-62b0b176.js.map} +1 -1
- package/cjs/{index-d8e27e85.js → index-7f8189a8.js} +2 -2
- package/cjs/{index-d8e27e85.js.map → index-7f8189a8.js.map} +1 -1
- package/cjs/{index-5c1d60c5.js → index-8ea5c90b.js} +5 -5
- package/cjs/{index-5c1d60c5.js.map → index-8ea5c90b.js.map} +1 -1
- package/cjs/{index-50581591.js → index-987764bd.js} +1 -1
- package/cjs/{index-50581591.js.map → index-987764bd.js.map} +1 -1
- package/cjs/{index-4d9a228f.js → index-a1b754e9.js} +7 -7
- package/cjs/{index-4d9a228f.js.map → index-a1b754e9.js.map} +1 -1
- package/cjs/{index-9af01c70.js → index-a3f2fc1e.js} +3 -3
- package/cjs/{index-9af01c70.js.map → index-a3f2fc1e.js.map} +1 -1
- package/cjs/{index-83a053e8.js → index-c65779c7.js} +2 -4
- package/cjs/{index-83a053e8.js.map → index-c65779c7.js.map} +1 -1
- package/cjs/{index-76b73890.js → index-c77b4d21.js} +2 -2
- package/cjs/{index-76b73890.js.map → index-c77b4d21.js.map} +1 -1
- package/cjs/{index-64b4ab5d.js → index-dbe73222.js} +4 -4
- package/cjs/{index-64b4ab5d.js.map → index-dbe73222.js.map} +1 -1
- package/cjs/{index-ccdd2c6d.js → index-e97ad39a.js} +2 -2
- package/cjs/{index-ccdd2c6d.js.map → index-e97ad39a.js.map} +1 -1
- package/cjs/index.js +43 -43
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-300159b5.js → stringSet-4ee01b87.js} +1 -1
- package/cjs/{stringSet-300159b5.js.map → stringSet-4ee01b87.js.map} +1 -1
- package/cjs/{topics-fec992b5.js → topics-022da857.js} +1 -1
- package/cjs/{topics-fec992b5.js.map → topics-022da857.js.map} +1 -1
- package/cjs/{tslib.es6-24bba0b3.js → tslib.es6-e6498d62.js} +1 -1
- package/cjs/{tslib.es6-24bba0b3.js.map → tslib.es6-e6498d62.js.map} +1 -1
- package/cjs/{types-0a468190.js → types-aeca242a.js} +1 -1
- package/cjs/{types-0a468190.js.map → types-aeca242a.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 +23 -23
- package/cjs/ui/MessageInput.js +9 -9
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- 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/PlaybackTime.js +2 -2
- 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 +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-b7ba90dc.js → useLongPress-322218d9.js} +3 -3
- package/cjs/{useLongPress-b7ba90dc.js.map → useLongPress-322218d9.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -31
- package/cjs/utils/message/isVoiceMessage.js.map +1 -1
- package/cjs/{utils-7748c66d.js → utils-37fca8a6.js} +1 -1
- package/cjs/{utils-7748c66d.js.map → utils-37fca8a6.js.map} +1 -1
- package/cjs/{utils-061baf2b.js → utils-642928b9.js} +2 -2
- package/cjs/{utils-061baf2b.js.map → utils-642928b9.js.map} +1 -1
- package/cjs/{utils-62a0089e.js → utils-c95c0536.js} +1 -1
- package/cjs/{utils-62a0089e.js.map → utils-c95c0536.js.map} +1 -1
- package/cjs/{utils-c0a6d213.js → utils-eb7febed.js} +1 -1
- package/cjs/{utils-c0a6d213.js.map → utils-eb7febed.js.map} +1 -1
- package/cjs/{uuid-f6ebdbb6.js → uuid-74ed3d6f.js} +1 -1
- package/cjs/{uuid-f6ebdbb6.js.map → uuid-74ed3d6f.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-4c5a40c2.js → color-1e2ee795.js} +1 -1
- package/{color-4c5a40c2.js.map → color-1e2ee795.js.map} +1 -1
- package/{compareIds-1539ee9e.js → compareIds-5ccbddc5.js} +1 -1
- package/{compareIds-1539ee9e.js.map → compareIds-5ccbddc5.js.map} +1 -1
- package/{const-dd4df970.js → const-8faafb2e.js} +1 -1
- package/{const-dd4df970.js.map → const-8faafb2e.js.map} +1 -1
- package/{const-bcb0891c.js → const-dc9e776d.js} +1 -1
- package/{const-bcb0891c.js.map → const-dc9e776d.js.map} +1 -1
- package/{consts-5624d528.js → consts-36a3e18c.js} +1 -1
- package/{consts-5624d528.js.map → consts-36a3e18c.js.map} +1 -1
- package/{context-eb3f0bc1.js → context-7f6e48a4.js} +2 -2
- package/{context-eb3f0bc1.js.map → context-7f6e48a4.js.map} +1 -1
- package/{index-0f99e000.js → index-25d0ba0b.js} +7 -7
- package/{index-0f99e000.js.map → index-25d0ba0b.js.map} +1 -1
- package/{index-eb1423da.js → index-28d6891b.js} +7 -7
- package/{index-eb1423da.js.map → index-28d6891b.js.map} +1 -1
- package/{index-f57a2b6a.js → index-33f2cf64.js} +2 -2
- package/{index-f57a2b6a.js.map → index-33f2cf64.js.map} +1 -1
- package/{index-7f0ded81.js → index-34aa10d1.js} +3 -3
- package/{index-7f0ded81.js.map → index-34aa10d1.js.map} +1 -1
- package/{index-9bf22ab3.js → index-3fb2524a.js} +4 -4
- package/{index-9bf22ab3.js.map → index-3fb2524a.js.map} +1 -1
- package/{index-7179478a.js → index-5258ee05.js} +2 -2
- package/{index-7179478a.js.map → index-5258ee05.js.map} +1 -1
- package/{index-54aa17b3.js → index-5eb9a836.js} +1 -1
- package/{index-54aa17b3.js.map → index-5eb9a836.js.map} +1 -1
- package/{index-c4c16797.js → index-5f7a15e3.js} +1 -1
- package/{index-c4c16797.js.map → index-5f7a15e3.js.map} +1 -1
- package/{index-da0b4dd1.js → index-7e47ba7d.js} +2 -2
- package/{index-da0b4dd1.js.map → index-7e47ba7d.js.map} +1 -1
- package/{index-6d85416b.js → index-87ea8714.js} +3 -3
- package/{index-6d85416b.js.map → index-87ea8714.js.map} +1 -1
- package/{index-8a145d28.js → index-a66bf2c0.js} +4 -4
- package/{index-8a145d28.js.map → index-a66bf2c0.js.map} +1 -1
- package/{index-a1a62661.js → index-ba245747.js} +5 -5
- package/{index-a1a62661.js.map → index-ba245747.js.map} +1 -1
- package/{index-c1678d3a.js → index-ba7daf9f.js} +3 -3
- package/{index-c1678d3a.js.map → index-ba7daf9f.js.map} +1 -1
- package/{index-bb0e733b.js → index-ece24db0.js} +2 -2
- package/{index-bb0e733b.js.map → index-ece24db0.js.map} +1 -1
- package/index.d.ts +2 -2
- package/index.js +43 -43
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-38a5c684.js → stringSet-44be1369.js} +1 -1
- package/{stringSet-38a5c684.js.map → stringSet-44be1369.js.map} +1 -1
- package/{topics-29183cb3.js → topics-3f0db840.js} +1 -1
- package/{topics-29183cb3.js.map → topics-3f0db840.js.map} +1 -1
- package/{tslib.es6-b9a3439c.js → tslib.es6-d163c646.js} +1 -1
- package/{tslib.es6-b9a3439c.js.map → tslib.es6-d163c646.js.map} +1 -1
- package/{types-4d8e5e76.js → types-490489b7.js} +1 -1
- package/{types-4d8e5e76.js.map → types-490489b7.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 +23 -23
- package/ui/MessageInput.js +9 -9
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- 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/PlaybackTime.js +2 -2
- 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 +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +11 -11
- package/{useLongPress-19f4f65e.js → useLongPress-a05b8d13.js} +3 -3
- package/{useLongPress-19f4f65e.js.map → useLongPress-a05b8d13.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +3 -31
- package/utils/message/isVoiceMessage.js.map +1 -1
- package/{utils-fd2116cd.js → utils-14105f2b.js} +2 -2
- package/{utils-fd2116cd.js.map → utils-14105f2b.js.map} +1 -1
- package/{utils-345b3d6e.js → utils-3a9b2a5b.js} +1 -1
- package/{utils-345b3d6e.js.map → utils-3a9b2a5b.js.map} +1 -1
- package/{utils-316fb2a9.js → utils-49a0dde3.js} +1 -1
- package/{utils-316fb2a9.js.map → utils-49a0dde3.js.map} +1 -1
- package/{utils-e44701eb.js → utils-e96969ad.js} +1 -1
- package/{utils-e44701eb.js.map → utils-e96969ad.js.map} +1 -1
- package/{uuid-8326bfc8.js → uuid-bf5599d8.js} +1 -1
- package/{uuid-8326bfc8.js.map → uuid-bf5599d8.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/_rollupPluginBabelHelpers-0c1e2bbc.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-ce10fb67.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __assign, a as __spreadArray } from './tslib.es6-
|
|
1
|
+
import { _ as __assign, a as __spreadArray } from './tslib.es6-d163c646.js';
|
|
2
2
|
import { OutgoingMessageStates, getOutgoingMessageState } from './utils/message/getOutgoingMessageState.js';
|
|
3
3
|
|
|
4
4
|
var SUPPORTED_MIMES = {
|
|
@@ -702,5 +702,5 @@ var arrayEqual = function (array1, array2) {
|
|
|
702
702
|
return false;
|
|
703
703
|
};
|
|
704
704
|
|
|
705
|
-
export { getUIKitMessageTypes as A, getSenderName as B, isTextMessage as C, isOGMessage as D, isSupportedFileView as E, isVideo as F, isImage as G, getEmojiMapAll as H, isReactedBy as I, getEmojiTooltipString as J, getUIKitFileType as K, getUIKitFileTypes as L, isGif as M,
|
|
706
|
-
//# sourceMappingURL=index-
|
|
705
|
+
export { getUIKitMessageTypes as A, getSenderName as B, isTextMessage as C, isOGMessage as D, isSupportedFileView as E, isVideo as F, isImage as G, getEmojiMapAll as H, isReactedBy as I, getEmojiTooltipString as J, getUIKitFileType as K, getUIKitFileTypes as L, isGif as M, StringObjType as S, UIKitMessageTypes as U, getSendingMessageStatus as a, isReadMessage as b, filterMessageListParams as c, isVoiceMessage as d, isEditedMessage as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, isSentStatus as h, isTextuallyNull as i, getClassName as j, convertWordToStringObj as k, arrayEqual as l, isFileMessage as m, isImageMessage as n, isThumbnailMessage as o, isAudioMessage as p, isGifMessage as q, isVideoMessage as r, isUserMessage as s, truncateString as t, getUIKitMessageType as u, isSentMessage as v, isFailedMessage as w, isPendingMessage as x, copyToClipboard as y, getEmojiListAll as z };
|
|
706
|
+
//# sourceMappingURL=index-34aa10d1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-7f0ded81.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\n\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-34aa10d1.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport { getOutgoingMessageState, OutgoingMessageStates } from './exports/getOutgoingMessageState';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nexport const UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n VOICE: \"VOICE\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\n\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\n\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message?.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isAdminMessage?.() || (message?.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isUserMessage?.() || (message?.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message?.isFileMessage?.() || (message?.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage | FileMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && (\n message.ogMetaData?.url\n || message.ogMetaData?.title\n || message.ogMetaData?.description\n || message.ogMetaData?.defaultImage\n )\n);\nexport const isTextMessage = (message: UserMessage | FileMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: UserMessage | FileMessage): boolean => (\n message && isFileMessage(message) && isSupportedFileView((message as FileMessage).type)\n);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isVideo((message as FileMessage).type)\n);\nexport const isGifMessage = (message: UserMessage | FileMessage): boolean => (\n message && isThumbnailMessage(message) && isGif((message as FileMessage).type)\n);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\nexport const isAudioMessageMimeType = (type: string): boolean => (/^audio\\//.test(type));\nexport const isVoiceMessage = (message: FileMessage): boolean => {\n // ex) audio/m4a OR audio/m4a;sbu_type=voice\n if (!(message && isFileMessage(message))) {\n return false;\n }\n const [mimeType, typeParameter] = message.type?.split(';');\n if (!isAudioMessageMimeType(mimeType) || !typeParameter) {\n return false;\n }\n const [key, value] = typeParameter?.split('=');\n if (key === 'sbu_type' && value === 'voice') {\n return true;\n }\n // ex) message.metaArrays = [{ key: 'KEY_INTERNAL_MESSAGE_TYPE', value: ['voice/m4a'] }]\n return isVoiceMessageMimeType(message.metaArrays.find((metaArray) => metaArray.key === 'KEY_INTERNAL_MESSAGE_TYPE')?.value?.[0]);\n};\nexport const isVoiceMessageMimeType = (type: string): boolean => (/^voice\\//.test(type));\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n if (isThumbnailMessage(message as FileMessage)) {\n return UIKitMessageTypes.THUMBNAIL;\n }\n if (isVoiceMessage(message as FileMessage)) {\n return UIKitFileTypes.VOICE\n }\n return UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message?.sender && getUserName(message?.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\nexport const filterChannelListParams = (params: GroupChannelListQuery, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n const searchFilter = params?.searchFilter;\n if (searchFilter?.query && searchFilter.fields?.length > 0) {\n const searchQuery = searchFilter.query;\n const searchFields = searchFilter.fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n const userIdsFilter = params?.userIdsFilter;\n if (userIdsFilter?.userIds?.length > 0) {\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType {\n normal = 'normal',\n mention = 'mention',\n url = 'url',\n}\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","VOICE","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","__assign","getUIKitFileType","isSentMessage","message","sendingStatus","isReadMessage","channel","getOutgoingMessageState","OutgoingMessageStates","READ","isFailedMessage","isPendingMessage","isSentStatus","state","SENT","DELIVERED","isAdminMessage","_a","call","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","_b","title","_c","description","_d","defaultImage","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isAudioMessageMimeType","test","isVoiceMessage","split","mimeType","typeParameter","_e","key","value","isVoiceMessageMimeType","metaArrays","find","metaArray","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","__spreadArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","concat","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","searchFilter","query","fields","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","_f","nicknameContainsFilter","lowerCasedSubString_1","_g","_h","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","mentionedUser","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import { PlaybackTime } from './ui/PlaybackTime.js';
|
|
|
3
3
|
import { ProgressBar } from './ui/ProgressBar.js';
|
|
4
4
|
import TextButton from './ui/TextButton.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from './ui/Icon.js';
|
|
6
|
-
import { b as LabelColors, L as Label, a as LabelTypography } from './index-
|
|
7
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
8
|
-
import { j as VOICE_RECORDER_CLICK_BUFFER_TIME, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-
|
|
6
|
+
import { b as LabelColors, L as Label, a as LabelTypography } from './index-5258ee05.js';
|
|
7
|
+
import { u as useLocalization } from './LocalizationContext-83ddce67.js';
|
|
8
|
+
import { j as VOICE_RECORDER_CLICK_BUFFER_TIME, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-36a3e18c.js';
|
|
9
9
|
|
|
10
10
|
var VoiceMessageInputStatus = {
|
|
11
11
|
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
@@ -168,4 +168,4 @@ var VoiceMessageInput = function (_a) {
|
|
|
168
168
|
};
|
|
169
169
|
|
|
170
170
|
export { VoiceMessageInputStatus as V, VoiceMessageInput as a };
|
|
171
|
-
//# sourceMappingURL=index-
|
|
171
|
+
//# sourceMappingURL=index-3fb2524a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-9bf22ab3.js","sources":["../src/ui/VoiceMessageInput/types.ts","../src/ui/VoiceMessageInput/controlerIcons.tsx","../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","LabelColors","ONBACKGROUND_4","ONCONTENT_1","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":";;;;;;;;;AAAO,IAAMA,uBAAuB,GAAG;AACrCC,EAAAA,eAAe,EAAE,iBADoB;AAErCC,EAAAA,SAAS,EAAE,WAF0B;AAGrCC,EAAAA,aAAa,EAAE,eAHsB;AAIrCC,EAAAA,OAAO,EAAE,SAAA;AAJ4B;;ACShC,IAAMC,aAAa,GAAG,UAACC,EAAD,EAER;AADnB,EAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAV,CAAA;;AAEA,EAAA,QAAQA,UAAR;IACE,KAAKP,uBAAuB,CAACC,eAA7B;AAA8C,MAAA;QAC5C,oBACEO,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,qCAAA;SADjB,CAAA,CAAA;AAGD,OAAA;;IACD,KAAKR,uBAAuB,CAACE,SAA7B;AAAwC,MAAA;QACtC,oBACEM,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,mCAAA;SADjB,CAAA,CAAA;AAGD,OAAA;;IACD,KAAKR,uBAAuB,CAACG,aAA7B;AAA4C,MAAA;AAC1C,QAAA,oBACEK,6BAAC,IAAD,EAAA;AACE,UAAA,SAAS,EAAC,mCADZ;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;UAIE,IAAI,EAAEC,SAAS,CAACC,IAJlB;UAKE,SAAS,EAAEC,UAAU,CAACC,eAAAA;SAN1B,CAAA,CAAA;AASD,OAAA;;IACD,KAAKZ,uBAAuB,CAACI,OAA7B;AAAsC,MAAA;QACpC,oBACEI,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,oCAAA;SACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,0CAAA;AAAf,SAAA,CADF,eAEEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,0CAAA;AAAf,SAAA,CAFF,CADF,CAAA;AAMD,OAAA;;AACD,IAAA;AACE,MAAA,OAAO,IAAP,CAAA;AA/BJ,GAAA;AAiCD,CApCM;;ACiBMK,IAAAA,iBAAiB,GAAG,UAACP,EAAD,EAWR;AAVvB,EAAA,IAAAQ,EAAA,GAAAR,EAAA,CAAAS,aAAA;MAAAA,aAAa,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAAE,0BAAA,KAAhB;AAAA,MACAC,YAAY,GAAAX,EAAA,CAAAW,YADZ;AAAA,MAEAC,oBAFA;MAEAC,YAAY,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,CAAA,KAFf;AAAA,MAGAE,WAAW,GAAAd,EAAA,CAAAc,WAHX;AAAA,MAIAC,aAAa,GAAAf,EAAA,CAAAe,aAJb;AAAA,MAKAC,cAAc,GAAAhB,EAAA,CAAAgB,cALd;AAAA,MAMAC,aAAa,GAAAjB,EAAA,CAAAiB,aANb;AAAA,MAOAC,kBAAkB,wBAPlB;AAAA,MAQAC,mBAAmB,GAAAnB,EAAA,CAAAmB,mBARnB;AAAA,MASAC,kBAAkB,GAAApB,EAAA,CAAAoB,kBATlB,CAAA;;AAWM,EAAA,IAAAC,EAAA,GAAoCC,QAAQ,CAAS,CAAT,CAA5C;AAAA,MAACC,aAAa,GAAAF,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBG,gBAAgB,GAAAH,EAAA,CAAA,CAAA,CAAhC,CAAA;;AACN,EAAA,IAAMI,eAAe,GAAGC,OAAO,CAAC,YAAM;AAAA,IAAA,OAAAZ,WAAW,KAAKpB,uBAAuB,CAACC,eAAxC,CAAA;AAAuD,GAA9D,EAAgE,CAACmB,WAAD,CAAhE,CAA/B,CAAA;AACA,EAAA,IAAMa,WAAW,GAAGD,OAAO,CAAC,YAAM;AAAA,IAAA,OAAAZ,WAAW,KAAKpB,uBAAuB,CAACE,SAAxC,CAAA;AAAiD,GAAxD,EAA0D,CAACkB,WAAD,CAA1D,CAA3B,CAAA;AACA,EAAA,IAAMc,oBAAoB,GAAGF,OAAO,CAAC,YAAA;IACnC,IAAIZ,WAAW,KAAKpB,uBAAuB,CAACC,eAAxC,IACCmB,WAAW,KAAKpB,uBAAuB,CAACE,SAD7C,EAEE;MACA,OAAOa,aAAa,GAAGI,YAAvB,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,KAAP,CAAA;GANkC,EAOjC,CAACC,WAAD,EAAcL,aAAd,EAA6BI,YAA7B,CAPiC,CAApC,CAAA;AAQA,EAAA,IAAMgB,UAAU,GAAGH,OAAO,CAAC,YAAA;IACzB,OACEZ,WAAW,KAAKpB,uBAAuB,CAACG,aAAxC,IACGiB,WAAW,KAAKpB,uBAAuB,CAACI,OAF7C,CAAA;AAID,GALyB,EAKvB,CAACgB,WAAD,CALuB,CAA1B,CAAA;AAMQ,EAAA,IAAAgB,SAAS,GAAKC,eAAe,EAAA,UAA7B,CAAA;;EAER,IAAMC,mBAAmB,GAAG,YAAA;AAC1B,IAAA,IAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClErB,aAAa,EAAA,CAAA;MACbS,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;GALH,CAAA;;AAOA,EAAA,IAAMI,oBAAoB,GAAGC,WAAW,CAAC,YAAA;AACvC,IAAA,IAAML,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClEpB,cAAc,CAACF,WAAD,CAAd,CAAA;MACAU,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;AACF,GANuC,EAMrC,CAACnB,WAAD,CANqC,CAAxC,CAAA;;EAOA,IAAMyB,mBAAmB,GAAG,YAAA;AAC1B,IAAA,IAAMN,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClE,IAAI,CAACR,oBAAL,EAA2B;QACzBX,aAAa,EAAA,CAAA;AACd,OAAA;;MACDO,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;GAPH,CAAA;;EAUA,oBACE/B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,8BAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,uDAAA;AAAf,GAAA,eACEA,6BAAC,WAAD,EAAA;AACE,IAAA,SAAS,EAAC,4DADZ;AAEE,IAAA,QAAQ,EAAEuB,eAFZ;AAGE,IAAA,OAAO,EAAEd,YAHX;AAIE,IAAA,WAAW,EAAEE,YAAAA;GALjB,CAAA,CADF,EASIc,WAAD,gBAAiBzB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,iDAAA;AAAf,GAAA,CAAjB,GAAwF,IAT3F,eAUEA,cAAA,CAAA,aAAA,CAAC,YAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,IAAI,EAAE2B,UAAU,GAAGlB,YAAY,GAAGE,YAAlB,GAAiCA,YAFnD;IAGE,UAAU,EAAEY,eAAe,GAAGe,WAAW,CAACC,cAAf,GAAgCD,WAAW,CAACE,WAAAA;AAHzE,GAAA,CAVF,CADF,eAiBExC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;AAAf,GAAA,EAEI,CAAAgB,kBAAkB,KAAlB,IAAA,IAAAA,kBAAkB,WAAlB,SAAA,GAAAA,kBAAkB,EAAlB,kBACEhB,6BAAC,UAAD,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,OAAO,EAAE8B,mBAFX;IAGE,gBAAgB,EAAA,IAAA;AAHlB,GAAA,eAKE9B,6BAAC,KAAD,EAAA;IACE,IAAI,EAAEyC,eAAe,CAACC,QADxB;IAEE,KAAK,EAAEJ,WAAW,CAACK,OAAAA;GAElBf,EAAAA,SAAS,CAACgB,cAJb,CALF,CAHN,EAkBI,CAAA3B,mBAAmB,KAAnB,IAAA,IAAAA,mBAAmB,WAAnB,SAAA,GAAAA,mBAAmB,CAAGL,WAAH,CAAnB,kBACEZ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,+CADZ;AAEE,IAAA,OAAO,EAAEmC,oBAAAA;AAFX,GAAA,eAIEnC,6BAAC,aAAD,EAAA;AAAe,IAAA,UAAU,EAAEY,WAAAA;AAA3B,GAAA,CAJF,CAnBN,EA4BI,CAAAM,kBAAkB,KAAlB,IAAA,IAAAA,kBAAkB,WAAlB,SAAA,GAAAA,kBAAkB,EAAlB,kBACElB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IACE,SAAS,EAAE,mDAAA6C,MAAA,CAAmDnB,oBAAoB,GAAG,yBAAH,GAA+B,EAAtG,CADb;AAEE,IAAA,OAAO,EAAEW,mBAAAA;AAFX,GAAA,eAIErC,6BAAC,IAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;IAGE,IAAI,EAAEC,SAAS,CAAC6C,IAHlB;IAIE,SAAS,EAAEpB,oBAAoB,GAAGvB,UAAU,CAAC4C,eAAd,GAAgC5C,UAAU,CAAC6C,OAAAA;GAR9E,CAAA,CA7BN,CAjBF,CADF,CAAA;AA+DD;;;;"}
|
|
1
|
+
{"version":3,"file":"index-3fb2524a.js","sources":["../src/ui/VoiceMessageInput/types.ts","../src/ui/VoiceMessageInput/controlerIcons.tsx","../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","LabelColors","ONBACKGROUND_4","ONCONTENT_1","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { g as getStringSet } from './stringSet-
|
|
3
|
+
import { g as getStringSet } from './stringSet-44be1369.js';
|
|
4
4
|
|
|
5
5
|
const Typography = {
|
|
6
6
|
H_1: 'H_1',
|
|
@@ -129,4 +129,4 @@ const LabelColors = Colors;
|
|
|
129
129
|
const LabelStringSet = getStringSet('en');
|
|
130
130
|
|
|
131
131
|
export { Label as L, LabelTypography as a, LabelColors as b, LabelStringSet as c, changeColorToClassName as d };
|
|
132
|
-
//# sourceMappingURL=index-
|
|
132
|
+
//# sourceMappingURL=index-5258ee05.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-5258ee05.js","sources":["../src/ui/Label/types.js","../src/ui/Label/utils.js","../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return '';\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return '';\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.string,\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","className","children","React","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":"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"}
|