@sendbird/uikit-react-native 2.5.0 → 3.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/lib/commonjs/components/{MessageRenderer/MessageTime.js → ChannelInput/AttachmentsButton.js} +20 -17
- package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/commonjs/components/ChannelInput/EditInput.js +10 -18
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/SendInput.js +220 -163
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/index.js +5 -3
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChannelMessageList/index.js +27 -27
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList/FlatListInternal.js +33 -0
- package/lib/commonjs/components/ChatFlatList/FlatListInternal.js.map +1 -0
- package/lib/commonjs/components/{ChatFlatList.js → ChatFlatList/index.js} +5 -7
- package/lib/commonjs/components/ChatFlatList/index.js.map +1 -0
- package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
- package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/constants.js +1 -7
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +11 -7
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
- package/lib/commonjs/index.js +20 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/MentionManager.js +8 -9
- package/lib/commonjs/libs/MentionManager.js.map +1 -1
- package/lib/commonjs/libs/SBUUtils.js +7 -3
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +20 -62
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
- package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/module/components/ChannelInput/EditInput.js +10 -18
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/module/components/ChannelInput/SendInput.js +221 -164
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/module/components/ChannelInput/index.js +5 -3
- package/lib/module/components/ChannelInput/index.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js +28 -28
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/ChatFlatList/FlatListInternal.js +26 -0
- package/lib/module/components/ChatFlatList/FlatListInternal.js.map +1 -0
- package/lib/module/components/{ChatFlatList.js → ChatFlatList/index.js} +4 -7
- package/lib/module/components/ChatFlatList/index.js.map +1 -0
- package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/module/components/MessageSearchResultItem.js +2 -1
- package/lib/module/components/MessageSearchResultItem.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/constants.js +0 -5
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +17 -14
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +6 -4
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/module/domain/openChannelList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +24 -102
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelFragment.js +2 -8
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +11 -7
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useMentionTextInput.js +3 -2
- package/lib/module/hooks/useMentionTextInput.js.map +1 -1
- package/lib/module/index.js +5 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/MentionManager.js +8 -9
- package/lib/module/libs/MentionManager.js.map +1 -1
- package/lib/module/libs/SBUUtils.js +7 -3
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +20 -62
- package/lib/module/localization/createBaseStringSet.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
- package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
- package/lib/typescript/src/components/ChatFlatList/FlatListInternal.d.ts +20 -0
- package/lib/typescript/src/components/{ChatFlatList.d.ts → ChatFlatList/index.d.ts} +1 -5
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
- package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
- package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
- package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +0 -5
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +16 -11
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
- package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
- package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +14 -10
- package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
- package/src/components/ChannelInput/EditInput.tsx +17 -18
- package/src/components/ChannelInput/SendInput.tsx +237 -181
- package/src/components/ChannelInput/index.tsx +8 -21
- package/src/components/ChannelMessageList/index.tsx +33 -41
- package/src/components/ChatFlatList/FlatListInternal.tsx +40 -0
- package/src/components/{ChatFlatList.tsx → ChatFlatList/index.tsx} +7 -12
- package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
- package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
- package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
- package/src/components/MessageSearchResultItem.tsx +3 -1
- package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
- package/src/constants.ts +0 -5
- package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
- package/src/containers/SendbirdUIKitContainer.tsx +98 -90
- package/src/contexts/SendbirdChatCtx.tsx +49 -36
- package/src/contexts/UserProfileCtx.tsx +10 -5
- package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
- package/src/domain/groupChannel/types.ts +1 -14
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
- package/src/domain/groupChannelList/types.ts +8 -30
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
- package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
- package/src/domain/openChannel/types.ts +1 -1
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
- package/src/domain/openChannelList/types.ts +6 -13
- package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
- package/src/fragments/createGroupChannelFragment.tsx +21 -97
- package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
- package/src/fragments/createGroupChannelListFragment.tsx +9 -15
- package/src/fragments/createMessageSearchFragment.tsx +1 -1
- package/src/fragments/createOpenChannelFragment.tsx +2 -3
- package/src/fragments/createOpenChannelListFragment.tsx +2 -1
- package/src/hooks/useConnection.ts +9 -7
- package/src/hooks/useMentionTextInput.ts +7 -2
- package/src/index.ts +4 -2
- package/src/libs/MentionManager.tsx +8 -7
- package/src/libs/SBUUtils.ts +7 -3
- package/src/localization/StringSet.type.ts +2 -46
- package/src/localization/createBaseStringSet.ts +19 -71
- package/src/version.ts +1 -1
- package/lib/commonjs/components/ChatFlatList.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/index.js +0 -186
- package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
- package/lib/module/components/ChatFlatList.js.map +0 -1
- package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
- package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
- package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/index.js +0 -178
- package/lib/module/components/MessageRenderer/index.js.map +0 -1
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
- package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
- package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
- package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
- package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
- package/src/components/MessageRenderer/MessageTime.tsx +0 -28
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
- package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
- package/src/components/MessageRenderer/index.tsx +0 -198
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { Platform, StyleSheet, View } from 'react-native';
|
|
3
|
-
import { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { getAvailableUriFromFileMessage, useForceUpdate } from '@sendbird/uikit-utils';
|
|
5
|
-
const useRetry = function (hasError) {
|
|
6
|
-
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
7
|
-
if (Platform.OS === 'android') return '';
|
|
8
|
-
const forceUpdate = useForceUpdate();
|
|
9
|
-
const retryCountRef = useRef(1);
|
|
10
|
-
const retryTimeoutRef = useRef();
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
if (hasError) {
|
|
13
|
-
const reloadReservation = () => {
|
|
14
|
-
if (retryCountRef.current < retryCount) {
|
|
15
|
-
retryTimeoutRef.current = setTimeout(() => {
|
|
16
|
-
retryCountRef.current++;
|
|
17
|
-
reloadReservation();
|
|
18
|
-
forceUpdate();
|
|
19
|
-
}, retryCountRef.current * 5000);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
return reloadReservation();
|
|
23
|
-
} else {
|
|
24
|
-
return clearTimeout(retryTimeoutRef.current);
|
|
25
|
-
}
|
|
26
|
-
}, [hasError]);
|
|
27
|
-
return retryCountRef.current;
|
|
28
|
-
};
|
|
29
|
-
const ImageFileMessage = _ref => {
|
|
30
|
-
let {
|
|
31
|
-
message,
|
|
32
|
-
children,
|
|
33
|
-
variant
|
|
34
|
-
} = _ref;
|
|
35
|
-
const {
|
|
36
|
-
colors
|
|
37
|
-
} = useUIKitTheme();
|
|
38
|
-
const [imageNotFound, setImageNotFound] = useState(false);
|
|
39
|
-
const fileUrl = getAvailableUriFromFileMessage(message);
|
|
40
|
-
const style = [styles.image, {
|
|
41
|
-
backgroundColor: colors.onBackground04
|
|
42
|
-
}];
|
|
43
|
-
const key = useRetry(imageNotFound);
|
|
44
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
45
|
-
style: [styles.bubbleContainer, {
|
|
46
|
-
backgroundColor: imageNotFound ? colors.onBackground04 : colors.ui.groupChannelMessage[variant].enabled.background
|
|
47
|
-
}]
|
|
48
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
49
|
-
style: style
|
|
50
|
-
}, /*#__PURE__*/React.createElement(Image, {
|
|
51
|
-
key: key,
|
|
52
|
-
source: {
|
|
53
|
-
uri: fileUrl
|
|
54
|
-
},
|
|
55
|
-
style: [StyleSheet.absoluteFill, imageNotFound && styles.hide],
|
|
56
|
-
resizeMode: 'cover',
|
|
57
|
-
resizeMethod: 'resize',
|
|
58
|
-
onError: () => setImageNotFound(true),
|
|
59
|
-
onLoad: () => setImageNotFound(false)
|
|
60
|
-
}), imageNotFound && /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
-
containerStyle: StyleSheet.absoluteFill,
|
|
62
|
-
icon: 'thumbnail-none',
|
|
63
|
-
size: 48,
|
|
64
|
-
color: colors.onBackground02
|
|
65
|
-
})), children);
|
|
66
|
-
};
|
|
67
|
-
const styles = createStyleSheet({
|
|
68
|
-
bubbleContainer: {
|
|
69
|
-
borderRadius: 16,
|
|
70
|
-
overflow: 'hidden'
|
|
71
|
-
},
|
|
72
|
-
image: {
|
|
73
|
-
width: 240,
|
|
74
|
-
maxWidth: 240,
|
|
75
|
-
height: 160,
|
|
76
|
-
borderRadius: 16,
|
|
77
|
-
overflow: 'hidden'
|
|
78
|
-
},
|
|
79
|
-
hide: {
|
|
80
|
-
display: 'none'
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
export default ImageFileMessage;
|
|
84
|
-
//# sourceMappingURL=ImageFileMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","Platform","StyleSheet","View","Icon","Image","createStyleSheet","useUIKitTheme","getAvailableUriFromFileMessage","useForceUpdate","useRetry","hasError","retryCount","arguments","length","undefined","OS","forceUpdate","retryCountRef","retryTimeoutRef","reloadReservation","current","setTimeout","clearTimeout","ImageFileMessage","_ref","message","children","variant","colors","imageNotFound","setImageNotFound","fileUrl","style","styles","image","backgroundColor","onBackground04","key","createElement","bubbleContainer","ui","groupChannelMessage","enabled","background","source","uri","absoluteFill","hide","resizeMode","resizeMethod","onError","onLoad","containerStyle","icon","size","color","onBackground02","borderRadius","overflow","width","maxWidth","height","display"],"sources":["ImageFileMessage.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\n\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getAvailableUriFromFileMessage, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type { FileMessageProps } from './index';\n\nconst useRetry = (hasError: boolean, retryCount = 5) => {\n if (Platform.OS === 'android') return '';\n\n const forceUpdate = useForceUpdate();\n const retryCountRef = useRef(1);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (hasError) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n forceUpdate();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [hasError]);\n\n return retryCountRef.current;\n};\n\nconst ImageFileMessage = ({ message, children, variant }: FileMessageProps) => {\n const { colors } = useUIKitTheme();\n const [imageNotFound, setImageNotFound] = useState(false);\n\n const fileUrl = getAvailableUriFromFileMessage(message);\n const style = [styles.image, { backgroundColor: colors.onBackground04 }];\n\n const key = useRetry(imageNotFound);\n\n return (\n <View\n style={[\n styles.bubbleContainer,\n {\n backgroundColor: imageNotFound\n ? colors.onBackground04\n : colors.ui.groupChannelMessage[variant].enabled.background,\n },\n ]}\n >\n <View style={style}>\n <Image\n key={key}\n source={{ uri: fileUrl }}\n style={[StyleSheet.absoluteFill, imageNotFound && styles.hide]}\n resizeMode={'cover'}\n resizeMethod={'resize'}\n onError={() => setImageNotFound(true)}\n onLoad={() => setImageNotFound(false)}\n />\n {imageNotFound && (\n <Icon\n containerStyle={StyleSheet.absoluteFill}\n icon={'thumbnail-none'}\n size={48}\n color={colors.onBackground02}\n />\n )}\n </View>\n {children}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n image: {\n width: 240,\n maxWidth: 240,\n height: 160,\n borderRadius: 16,\n overflow: 'hidden',\n },\n hide: {\n display: 'none',\n },\n});\n\nexport default ImageFileMessage;\n"],"mappings":"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"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';
|
|
5
|
-
import { usePlatformService } from '../../../hooks/useContext';
|
|
6
|
-
const useRetry = function (videoFileUrl) {
|
|
7
|
-
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
8
|
-
const [state, setState] = useState({
|
|
9
|
-
thumbnail: null,
|
|
10
|
-
loading: true
|
|
11
|
-
});
|
|
12
|
-
const retryCountRef = useRef(0);
|
|
13
|
-
const retryTimeoutRef = useRef();
|
|
14
|
-
const {
|
|
15
|
-
mediaService
|
|
16
|
-
} = usePlatformService();
|
|
17
|
-
const fetchThumbnail = () => {
|
|
18
|
-
return mediaService.getVideoThumbnail({
|
|
19
|
-
url: videoFileUrl,
|
|
20
|
-
timeMills: 1000
|
|
21
|
-
}).then(result => {
|
|
22
|
-
setState({
|
|
23
|
-
loading: false,
|
|
24
|
-
thumbnail: (result === null || result === void 0 ? void 0 : result.path) ?? null
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (!state.thumbnail) {
|
|
30
|
-
const reloadReservation = () => {
|
|
31
|
-
if (retryCountRef.current < retryCount) {
|
|
32
|
-
retryTimeoutRef.current = setTimeout(() => {
|
|
33
|
-
retryCountRef.current++;
|
|
34
|
-
reloadReservation();
|
|
35
|
-
fetchThumbnail();
|
|
36
|
-
}, retryCountRef.current * 5000);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
return reloadReservation();
|
|
40
|
-
} else {
|
|
41
|
-
return clearTimeout(retryTimeoutRef.current);
|
|
42
|
-
}
|
|
43
|
-
}, [state.thumbnail]);
|
|
44
|
-
return state;
|
|
45
|
-
};
|
|
46
|
-
const VideoFileMessage = _ref => {
|
|
47
|
-
let {
|
|
48
|
-
message,
|
|
49
|
-
variant,
|
|
50
|
-
children
|
|
51
|
-
} = _ref;
|
|
52
|
-
const {
|
|
53
|
-
colors
|
|
54
|
-
} = useUIKitTheme();
|
|
55
|
-
const fileUrl = getAvailableUriFromFileMessage(message);
|
|
56
|
-
const style = [styles.video, {
|
|
57
|
-
backgroundColor: colors.onBackground04
|
|
58
|
-
}];
|
|
59
|
-
const {
|
|
60
|
-
loading,
|
|
61
|
-
thumbnail
|
|
62
|
-
} = useRetry(fileUrl);
|
|
63
|
-
if (loading) {
|
|
64
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
65
|
-
style: [styles.bubbleContainer, {
|
|
66
|
-
backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background
|
|
67
|
-
}]
|
|
68
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
69
|
-
style: [styles.bubbleContainer, styles.bubbleInnerContainer]
|
|
70
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
71
|
-
style: style
|
|
72
|
-
}), /*#__PURE__*/React.createElement(PlayIcon, null)), children);
|
|
73
|
-
}
|
|
74
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
75
|
-
style: [styles.bubbleContainer, {
|
|
76
|
-
backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background
|
|
77
|
-
}]
|
|
78
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
79
|
-
style: [styles.bubbleContainer, styles.bubbleInnerContainer]
|
|
80
|
-
}, /*#__PURE__*/React.createElement(Image, {
|
|
81
|
-
source: {
|
|
82
|
-
uri: thumbnail || fileUrl
|
|
83
|
-
},
|
|
84
|
-
style: style,
|
|
85
|
-
resizeMode: 'cover',
|
|
86
|
-
resizeMethod: 'resize'
|
|
87
|
-
}), /*#__PURE__*/React.createElement(PlayIcon, null)), children);
|
|
88
|
-
};
|
|
89
|
-
const PlayIcon = () => {
|
|
90
|
-
const {
|
|
91
|
-
colors
|
|
92
|
-
} = useUIKitTheme();
|
|
93
|
-
return /*#__PURE__*/React.createElement(Icon, {
|
|
94
|
-
icon: 'play',
|
|
95
|
-
size: 28,
|
|
96
|
-
color: colors.onBackground02,
|
|
97
|
-
containerStyle: [styles.playIcon, {
|
|
98
|
-
backgroundColor: colors.onBackgroundReverse01
|
|
99
|
-
}]
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
const styles = createStyleSheet({
|
|
103
|
-
bubbleContainer: {
|
|
104
|
-
borderRadius: 16,
|
|
105
|
-
overflow: 'hidden'
|
|
106
|
-
},
|
|
107
|
-
bubbleInnerContainer: {
|
|
108
|
-
alignItems: 'center',
|
|
109
|
-
justifyContent: 'center'
|
|
110
|
-
},
|
|
111
|
-
video: {
|
|
112
|
-
width: 240,
|
|
113
|
-
maxWidth: 240,
|
|
114
|
-
height: 160
|
|
115
|
-
},
|
|
116
|
-
playIcon: {
|
|
117
|
-
position: 'absolute',
|
|
118
|
-
padding: 10,
|
|
119
|
-
borderRadius: 50
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
export default VideoFileMessage;
|
|
123
|
-
//# sourceMappingURL=VideoFileMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","View","Icon","Image","createStyleSheet","useUIKitTheme","getAvailableUriFromFileMessage","usePlatformService","useRetry","videoFileUrl","retryCount","arguments","length","undefined","state","setState","thumbnail","loading","retryCountRef","retryTimeoutRef","mediaService","fetchThumbnail","getVideoThumbnail","url","timeMills","then","result","path","reloadReservation","current","setTimeout","clearTimeout","VideoFileMessage","_ref","message","variant","children","colors","fileUrl","style","styles","video","backgroundColor","onBackground04","createElement","bubbleContainer","ui","groupChannelMessage","enabled","background","bubbleInnerContainer","PlayIcon","source","uri","resizeMode","resizeMethod","icon","size","color","onBackground02","containerStyle","playIcon","onBackgroundReverse01","borderRadius","overflow","alignItems","justifyContent","width","maxWidth","height","position","padding"],"sources":["VideoFileMessage.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { View } from 'react-native';\n\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { getAvailableUriFromFileMessage } from '@sendbird/uikit-utils';\n\nimport { usePlatformService } from '../../../hooks/useContext';\nimport type { FileMessageProps } from './index';\n\nconst useRetry = (videoFileUrl: string, retryCount = 5) => {\n const [state, setState] = useState({ thumbnail: null as null | string, loading: true });\n const retryCountRef = useRef(0);\n const retryTimeoutRef = useRef<NodeJS.Timeout>();\n\n const { mediaService } = usePlatformService();\n\n const fetchThumbnail = () => {\n return mediaService.getVideoThumbnail({ url: videoFileUrl, timeMills: 1000 }).then((result) => {\n setState({ loading: false, thumbnail: result?.path ?? null });\n });\n };\n\n useEffect(() => {\n if (!state.thumbnail) {\n const reloadReservation = () => {\n if (retryCountRef.current < retryCount) {\n retryTimeoutRef.current = setTimeout(() => {\n retryCountRef.current++;\n reloadReservation();\n fetchThumbnail();\n }, retryCountRef.current * 5000);\n }\n };\n\n return reloadReservation();\n } else {\n return clearTimeout(retryTimeoutRef.current);\n }\n }, [state.thumbnail]);\n\n return state;\n};\n\nconst VideoFileMessage = ({ message, variant, children }: FileMessageProps) => {\n const { colors } = useUIKitTheme();\n\n const fileUrl = getAvailableUriFromFileMessage(message);\n const style = [styles.video, { backgroundColor: colors.onBackground04 }];\n\n const { loading, thumbnail } = useRetry(fileUrl);\n\n if (loading) {\n return (\n <View\n style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}\n >\n <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>\n <View style={style} />\n <PlayIcon />\n </View>\n {children}\n </View>\n );\n }\n\n return (\n <View\n style={[styles.bubbleContainer, { backgroundColor: colors.ui.groupChannelMessage[variant].enabled.background }]}\n >\n <View style={[styles.bubbleContainer, styles.bubbleInnerContainer]}>\n <Image source={{ uri: thumbnail || fileUrl }} style={style} resizeMode={'cover'} resizeMethod={'resize'} />\n <PlayIcon />\n </View>\n {children}\n </View>\n );\n};\n\nconst PlayIcon = () => {\n const { colors } = useUIKitTheme();\n\n return (\n <Icon\n icon={'play'}\n size={28}\n color={colors.onBackground02}\n containerStyle={[styles.playIcon, { backgroundColor: colors.onBackgroundReverse01 }]}\n />\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n bubbleInnerContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n video: {\n width: 240,\n maxWidth: 240,\n height: 160,\n },\n playIcon: {\n position: 'absolute',\n padding: 10,\n borderRadius: 50,\n },\n});\n\nexport default VideoFileMessage;\n"],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { getFileExtension, getFileType } from '@sendbird/uikit-utils';
|
|
4
|
-
import BaseFileMessage from './BaseFileMessage';
|
|
5
|
-
import ImageFileMessage from './ImageFileMessage';
|
|
6
|
-
import VideoFileMessage from './VideoFileMessage';
|
|
7
|
-
const FileMessage = props => {
|
|
8
|
-
const fileType = getFileType(props.message.type || getFileExtension(props.message.name));
|
|
9
|
-
if (fileType === 'image') return /*#__PURE__*/React.createElement(ImageFileMessage, props);
|
|
10
|
-
if (fileType === 'video') return /*#__PURE__*/React.createElement(VideoFileMessage, props);
|
|
11
|
-
return /*#__PURE__*/React.createElement(BaseFileMessage, _extends({}, props, {
|
|
12
|
-
type: fileType
|
|
13
|
-
}));
|
|
14
|
-
};
|
|
15
|
-
export default /*#__PURE__*/React.memo(FileMessage);
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","getFileExtension","getFileType","BaseFileMessage","ImageFileMessage","VideoFileMessage","FileMessage","props","fileType","message","type","name","createElement","_extends","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SendbirdFileMessage, getFileExtension, getFileType } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\nimport BaseFileMessage from './BaseFileMessage';\nimport ImageFileMessage from './ImageFileMessage';\nimport VideoFileMessage from './VideoFileMessage';\n\nexport type FileMessageProps = MessageRendererInterface<SendbirdFileMessage>;\nconst FileMessage = (props: FileMessageProps) => {\n const fileType = getFileType(props.message.type || getFileExtension(props.message.name));\n\n if (fileType === 'image') return <ImageFileMessage {...props} />;\n if (fileType === 'video') return <VideoFileMessage {...props} />;\n\n return <BaseFileMessage {...props} type={fileType} />;\n};\n\nexport default React.memo(FileMessage);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAA8BC,gBAAgB,EAAEC,WAAW,QAAQ,uBAAuB;AAG1F,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AAGjD,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C,MAAMC,QAAQ,GAAGN,WAAW,CAACK,KAAK,CAACE,OAAO,CAACC,IAAI,IAAIT,gBAAgB,CAACM,KAAK,CAACE,OAAO,CAACE,IAAI,CAAC,CAAC;EAExF,IAAIH,QAAQ,KAAK,OAAO,EAAE,oBAAOR,KAAA,CAAAY,aAAA,CAACR,gBAAgB,EAAKG,KAAK,CAAI;EAChE,IAAIC,QAAQ,KAAK,OAAO,EAAE,oBAAOR,KAAA,CAAAY,aAAA,CAACP,gBAAgB,EAAKE,KAAK,CAAI;EAEhE,oBAAOP,KAAA,CAAAY,aAAA,CAACT,eAAe,EAAAU,QAAA,KAAKN,KAAK;IAAEG,IAAI,EAAEF;EAAS,GAAG;AACvD,CAAC;AAED,4BAAeR,KAAK,CAACc,IAAI,CAACR,WAAW,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { createStyleSheet } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
const MessageContainer = _ref => {
|
|
5
|
-
let {
|
|
6
|
-
children
|
|
7
|
-
} = _ref;
|
|
8
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
9
|
-
style: styles.container
|
|
10
|
-
}, children);
|
|
11
|
-
};
|
|
12
|
-
const styles = createStyleSheet({
|
|
13
|
-
container: {
|
|
14
|
-
flexDirection: 'column',
|
|
15
|
-
paddingHorizontal: 16
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
export default MessageContainer;
|
|
19
|
-
//# sourceMappingURL=MessageContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","createStyleSheet","MessageContainer","_ref","children","createElement","style","styles","container","flexDirection","paddingHorizontal"],"sources":["MessageContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { createStyleSheet } from '@sendbird/uikit-react-native-foundation';\n\nconst MessageContainer = ({ children }: React.PropsWithChildren) => {\n return <View style={styles.container}>{children}</View>;\n};\n\nconst styles = createStyleSheet({\n container: {\n flexDirection: 'column',\n paddingHorizontal: 16,\n },\n});\n\nexport default MessageContainer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,gBAAgB,QAAQ,yCAAyC;AAE1E,MAAMC,gBAAgB,GAAGC,IAAA,IAA2C;EAAA,IAA1C;IAAEC;EAAkC,CAAC,GAAAD,IAAA;EAC7D,oBAAOJ,KAAA,CAAAM,aAAA,CAACL,IAAI;IAACM,KAAK,EAAEC,MAAM,CAACC;EAAU,GAAEJ,QAAQ,CAAQ;AACzD,CAAC;AAED,MAAMG,MAAM,GAAGN,gBAAgB,CAAC;EAC9BO,SAAS,EAAE;IACTC,aAAa,EAAE,QAAQ;IACvBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAeR,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","MessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["MessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n};\n\nconst MessageDateSeparator = ({ message, prevMessage }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default MessageDateSeparator;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAOxD,MAAMC,oBAAoB,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAAF,IAAA;EAC3D,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EACxB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,oBAAoB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Pressable, View } from 'react-native';
|
|
3
|
-
import { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { useUserProfile } from '../../hooks/useContext';
|
|
5
|
-
const MessageIncomingAvatar = _ref => {
|
|
6
|
-
var _message$sender;
|
|
7
|
-
let {
|
|
8
|
-
message,
|
|
9
|
-
grouping
|
|
10
|
-
} = _ref;
|
|
11
|
-
const {
|
|
12
|
-
show
|
|
13
|
-
} = useUserProfile();
|
|
14
|
-
if (grouping) return /*#__PURE__*/React.createElement(View, {
|
|
15
|
-
style: styles.avatar
|
|
16
|
-
});
|
|
17
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
18
|
-
style: styles.avatar
|
|
19
|
-
}, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Pressable, {
|
|
20
|
-
onPress: () => show(message.sender)
|
|
21
|
-
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
22
|
-
size: 26,
|
|
23
|
-
uri: (_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.profileUrl
|
|
24
|
-
})));
|
|
25
|
-
};
|
|
26
|
-
const styles = createStyleSheet({
|
|
27
|
-
avatar: {
|
|
28
|
-
width: 26,
|
|
29
|
-
marginRight: 12
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
export default MessageIncomingAvatar;
|
|
33
|
-
//# sourceMappingURL=MessageIncomingAvatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","View","Avatar","createStyleSheet","useUserProfile","MessageIncomingAvatar","_ref","_message$sender","message","grouping","show","createElement","style","styles","avatar","isFileMessage","isUserMessage","onPress","sender","size","uri","profileUrl","width","marginRight"],"sources":["MessageIncomingAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\n\nimport { Avatar, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useUserProfile } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingAvatar = ({ message, grouping }: Props) => {\n const { show } = useUserProfile();\n if (grouping) return <View style={styles.avatar} />;\n return (\n <View style={styles.avatar}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Pressable onPress={() => show(message.sender)}>\n <Avatar size={26} uri={message.sender?.profileUrl} />\n </Pressable>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n avatar: {\n width: 26,\n marginRight: 12,\n },\n});\n\nexport default MessageIncomingAvatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAE9C,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,yCAAyC;AAGlF,SAASC,cAAc,QAAQ,wBAAwB;AAMvD,MAAMC,qBAAqB,GAAGC,IAAA,IAAkC;EAAA,IAAAC,eAAA;EAAA,IAAjC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAAH,IAAA;EACzD,MAAM;IAAEI;EAAK,CAAC,GAAGN,cAAc,EAAE;EACjC,IAAIK,QAAQ,EAAE,oBAAOV,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAO,EAAG;EACnD,oBACEf,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAO,GACxB,CAACN,OAAO,CAACO,aAAa,EAAE,IAAIP,OAAO,CAACQ,aAAa,EAAE,kBAClDjB,KAAA,CAAAY,aAAA,CAACX,SAAS;IAACiB,OAAO,EAAEA,CAAA,KAAMP,IAAI,CAACF,OAAO,CAACU,MAAM;EAAE,gBAC7CnB,KAAA,CAAAY,aAAA,CAACT,MAAM;IAACiB,IAAI,EAAE,EAAG;IAACC,GAAG,GAAAb,eAAA,GAAEC,OAAO,CAACU,MAAM,cAAAX,eAAA,uBAAdA,eAAA,CAAgBc;EAAW,EAAG,CAExD,CACI;AAEX,CAAC;AAED,MAAMR,MAAM,GAAGV,gBAAgB,CAAC;EAC9BW,MAAM,EAAE;IACNQ,KAAK,EAAE,EAAE;IACTC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,eAAelB,qBAAqB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { useLocalization } from '../../hooks/useContext';
|
|
5
|
-
const MessageIncomingSenderName = _ref => {
|
|
6
|
-
var _message$sender;
|
|
7
|
-
let {
|
|
8
|
-
message,
|
|
9
|
-
grouping
|
|
10
|
-
} = _ref;
|
|
11
|
-
const {
|
|
12
|
-
colors
|
|
13
|
-
} = useUIKitTheme();
|
|
14
|
-
const {
|
|
15
|
-
STRINGS
|
|
16
|
-
} = useLocalization();
|
|
17
|
-
if (grouping) return null;
|
|
18
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
19
|
-
style: styles.sender
|
|
20
|
-
}, (message.isFileMessage() || message.isUserMessage()) && /*#__PURE__*/React.createElement(Text, {
|
|
21
|
-
caption1: true,
|
|
22
|
-
color: colors.ui.groupChannelMessage.incoming.enabled.textSenderName,
|
|
23
|
-
numberOfLines: 1
|
|
24
|
-
}, ((_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.nickname) || STRINGS.LABELS.USER_NO_NAME));
|
|
25
|
-
};
|
|
26
|
-
const styles = createStyleSheet({
|
|
27
|
-
sender: {
|
|
28
|
-
marginLeft: 12,
|
|
29
|
-
marginBottom: 4
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
export default MessageIncomingSenderName;
|
|
33
|
-
//# sourceMappingURL=MessageIncomingSenderName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","MessageIncomingSenderName","_ref","_message$sender","message","grouping","colors","STRINGS","createElement","style","styles","sender","isFileMessage","isUserMessage","caption1","color","ui","groupChannelMessage","incoming","enabled","textSenderName","numberOfLines","nickname","LABELS","USER_NO_NAME","marginLeft","marginBottom"],"sources":["MessageIncomingSenderName.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n};\nconst MessageIncomingSenderName = ({ message, grouping }: Props) => {\n const { colors } = useUIKitTheme();\n const { STRINGS } = useLocalization();\n if (grouping) return null;\n\n return (\n <View style={styles.sender}>\n {(message.isFileMessage() || message.isUserMessage()) && (\n <Text caption1 color={colors.ui.groupChannelMessage.incoming.enabled.textSenderName} numberOfLines={1}>\n {message.sender?.nickname || STRINGS.LABELS.USER_NO_NAME}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n sender: {\n marginLeft: 12,\n marginBottom: 4,\n },\n});\n\nexport default MessageIncomingSenderName;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAMxD,MAAMC,yBAAyB,GAAGC,IAAA,IAAkC;EAAA,IAAAC,eAAA;EAAA,IAAjC;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAAH,IAAA;EAC7D,MAAM;IAAEI;EAAO,CAAC,GAAGP,aAAa,EAAE;EAClC,MAAM;IAAEQ;EAAQ,CAAC,GAAGP,eAAe,EAAE;EACrC,IAAIK,QAAQ,EAAE,OAAO,IAAI;EAEzB,oBACEV,KAAA,CAAAa,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACC;EAAO,GACxB,CAACP,OAAO,CAACQ,aAAa,EAAE,IAAIR,OAAO,CAACS,aAAa,EAAE,kBAClDlB,KAAA,CAAAa,aAAA,CAACX,IAAI;IAACiB,QAAQ;IAACC,KAAK,EAAET,MAAM,CAACU,EAAE,CAACC,mBAAmB,CAACC,QAAQ,CAACC,OAAO,CAACC,cAAe;IAACC,aAAa,EAAE;EAAE,GACnG,EAAAlB,eAAA,GAAAC,OAAO,CAACO,MAAM,cAAAR,eAAA,uBAAdA,eAAA,CAAgBmB,QAAQ,KAAIf,OAAO,CAACgB,MAAM,CAACC,YAAY,CAE3D,CACI;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGZ,gBAAgB,CAAC;EAC9Ba,MAAM,EAAE;IACNc,UAAU,EAAE,EAAE;IACdC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,eAAezB,yBAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMessageOutgoingStatus","Icon","LoadingSpinner","createStyleSheet","useUIKitTheme","useSendbirdChat","SIZE","MessageOutgoingStatus","_ref","channel","message","isUserMessage","isFileMessage","sdk","colors","outgoingStatus","createElement","size","style","styles","container","icon","color","error","secondary","onBackground03","marginRight","memo"],"sources":["MessageOutgoingStatus.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport { Icon, LoadingSpinner, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdGroupChannel, SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\n\nconst SIZE = 16;\n\ntype Props = { channel: SendbirdGroupChannel; message: SendbirdMessage };\nconst MessageOutgoingStatus = ({ channel, message }: Props) => {\n if (!message.isUserMessage() && !message.isFileMessage()) return null;\n\n const { sdk } = useSendbirdChat();\n const { colors } = useUIKitTheme();\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, message);\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={SIZE} style={styles.container} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={SIZE} color={colors.error} style={styles.container} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.secondary} style={styles.container} />;\n }\n\n if (outgoingStatus === 'UNREAD' || outgoingStatus === 'DELIVERED') {\n return <Icon icon={'done-all'} size={SIZE} color={colors.onBackground03} style={styles.container} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={SIZE} color={colors.onBackground03} style={styles.container} />;\n }\n\n return null;\n};\n\nconst styles = createStyleSheet({\n container: {\n marginRight: 4,\n },\n});\n\nexport default React.memo(MessageOutgoingStatus);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,IAAI,EAAEC,cAAc,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/G,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,IAAI,GAAG,EAAE;AAGf,MAAMC,qBAAqB,GAAGC,IAAA,IAAiC;EAAA,IAAhC;IAAEC,OAAO;IAAEC;EAAe,CAAC,GAAAF,IAAA;EACxD,IAAI,CAACE,OAAO,CAACC,aAAa,EAAE,IAAI,CAACD,OAAO,CAACE,aAAa,EAAE,EAAE,OAAO,IAAI;EAErE,MAAM;IAAEC;EAAI,CAAC,GAAGR,eAAe,EAAE;EACjC,MAAM;IAAES;EAAO,CAAC,GAAGV,aAAa,EAAE;EAClC,MAAMW,cAAc,GAAGf,wBAAwB,CAACa,GAAG,EAAEJ,OAAO,EAAEC,OAAO,CAAC;EAEtE,IAAIK,cAAc,KAAK,SAAS,EAAE;IAChC,oBAAOhB,KAAA,CAAAiB,aAAA,CAACd,cAAc;MAACe,IAAI,EAAEX,IAAK;MAACY,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAChE;EAEA,IAAIL,cAAc,KAAK,QAAQ,EAAE;IAC/B,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,OAAQ;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACS,KAAM;MAACL,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAC1F;EAEA,IAAIL,cAAc,KAAK,MAAM,EAAE;IAC7B,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,UAAW;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACU,SAAU;MAACN,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EACjG;EAEA,IAAIL,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,WAAW,EAAE;IACjE,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,UAAW;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACW,cAAe;MAACP,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EACtG;EAEA,IAAIL,cAAc,KAAK,aAAa,EAAE;IACpC,oBAAOhB,KAAA,CAAAiB,aAAA,CAACf,IAAI;MAACoB,IAAI,EAAE,MAAO;MAACJ,IAAI,EAAEX,IAAK;MAACgB,KAAK,EAAER,MAAM,CAACW,cAAe;MAACP,KAAK,EAAEC,MAAM,CAACC;IAAU,EAAG;EAClG;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMD,MAAM,GAAGhB,gBAAgB,CAAC;EAC9BiB,SAAS,EAAE;IACTM,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAEF,4BAAe3B,KAAK,CAAC4B,IAAI,CAACpB,qBAAqB,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { useLocalization } from '../../hooks/useContext';
|
|
5
|
-
const MessageTime = _ref => {
|
|
6
|
-
let {
|
|
7
|
-
message,
|
|
8
|
-
grouping,
|
|
9
|
-
style
|
|
10
|
-
} = _ref;
|
|
11
|
-
const {
|
|
12
|
-
STRINGS
|
|
13
|
-
} = useLocalization();
|
|
14
|
-
const {
|
|
15
|
-
colors
|
|
16
|
-
} = useUIKitTheme();
|
|
17
|
-
if (grouping) return null;
|
|
18
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
19
|
-
style: style
|
|
20
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
21
|
-
caption4: true,
|
|
22
|
-
color: colors.ui.groupChannelMessage.incoming.enabled.textTime
|
|
23
|
-
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message)));
|
|
24
|
-
};
|
|
25
|
-
export default MessageTime;
|
|
26
|
-
//# sourceMappingURL=MessageTime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","useUIKitTheme","useLocalization","MessageTime","_ref","message","grouping","style","STRINGS","colors","createElement","caption4","color","ui","groupChannelMessage","incoming","enabled","textTime","GROUP_CHANNEL","MESSAGE_BUBBLE_TIME"],"sources":["MessageTime.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { Text, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\ntype Props = {\n message: SendbirdMessage;\n grouping: boolean;\n style?: StyleProp<ViewStyle>;\n};\nconst MessageTime = ({ message, grouping, style }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n if (grouping) return null;\n\n return (\n <View style={style}>\n <Text caption4 color={colors.ui.groupChannelMessage.incoming.enabled.textTime}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_TIME(message)}\n </Text>\n </View>\n );\n};\n\nexport default MessageTime;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAoBC,IAAI,QAAmB,cAAc;AAEzD,SAASC,IAAI,EAAEC,aAAa,QAAQ,yCAAyC;AAG7E,SAASC,eAAe,QAAQ,wBAAwB;AAOxD,MAAMC,WAAW,GAAGC,IAAA,IAAyC;EAAA,IAAxC;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAAH,IAAA;EACtD,MAAM;IAAEI;EAAQ,CAAC,GAAGN,eAAe,EAAE;EACrC,MAAM;IAAEO;EAAO,CAAC,GAAGR,aAAa,EAAE;EAClC,IAAIK,QAAQ,EAAE,OAAO,IAAI;EAEzB,oBACER,KAAA,CAAAY,aAAA,CAACX,IAAI;IAACQ,KAAK,EAAEA;EAAM,gBACjBT,KAAA,CAAAY,aAAA,CAACV,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAEH,MAAM,CAACI,EAAE,CAACC,mBAAmB,CAACC,QAAQ,CAACC,OAAO,CAACC;EAAS,GAC3ET,OAAO,CAACU,aAAa,CAACC,mBAAmB,CAACd,OAAO,CAAC,CAC9C,CACF;AAEX,CAAC;AAED,eAAeF,WAAW"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { useLocalization } from '../../../hooks/useContext';
|
|
5
|
-
const UnknownMessage = _ref => {
|
|
6
|
-
let {
|
|
7
|
-
message,
|
|
8
|
-
variant,
|
|
9
|
-
pressed
|
|
10
|
-
} = _ref;
|
|
11
|
-
const {
|
|
12
|
-
STRINGS
|
|
13
|
-
} = useLocalization();
|
|
14
|
-
const {
|
|
15
|
-
colors
|
|
16
|
-
} = useUIKitTheme();
|
|
17
|
-
const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
|
|
18
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
19
|
-
style: [styles.container, {
|
|
20
|
-
backgroundColor: color.background
|
|
21
|
-
}]
|
|
22
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
23
|
-
body3: true,
|
|
24
|
-
color: colors.onBackground01
|
|
25
|
-
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message)), /*#__PURE__*/React.createElement(Text, {
|
|
26
|
-
body3: true,
|
|
27
|
-
color: colors.onBackground02
|
|
28
|
-
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)));
|
|
29
|
-
};
|
|
30
|
-
const styles = createStyleSheet({
|
|
31
|
-
container: {
|
|
32
|
-
paddingHorizontal: 12,
|
|
33
|
-
paddingVertical: 6,
|
|
34
|
-
borderRadius: 16
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
export default UnknownMessage;
|
|
38
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","UnknownMessage","_ref","message","variant","pressed","STRINGS","colors","color","ui","groupChannelMessage","createElement","style","styles","container","backgroundColor","background","body3","onBackground01","GROUP_CHANNEL","MESSAGE_BUBBLE_UNKNOWN_TITLE","onBackground02","MESSAGE_BUBBLE_UNKNOWN_DESC","paddingHorizontal","paddingVertical","borderRadius"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { MessageRendererInterface } from '../index';\n\nexport type UnknownMessageProps = MessageRendererInterface;\nconst UnknownMessage = ({ message, variant, pressed }: UnknownMessageProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n return (\n <View style={[styles.container, { backgroundColor: color.background }]}>\n <Text body3 color={colors.onBackground01}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message)}\n </Text>\n <Text body3 color={colors.onBackground02}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 16,\n },\n});\n\nexport default UnknownMessage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAE/F,SAASC,eAAe,QAAQ,2BAA2B;AAI3D,MAAMC,cAAc,GAAGC,IAAA,IAAwD;EAAA,IAAvD;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAA6B,CAAC,GAAAH,IAAA;EACxE,MAAM;IAAEI;EAAQ,CAAC,GAAGN,eAAe,EAAE;EACrC,MAAM;IAAEO;EAAO,CAAC,GAAGR,aAAa,EAAE;EAClC,MAAMS,KAAK,GAAGD,MAAM,CAACE,EAAE,CAACC,mBAAmB,CAACN,OAAO,CAAC,CAACC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;EACrF,oBACEV,KAAA,CAAAgB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEP,KAAK,CAACQ;IAAW,CAAC;EAAE,gBACrErB,KAAA,CAAAgB,aAAA,CAACd,IAAI;IAACoB,KAAK;IAACT,KAAK,EAAED,MAAM,CAACW;EAAe,GACtCZ,OAAO,CAACa,aAAa,CAACC,4BAA4B,CAACjB,OAAO,CAAC,CACvD,eACPR,KAAA,CAAAgB,aAAA,CAACd,IAAI;IAACoB,KAAK;IAACT,KAAK,EAAED,MAAM,CAACc;EAAe,GACtCf,OAAO,CAACa,aAAa,CAACG,2BAA2B,CAACnB,OAAO,CAAC,CACtD,CACF;AAEX,CAAC;AAED,MAAMU,MAAM,GAAGf,gBAAgB,CAAC;EAC9BgB,SAAS,EAAE;IACTS,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAEF,eAAexB,cAAc"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { View } from 'react-native';
|
|
4
|
-
import { RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
5
|
-
import { urlRegexStrict } from '@sendbird/uikit-utils';
|
|
6
|
-
import { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';
|
|
7
|
-
import SBUUtils from '../../../libs/SBUUtils';
|
|
8
|
-
const BaseUserMessage = _ref => {
|
|
9
|
-
let {
|
|
10
|
-
message,
|
|
11
|
-
variant,
|
|
12
|
-
pressed,
|
|
13
|
-
children,
|
|
14
|
-
onLongPressMentionedUser,
|
|
15
|
-
onLongPressURL
|
|
16
|
-
} = _ref;
|
|
17
|
-
const {
|
|
18
|
-
mentionManager,
|
|
19
|
-
currentUser
|
|
20
|
-
} = useSendbirdChat();
|
|
21
|
-
const {
|
|
22
|
-
show
|
|
23
|
-
} = useUserProfile();
|
|
24
|
-
const {
|
|
25
|
-
STRINGS
|
|
26
|
-
} = useLocalization();
|
|
27
|
-
const {
|
|
28
|
-
colors,
|
|
29
|
-
palette
|
|
30
|
-
} = useUIKitTheme();
|
|
31
|
-
const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
|
|
32
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
33
|
-
style: [styles.container, {
|
|
34
|
-
backgroundColor: color.background
|
|
35
|
-
}]
|
|
36
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
37
|
-
style: styles.wrapper
|
|
38
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
39
|
-
body3: true,
|
|
40
|
-
color: color.textMsg
|
|
41
|
-
}, /*#__PURE__*/React.createElement(RegexText, {
|
|
42
|
-
body3: true,
|
|
43
|
-
color: color.textMsg,
|
|
44
|
-
patterns: [{
|
|
45
|
-
regex: mentionManager.templateRegex,
|
|
46
|
-
replacer(_ref2) {
|
|
47
|
-
var _message$mentionedUse;
|
|
48
|
-
let {
|
|
49
|
-
match,
|
|
50
|
-
groups,
|
|
51
|
-
parentProps,
|
|
52
|
-
index,
|
|
53
|
-
keyPrefix
|
|
54
|
-
} = _ref2;
|
|
55
|
-
const user = (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.find(it => it.userId === groups[2]);
|
|
56
|
-
if (user) {
|
|
57
|
-
return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
|
|
58
|
-
key: `${keyPrefix}-${index}`,
|
|
59
|
-
onPress: () => show(user),
|
|
60
|
-
onLongPress: onLongPressMentionedUser,
|
|
61
|
-
style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, {
|
|
62
|
-
fontWeight: 'bold'
|
|
63
|
-
}, user.userId === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId) && {
|
|
64
|
-
backgroundColor: palette.highlight
|
|
65
|
-
}]
|
|
66
|
-
}), `${mentionManager.asMentionedMessageText(user)}`);
|
|
67
|
-
}
|
|
68
|
-
return match;
|
|
69
|
-
}
|
|
70
|
-
}, {
|
|
71
|
-
regex: urlRegexStrict,
|
|
72
|
-
replacer(_ref3) {
|
|
73
|
-
let {
|
|
74
|
-
match,
|
|
75
|
-
parentProps,
|
|
76
|
-
index,
|
|
77
|
-
keyPrefix
|
|
78
|
-
} = _ref3;
|
|
79
|
-
return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, {
|
|
80
|
-
key: `${keyPrefix}-${index}`,
|
|
81
|
-
onPress: () => SBUUtils.openURL(match),
|
|
82
|
-
onLongPress: onLongPressURL,
|
|
83
|
-
style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, {
|
|
84
|
-
textDecorationLine: 'underline'
|
|
85
|
-
}]
|
|
86
|
-
}), match);
|
|
87
|
-
}
|
|
88
|
-
}]
|
|
89
|
-
}, mentionManager.shouldUseMentionedMessageTemplate(message) ? message.mentionedMessageTemplate : message.message), Boolean(message.updatedAt) && /*#__PURE__*/React.createElement(Text, {
|
|
90
|
-
body3: true,
|
|
91
|
-
color: color.textEdited
|
|
92
|
-
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX))), children);
|
|
93
|
-
};
|
|
94
|
-
const styles = createStyleSheet({
|
|
95
|
-
container: {
|
|
96
|
-
borderRadius: 16,
|
|
97
|
-
overflow: 'hidden'
|
|
98
|
-
},
|
|
99
|
-
wrapper: {
|
|
100
|
-
paddingHorizontal: 12,
|
|
101
|
-
paddingVertical: 6
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
export default BaseUserMessage;
|
|
105
|
-
//# sourceMappingURL=BaseUserMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","RegexText","Text","createStyleSheet","useUIKitTheme","urlRegexStrict","useLocalization","useSendbirdChat","useUserProfile","SBUUtils","BaseUserMessage","_ref","message","variant","pressed","children","onLongPressMentionedUser","onLongPressURL","mentionManager","currentUser","show","STRINGS","colors","palette","color","ui","groupChannelMessage","createElement","style","styles","container","backgroundColor","background","wrapper","body3","textMsg","patterns","regex","templateRegex","replacer","_ref2","_message$mentionedUse","match","groups","parentProps","index","keyPrefix","user","mentionedUsers","find","it","userId","_extends","key","onPress","onLongPress","fontWeight","highlight","asMentionedMessageText","_ref3","openURL","textDecorationLine","shouldUseMentionedMessageTemplate","mentionedMessageTemplate","Boolean","updatedAt","textEdited","GROUP_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","borderRadius","overflow","paddingHorizontal","paddingVertical"],"sources":["BaseUserMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { RegexText, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { urlRegexStrict } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat, useUserProfile } from '../../../hooks/useContext';\nimport SBUUtils from '../../../libs/SBUUtils';\nimport type { UserMessageProps } from './index';\n\nconst BaseUserMessage = ({\n message,\n variant,\n pressed,\n children,\n onLongPressMentionedUser,\n onLongPressURL,\n}: UserMessageProps) => {\n const { mentionManager, currentUser } = useSendbirdChat();\n const { show } = useUserProfile();\n const { STRINGS } = useLocalization();\n const { colors, palette } = useUIKitTheme();\n\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n\n return (\n <View style={[styles.container, { backgroundColor: color.background }]}>\n <View style={styles.wrapper}>\n <Text body3 color={color.textMsg}>\n <RegexText\n body3\n color={color.textMsg}\n patterns={[\n {\n regex: mentionManager.templateRegex,\n replacer({ match, groups, parentProps, index, keyPrefix }) {\n const user = message.mentionedUsers?.find((it) => it.userId === groups[2]);\n if (user) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => show(user)}\n onLongPress={onLongPressMentionedUser}\n style={[\n parentProps?.style,\n { fontWeight: 'bold' },\n user.userId === currentUser?.userId && { backgroundColor: palette.highlight },\n ]}\n >\n {`${mentionManager.asMentionedMessageText(user)}`}\n </Text>\n );\n }\n return match;\n },\n },\n {\n regex: urlRegexStrict,\n replacer({ match, parentProps, index, keyPrefix }) {\n return (\n <Text\n {...parentProps}\n key={`${keyPrefix}-${index}`}\n onPress={() => SBUUtils.openURL(match)}\n onLongPress={onLongPressURL}\n style={[parentProps?.style, { textDecorationLine: 'underline' }]}\n >\n {match}\n </Text>\n );\n },\n },\n ]}\n >\n {mentionManager.shouldUseMentionedMessageTemplate(message)\n ? message.mentionedMessageTemplate\n : message.message}\n </RegexText>\n {Boolean(message.updatedAt) && (\n <Text body3 color={color.textEdited}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX}\n </Text>\n )}\n </Text>\n </View>\n {children}\n </View>\n );\n};\nconst styles = createStyleSheet({\n container: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n wrapper: {\n paddingHorizontal: 12,\n paddingVertical: 6,\n },\n});\n\nexport default BaseUserMessage;\n"],"mappings":"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"}
|