@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
|
@@ -11,7 +11,7 @@ class MentionManager {
|
|
|
11
11
|
private _invalidStartsKeywords: string[];
|
|
12
12
|
private _templateRegex: RegExp;
|
|
13
13
|
|
|
14
|
-
constructor(public config: MentionConfigInterface
|
|
14
|
+
constructor(public config: MentionConfigInterface) {
|
|
15
15
|
this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];
|
|
16
16
|
this._templateRegex = createMentionTemplateRegex(this.config.trigger);
|
|
17
17
|
}
|
|
@@ -120,8 +120,8 @@ class MentionManager {
|
|
|
120
120
|
/**
|
|
121
121
|
* @description Bold @user.nickname
|
|
122
122
|
* */
|
|
123
|
-
public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[]) => {
|
|
124
|
-
if (!
|
|
123
|
+
public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {
|
|
124
|
+
if (!mentionEnabled || mentionedUsers.length === 0) return text;
|
|
125
125
|
|
|
126
126
|
const { leftText, components } = mentionedUsers
|
|
127
127
|
.sort((a, b) => b.range.start - a.range.start)
|
|
@@ -148,8 +148,8 @@ class MentionManager {
|
|
|
148
148
|
return [leftText, ...components];
|
|
149
149
|
};
|
|
150
150
|
|
|
151
|
-
public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[]) => {
|
|
152
|
-
if (!
|
|
151
|
+
public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {
|
|
152
|
+
if (!mentionEnabled) return text;
|
|
153
153
|
|
|
154
154
|
const { leftText, strings } = mentionedUsers
|
|
155
155
|
.sort((a, b) => b.range.start - a.range.start)
|
|
@@ -216,12 +216,13 @@ class MentionManager {
|
|
|
216
216
|
|
|
217
217
|
public shouldUseMentionedMessageTemplate = (
|
|
218
218
|
message?: SendbirdUserMessage | SendbirdFileMessage,
|
|
219
|
+
mentionEnabled?: boolean,
|
|
219
220
|
): message is RequiredSpecific<
|
|
220
221
|
SendbirdUserMessage | SendbirdFileMessage,
|
|
221
222
|
'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'
|
|
222
223
|
> => {
|
|
223
224
|
return Boolean(
|
|
224
|
-
|
|
225
|
+
mentionEnabled &&
|
|
225
226
|
message?.mentionedMessageTemplate &&
|
|
226
227
|
message?.mentionedUsers &&
|
|
227
228
|
message?.mentionedUsers.length > 0,
|
|
@@ -234,7 +235,7 @@ type RequiredSpecific<T, K extends keyof T> = T & {
|
|
|
234
235
|
};
|
|
235
236
|
|
|
236
237
|
const styles = createStyleSheet({
|
|
237
|
-
mentionedText: { fontWeight: '
|
|
238
|
+
mentionedText: { fontWeight: '700' },
|
|
238
239
|
});
|
|
239
240
|
|
|
240
241
|
export default MentionManager;
|
package/src/libs/SBUUtils.ts
CHANGED
|
@@ -9,9 +9,13 @@ export default class SBUUtils {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
static openURL(url: string) {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
static async openURL(url: string) {
|
|
13
|
+
try {
|
|
14
|
+
const targetUrl = url.startsWith('http') ? url : 'https://' + url;
|
|
15
|
+
await Linking.openURL(targetUrl);
|
|
16
|
+
} catch (e) {
|
|
17
|
+
Logger.warn('Cannot open url', e);
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
static getImageSize(uri: string): Promise<{ width: number; height: number }> {
|
|
@@ -30,9 +30,6 @@ export interface StringSet {
|
|
|
30
30
|
MESSAGE_BUBBLE_EDITED_POSTFIX: string;
|
|
31
31
|
MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;
|
|
32
32
|
MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;
|
|
33
|
-
|
|
34
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
35
|
-
LIST_BANNER_FROZEN: string;
|
|
36
33
|
};
|
|
37
34
|
OPEN_CHANNEL_PARTICIPANTS: {
|
|
38
35
|
/** OpenChannelParticipants > Header */
|
|
@@ -128,43 +125,6 @@ export interface StringSet {
|
|
|
128
125
|
|
|
129
126
|
/** GroupChannel > Suggested mention list */
|
|
130
127
|
MENTION_LIMITED: (mentionLimit: number) => string;
|
|
131
|
-
|
|
132
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
133
|
-
LIST_BANNER_FROZEN: string;
|
|
134
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
|
|
135
|
-
DIALOG_MESSAGE_COPY: string;
|
|
136
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
|
|
137
|
-
DIALOG_MESSAGE_EDIT: string;
|
|
138
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/
|
|
139
|
-
DIALOG_MESSAGE_SAVE: string;
|
|
140
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/
|
|
141
|
-
DIALOG_MESSAGE_DELETE: string;
|
|
142
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/
|
|
143
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;
|
|
144
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/
|
|
145
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;
|
|
146
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/
|
|
147
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;
|
|
148
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/
|
|
149
|
-
DIALOG_MESSAGE_FAILED_RETRY: string;
|
|
150
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/
|
|
151
|
-
DIALOG_MESSAGE_FAILED_REMOVE: string;
|
|
152
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/
|
|
153
|
-
DIALOG_ATTACHMENT_CAMERA: string;
|
|
154
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/
|
|
155
|
-
DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;
|
|
156
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/
|
|
157
|
-
DIALOG_ATTACHMENT_FILES: string;
|
|
158
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/
|
|
159
|
-
INPUT_PLACEHOLDER_ACTIVE: string;
|
|
160
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/
|
|
161
|
-
INPUT_PLACEHOLDER_DISABLED: string;
|
|
162
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/
|
|
163
|
-
INPUT_PLACEHOLDER_MUTED: string;
|
|
164
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/
|
|
165
|
-
INPUT_EDIT_OK: string;
|
|
166
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/
|
|
167
|
-
INPUT_EDIT_CANCEL: string;
|
|
168
128
|
};
|
|
169
129
|
GROUP_CHANNEL_SETTINGS: {
|
|
170
130
|
/** GroupChannelSettings > Header */
|
|
@@ -253,11 +213,6 @@ export interface StringSet {
|
|
|
253
213
|
GROUP_CHANNEL_MEMBERS: {
|
|
254
214
|
/** GroupChannelMembers > Header */
|
|
255
215
|
HEADER_TITLE: string;
|
|
256
|
-
|
|
257
|
-
/** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/
|
|
258
|
-
USER_BAR_ME_POSTFIX: string;
|
|
259
|
-
/** @deprecated Please use LABELS.USER_BAR_OPERATOR **/
|
|
260
|
-
USER_BAR_OPERATOR: string;
|
|
261
216
|
};
|
|
262
217
|
GROUP_CHANNEL_INVITE: {
|
|
263
218
|
/** GroupChannelInvite > Header */
|
|
@@ -309,7 +264,8 @@ export interface StringSet {
|
|
|
309
264
|
CHANNEL_INPUT_EDIT_OK: string;
|
|
310
265
|
CHANNEL_INPUT_EDIT_CANCEL: string;
|
|
311
266
|
/** ChannelInput > Attachments **/
|
|
312
|
-
|
|
267
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;
|
|
268
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;
|
|
313
269
|
CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;
|
|
314
270
|
CHANNEL_INPUT_ATTACHMENT_FILES: string;
|
|
315
271
|
|
|
@@ -41,9 +41,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
41
41
|
MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
|
|
42
42
|
MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
|
|
43
43
|
MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
|
|
44
|
-
|
|
45
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
46
|
-
LIST_BANNER_FROZEN: 'Channel is frozen',
|
|
47
44
|
...overrides?.OPEN_CHANNEL,
|
|
48
45
|
},
|
|
49
46
|
OPEN_CHANNEL_PARTICIPANTS: {
|
|
@@ -125,43 +122,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
125
122
|
MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
|
|
126
123
|
|
|
127
124
|
MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,
|
|
128
|
-
|
|
129
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
130
|
-
LIST_BANNER_FROZEN: 'Channel is frozen',
|
|
131
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
|
|
132
|
-
DIALOG_MESSAGE_COPY: 'Copy',
|
|
133
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
|
|
134
|
-
DIALOG_MESSAGE_EDIT: 'Edit',
|
|
135
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/
|
|
136
|
-
DIALOG_MESSAGE_SAVE: 'Save',
|
|
137
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/
|
|
138
|
-
DIALOG_MESSAGE_DELETE: 'Delete',
|
|
139
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/
|
|
140
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
|
|
141
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/
|
|
142
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
|
|
143
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/
|
|
144
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
|
|
145
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/
|
|
146
|
-
DIALOG_MESSAGE_FAILED_RETRY: 'Retry',
|
|
147
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/
|
|
148
|
-
DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',
|
|
149
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/
|
|
150
|
-
DIALOG_ATTACHMENT_CAMERA: 'Camera',
|
|
151
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/
|
|
152
|
-
DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
|
|
153
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/
|
|
154
|
-
DIALOG_ATTACHMENT_FILES: 'Files',
|
|
155
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/
|
|
156
|
-
INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
|
|
157
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/
|
|
158
|
-
INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
|
|
159
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/
|
|
160
|
-
INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
|
|
161
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/
|
|
162
|
-
INPUT_EDIT_OK: 'Save',
|
|
163
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/
|
|
164
|
-
INPUT_EDIT_CANCEL: 'Cancel',
|
|
165
125
|
...overrides?.GROUP_CHANNEL,
|
|
166
126
|
},
|
|
167
127
|
GROUP_CHANNEL_SETTINGS: {
|
|
@@ -246,10 +206,6 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
246
206
|
},
|
|
247
207
|
GROUP_CHANNEL_MEMBERS: {
|
|
248
208
|
HEADER_TITLE: 'Members',
|
|
249
|
-
/** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/
|
|
250
|
-
USER_BAR_ME_POSTFIX: ' (You)',
|
|
251
|
-
/** @deprecated Please use LABELS.USER_BAR_OPERATOR **/
|
|
252
|
-
USER_BAR_OPERATOR: 'Operator',
|
|
253
209
|
...overrides?.GROUP_CHANNEL_MEMBERS,
|
|
254
210
|
},
|
|
255
211
|
GROUP_CHANNEL_CREATE: {
|
|
@@ -300,33 +256,25 @@ export const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOp
|
|
|
300
256
|
UNMUTE: 'Unmute',
|
|
301
257
|
BAN: 'Ban',
|
|
302
258
|
UNBAN: 'Unban',
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
CHANNEL_INPUT_ATTACHMENT_FILES: overrides?.GROUP_CHANNEL?.DIALOG_ATTACHMENT_FILES ?? 'Files',
|
|
323
|
-
CHANNEL_INPUT_PLACEHOLDER_ACTIVE: overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_ACTIVE ?? 'Enter message',
|
|
324
|
-
CHANNEL_INPUT_PLACEHOLDER_DISABLED:
|
|
325
|
-
overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_DISABLED ?? 'Chat not available in this channel.',
|
|
326
|
-
CHANNEL_INPUT_PLACEHOLDER_MUTED:
|
|
327
|
-
overrides?.GROUP_CHANNEL?.INPUT_PLACEHOLDER_MUTED ?? "You're muted by the operator.",
|
|
328
|
-
CHANNEL_INPUT_EDIT_OK: overrides?.GROUP_CHANNEL?.INPUT_EDIT_OK ?? 'Save',
|
|
329
|
-
CHANNEL_INPUT_EDIT_CANCEL: overrides?.GROUP_CHANNEL?.INPUT_EDIT_CANCEL ?? 'Cancel',
|
|
259
|
+
CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',
|
|
260
|
+
CHANNEL_MESSAGE_COPY: 'Copy',
|
|
261
|
+
CHANNEL_MESSAGE_EDIT: 'Edit',
|
|
262
|
+
CHANNEL_MESSAGE_SAVE: 'Save',
|
|
263
|
+
CHANNEL_MESSAGE_DELETE: 'Delete',
|
|
264
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
|
|
265
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
|
|
266
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
|
|
267
|
+
CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',
|
|
268
|
+
CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',
|
|
269
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',
|
|
270
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',
|
|
271
|
+
CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
|
|
272
|
+
CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',
|
|
273
|
+
CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
|
|
274
|
+
CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
|
|
275
|
+
CHANNEL_INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
|
|
276
|
+
CHANNEL_INPUT_EDIT_OK: 'Save',
|
|
277
|
+
CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',
|
|
330
278
|
...overrides?.LABELS,
|
|
331
279
|
},
|
|
332
280
|
FILE_VIEWER: {
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const VERSION = '
|
|
1
|
+
const VERSION = '3.0.0-rc.1';
|
|
2
2
|
export default VERSION;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeScrollviewEnhancer","_uikitReactNativeFoundation","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ANDROID_BUG_ALERT_SHOWED","Platform","OS","BOTTOM_DETECT_THRESHOLD","UNREACHABLE_THRESHOLD","Number","MIN_SAFE_INTEGER","ChatFlatList","forwardRef","CustomFlatList","_ref","ref","_props$data","onTopReached","onBottomReached","onScrolledAwayFromBottom","onLeaveScrollBottom","onScroll","props","select","useUIKitTheme","contentOffsetY","useRef","_onScroll","useFreshCallback","event","contentOffset","nativeEvent","prevOffsetY","current","currOffsetY","y","__DEV__","console","warn","createElement","FlatList","bounces","removeClippedSubviews","keyboardDismissMode","keyboardShouldPersistTaps","indicatorStyle","light","dark","inverted","Boolean","data","onEndReached","onScrollToIndexFailed","NOOP","onStartReached","scrollEventThrottle","keyExtractor","getMessageUniqId","style","flex","StyleSheet","flatten","maintainVisibleContentPosition","minIndexForVisible","autoscrollToTopThreshold","_default","exports"],"sources":["ChatFlatList.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FlatListProps, Platform, FlatList as RNFlatList, StyleSheet } from 'react-native';\n\nimport { FlatList } from '@sendbird/react-native-scrollview-enhancer';\nimport { useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { NOOP, SendbirdMessage, getMessageUniqId, useFreshCallback } from '@sendbird/uikit-utils';\n\nlet ANDROID_BUG_ALERT_SHOWED = Platform.OS !== 'android';\nconst BOTTOM_DETECT_THRESHOLD = 25;\nconst UNREACHABLE_THRESHOLD = Number.MIN_SAFE_INTEGER;\n\ntype Props = Omit<FlatListProps<SendbirdMessage>, 'onEndReached'> & {\n onBottomReached: () => void;\n onTopReached: () => void;\n onScrolledAwayFromBottom: (value: boolean) => void;\n\n /** @deprecated Please use `onScrolledAwayFromBottom` **/\n onLeaveScrollBottom?: (value: boolean) => void;\n /** @deprecated Not used anymore **/\n nextMessages?: unknown;\n};\n// FIXME: Inverted FlatList performance issue on Android {@link https://github.com/facebook/react-native/issues/30034}\nconst ChatFlatList = forwardRef<RNFlatList<SendbirdMessage>, Props>(function CustomFlatList(\n { onTopReached, onBottomReached, onScrolledAwayFromBottom, onLeaveScrollBottom, onScroll, ...props },\n ref,\n) {\n const { select } = useUIKitTheme();\n const contentOffsetY = useRef(0);\n\n const _onScroll = useFreshCallback<NonNullable<Props['onScroll']>>((event) => {\n onScroll?.(event);\n\n const { contentOffset } = event.nativeEvent;\n\n const prevOffsetY = contentOffsetY.current;\n const currOffsetY = contentOffset.y;\n\n if (BOTTOM_DETECT_THRESHOLD < prevOffsetY && currOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(false);\n onLeaveScrollBottom?.(false);\n } else if (BOTTOM_DETECT_THRESHOLD < currOffsetY && prevOffsetY <= BOTTOM_DETECT_THRESHOLD) {\n onScrolledAwayFromBottom(true);\n onLeaveScrollBottom?.(true);\n }\n\n contentOffsetY.current = contentOffset.y;\n });\n\n if (__DEV__ && !ANDROID_BUG_ALERT_SHOWED) {\n ANDROID_BUG_ALERT_SHOWED = true;\n // eslint-disable-next-line no-console\n console.warn(\n 'UIKit Warning: Inverted FlatList has a performance issue on Android, Maybe this is a bug please refer link\\nhttps://github.com/facebook/react-native/issues/30034',\n );\n }\n\n return (\n <FlatList\n bounces={false}\n removeClippedSubviews\n keyboardDismissMode={'on-drag'}\n keyboardShouldPersistTaps={'handled'}\n indicatorStyle={select({ light: 'black', dark: 'white' })}\n {...props}\n // FIXME: inverted list of ListEmptyComponent is reversed {@link https://github.com/facebook/react-native/issues/21196#issuecomment-836937743}\n inverted={Boolean(props.data?.length)}\n ref={ref}\n onEndReached={onTopReached}\n onScrollToIndexFailed={NOOP}\n onStartReached={onBottomReached}\n scrollEventThrottle={16}\n onScroll={_onScroll}\n keyExtractor={getMessageUniqId}\n style={{ flex: 1, ...StyleSheet.flatten(props.style) }}\n maintainVisibleContentPosition={{ minIndexForVisible: 0, autoscrollToTopThreshold: UNREACHABLE_THRESHOLD }}\n />\n );\n});\n\nexport default ChatFlatList;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,8BAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAkG,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAElG,IAAII,wBAAwB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS;AACxD,MAAMC,uBAAuB,GAAG,EAAE;AAClC,MAAMC,qBAAqB,GAAGC,MAAM,CAACC,gBAAgB;AAYrD;AACA,MAAMC,YAAY,gBAAG,IAAAC,iBAAU,EAAqC,SAASC,cAAcA,CAAAC,IAAA,EAEzFC,GAAG,EACH;EAAA,IAAAC,WAAA;EAAA,IAFA;IAAEC,YAAY;IAAEC,eAAe;IAAEC,wBAAwB;IAAEC,mBAAmB;IAAEC,QAAQ;IAAE,GAAGC;EAAM,CAAC,GAAAR,IAAA;EAGpG,MAAM;IAAES;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC;EAEhC,MAAMC,SAAS,GAAG,IAAAC,4BAAgB,EAAkCC,KAAK,IAAK;IAC5ER,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGQ,KAAK,CAAC;IAEjB,MAAM;MAAEC;IAAc,CAAC,GAAGD,KAAK,CAACE,WAAW;IAE3C,MAAMC,WAAW,GAAGP,cAAc,CAACQ,OAAO;IAC1C,MAAMC,WAAW,GAAGJ,aAAa,CAACK,CAAC;IAEnC,IAAI5B,uBAAuB,GAAGyB,WAAW,IAAIE,WAAW,IAAI3B,uBAAuB,EAAE;MACnFY,wBAAwB,CAAC,KAAK,CAAC;MAC/BC,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,KAAK,CAAC;IAC9B,CAAC,MAAM,IAAIb,uBAAuB,GAAG2B,WAAW,IAAIF,WAAW,IAAIzB,uBAAuB,EAAE;MAC1FY,wBAAwB,CAAC,IAAI,CAAC;MAC9BC,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,IAAI,CAAC;IAC7B;IAEAK,cAAc,CAACQ,OAAO,GAAGH,aAAa,CAACK,CAAC;EAC1C,CAAC,CAAC;EAEF,IAAIC,OAAO,IAAI,CAAChC,wBAAwB,EAAE;IACxCA,wBAAwB,GAAG,IAAI;IAC/B;IACAiC,OAAO,CAACC,IAAI,CACV,mKAAmK,CACpK;EACH;EAEA,oBACExE,MAAA,CAAAc,OAAA,CAAA2D,aAAA,CAACrE,8BAAA,CAAAsE,QAAQ,EAAA7C,QAAA;IACP8C,OAAO,EAAE,KAAM;IACfC,qBAAqB;IACrBC,mBAAmB,EAAE,SAAU;IAC/BC,yBAAyB,EAAE,SAAU;IACrCC,cAAc,EAAEtB,MAAM,CAAC;MAAEuB,KAAK,EAAE,OAAO;MAAEC,IAAI,EAAE;IAAQ,CAAC;EAAE,GACtDzB,KAAK;IACT;IACA0B,QAAQ,EAAEC,OAAO,EAAAjC,WAAA,GAACM,KAAK,CAAC4B,IAAI,cAAAlC,WAAA,uBAAVA,WAAA,CAAYf,MAAM,CAAE;IACtCc,GAAG,EAAEA,GAAI;IACToC,YAAY,EAAElC,YAAa;IAC3BmC,qBAAqB,EAAEC,gBAAK;IAC5BC,cAAc,EAAEpC,eAAgB;IAChCqC,mBAAmB,EAAE,EAAG;IACxBlC,QAAQ,EAAEM,SAAU;IACpB6B,YAAY,EAAEC,4BAAiB;IAC/BC,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAE,GAAGC,uBAAU,CAACC,OAAO,CAACvC,KAAK,CAACoC,KAAK;IAAE,CAAE;IACvDI,8BAA8B,EAAE;MAAEC,kBAAkB,EAAE,CAAC;MAAEC,wBAAwB,EAAExD;IAAsB;EAAE,GAC3G;AAEN,CAAC,CAAC;AAAC,IAAAyD,QAAA,GAEYtD,YAAY;AAAAuD,OAAA,CAAAtF,OAAA,GAAAqF,QAAA"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
const AdminMessage = _ref => {
|
|
12
|
-
let {
|
|
13
|
-
message,
|
|
14
|
-
nextMessage
|
|
15
|
-
} = _ref;
|
|
16
|
-
const {
|
|
17
|
-
colors
|
|
18
|
-
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
19
|
-
const isNextAdmin = nextMessage === null || nextMessage === void 0 ? void 0 : nextMessage.isAdminMessage();
|
|
20
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
21
|
-
style: _reactNative.StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
|
|
23
|
-
caption2: true,
|
|
24
|
-
color: colors.onBackground02,
|
|
25
|
-
style: styles.text
|
|
26
|
-
}, message.message));
|
|
27
|
-
};
|
|
28
|
-
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
29
|
-
container: {
|
|
30
|
-
width: 300,
|
|
31
|
-
alignSelf: 'center',
|
|
32
|
-
alignItems: 'center'
|
|
33
|
-
},
|
|
34
|
-
nextAdminType: {
|
|
35
|
-
marginBottom: 8
|
|
36
|
-
},
|
|
37
|
-
next: {
|
|
38
|
-
marginBottom: 16
|
|
39
|
-
},
|
|
40
|
-
text: {
|
|
41
|
-
textAlign: 'center'
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
var _default = AdminMessage;
|
|
45
|
-
exports.default = _default;
|
|
46
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","obj","__esModule","default","AdminMessage","_ref","message","nextMessage","colors","useUIKitTheme","isNextAdmin","isAdminMessage","createElement","View","style","StyleSheet","flatten","styles","container","nextAdminType","next","Text","caption2","color","onBackground02","text","createStyleSheet","width","alignSelf","alignItems","marginBottom","textAlign","_default","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdAdminMessage } from '@sendbird/uikit-utils';\n\nimport type { MessageRendererInterface } from '../index';\n\nexport type AdminMessageProps = MessageRendererInterface<SendbirdAdminMessage>;\nconst AdminMessage = ({ message, nextMessage }: AdminMessageProps) => {\n const { colors } = useUIKitTheme();\n\n const isNextAdmin = nextMessage?.isAdminMessage();\n return (\n <View style={StyleSheet.flatten([styles.container, isNextAdmin ? styles.nextAdminType : styles.next])}>\n <Text caption2 color={colors.onBackground02} style={styles.text}>\n {message.message}\n </Text>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n width: 300,\n alignSelf: 'center',\n alignItems: 'center',\n },\n nextAdminType: {\n marginBottom: 8,\n },\n next: {\n marginBottom: 16,\n },\n text: {\n textAlign: 'center',\n },\n});\n\nexport default AdminMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAAgG,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAMhG,MAAMG,YAAY,GAAGC,IAAA,IAAiD;EAAA,IAAhD;IAAEC,OAAO;IAAEC;EAA+B,CAAC,GAAAF,IAAA;EAC/D,MAAM;IAAEG;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,WAAW,GAAGH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,cAAc,EAAE;EACjD,oBACEf,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACb,YAAA,CAAAc,IAAI;IAACC,KAAK,EAAEC,uBAAU,CAACC,OAAO,CAAC,CAACC,MAAM,CAACC,SAAS,EAAER,WAAW,GAAGO,MAAM,CAACE,aAAa,GAAGF,MAAM,CAACG,IAAI,CAAC;EAAE,gBACpGxB,MAAA,CAAAO,OAAA,CAAAS,aAAA,CAACZ,2BAAA,CAAAqB,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACgB,cAAe;IAACV,KAAK,EAAEG,MAAM,CAACQ;EAAK,GAC7DnB,OAAO,CAACA,OAAO,CACX,CACF;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG,IAAAS,4CAAgB,EAAC;EAC9BR,SAAS,EAAE;IACTS,KAAK,EAAE,GAAG;IACVC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACd,CAAC;EACDV,aAAa,EAAE;IACbW,YAAY,EAAE;EAChB,CAAC;EACDV,IAAI,EAAE;IACJU,YAAY,EAAE;EAChB,CAAC;EACDL,IAAI,EAAE;IACJM,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY5B,YAAY;AAAA6B,OAAA,CAAA9B,OAAA,GAAA6B,QAAA"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
10
|
-
var _useContext = require("../../../hooks/useContext");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
const iconMapper = {
|
|
13
|
-
audio: 'file-audio',
|
|
14
|
-
image: 'photo',
|
|
15
|
-
video: 'play',
|
|
16
|
-
file: 'file-document'
|
|
17
|
-
};
|
|
18
|
-
const BaseFileMessage = _ref => {
|
|
19
|
-
let {
|
|
20
|
-
message,
|
|
21
|
-
variant,
|
|
22
|
-
pressed,
|
|
23
|
-
type,
|
|
24
|
-
children
|
|
25
|
-
} = _ref;
|
|
26
|
-
const {
|
|
27
|
-
STRINGS
|
|
28
|
-
} = (0, _useContext.useLocalization)();
|
|
29
|
-
const {
|
|
30
|
-
colors
|
|
31
|
-
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
32
|
-
const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];
|
|
33
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
34
|
-
style: [styles.bubbleContainer, {
|
|
35
|
-
backgroundColor: color.background
|
|
36
|
-
}]
|
|
37
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
38
|
-
style: styles.container
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
|
|
40
|
-
icon: iconMapper[type],
|
|
41
|
-
size: 24,
|
|
42
|
-
containerStyle: {
|
|
43
|
-
backgroundColor: colors.background,
|
|
44
|
-
padding: 2,
|
|
45
|
-
borderRadius: 8,
|
|
46
|
-
marginRight: 8
|
|
47
|
-
}
|
|
48
|
-
}), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
|
|
49
|
-
body3: true,
|
|
50
|
-
ellipsizeMode: 'middle',
|
|
51
|
-
numberOfLines: 1,
|
|
52
|
-
color: color.textMsg,
|
|
53
|
-
style: styles.name
|
|
54
|
-
}, STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message))), children);
|
|
55
|
-
};
|
|
56
|
-
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
57
|
-
bubbleContainer: {
|
|
58
|
-
borderRadius: 16,
|
|
59
|
-
overflow: 'hidden'
|
|
60
|
-
},
|
|
61
|
-
container: {
|
|
62
|
-
flexDirection: 'row',
|
|
63
|
-
alignItems: 'center',
|
|
64
|
-
paddingHorizontal: 12,
|
|
65
|
-
paddingVertical: 6
|
|
66
|
-
},
|
|
67
|
-
name: {
|
|
68
|
-
flexShrink: 1
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
var _default = BaseFileMessage;
|
|
72
|
-
exports.default = _default;
|
|
73
|
-
//# sourceMappingURL=BaseFileMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","iconMapper","audio","image","video","file","BaseFileMessage","_ref","message","variant","pressed","type","children","STRINGS","useLocalization","colors","useUIKitTheme","color","ui","groupChannelMessage","createElement","View","style","styles","bubbleContainer","backgroundColor","background","container","Icon","icon","size","containerStyle","padding","borderRadius","marginRight","Text","body3","ellipsizeMode","numberOfLines","textMsg","name","GROUP_CHANNEL","MESSAGE_BUBBLE_FILE_TITLE","createStyleSheet","overflow","flexDirection","alignItems","paddingHorizontal","paddingVertical","flexShrink","_default","exports"],"sources":["BaseFileMessage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { Icon, Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../../../hooks/useContext';\nimport type { FileMessageProps } from './index';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = FileMessageProps & {\n type: 'image' | 'audio' | 'video' | 'file';\n};\nconst BaseFileMessage = ({ message, variant, pressed, type, children }: Props) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const color = colors.ui.groupChannelMessage[variant][pressed ? 'pressed' : 'enabled'];\n return (\n <View style={[styles.bubbleContainer, { backgroundColor: color.background }]}>\n <View style={styles.container}>\n <Icon\n icon={iconMapper[type]}\n size={24}\n containerStyle={{ backgroundColor: colors.background, padding: 2, borderRadius: 8, marginRight: 8 }}\n />\n <Text body3 ellipsizeMode={'middle'} numberOfLines={1} color={color.textMsg} style={styles.name}>\n {STRINGS.GROUP_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message)}\n </Text>\n </View>\n {children}\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n bubbleContainer: {\n borderRadius: 16,\n overflow: 'hidden',\n },\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 12,\n paddingVertical: 6,\n },\n name: {\n flexShrink: 1,\n },\n});\n\nexport default BaseFileMessage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,2BAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAA4D,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAG5D,MAAMG,UAAU,GAAG;EAAEC,KAAK,EAAE,YAAY;EAAEC,KAAK,EAAE,OAAO;EAAEC,KAAK,EAAE,MAAM;EAAEC,IAAI,EAAE;AAAgB,CAAU;AAKzG,MAAMC,eAAe,GAAGC,IAAA,IAA0D;EAAA,IAAzD;IAAEC,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAgB,CAAC,GAAAL,IAAA;EAC3E,MAAM;IAAEM;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAClC,MAAMC,KAAK,GAAGF,MAAM,CAACG,EAAE,CAACC,mBAAmB,CAACV,OAAO,CAAC,CAACC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;EACrF,oBACElB,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAA0B,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,eAAe,EAAE;MAAEC,eAAe,EAAER,KAAK,CAACS;IAAW,CAAC;EAAE,gBAC3ElC,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAA0B,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACI;EAAU,gBAC5BnC,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACxB,2BAAA,CAAAgC,IAAI;IACHC,IAAI,EAAE5B,UAAU,CAACU,IAAI,CAAE;IACvBmB,IAAI,EAAE,EAAG;IACTC,cAAc,EAAE;MAAEN,eAAe,EAAEV,MAAM,CAACW,UAAU;MAAEM,OAAO,EAAE,CAAC;MAAEC,YAAY,EAAE,CAAC;MAAEC,WAAW,EAAE;IAAE;EAAE,EACpG,eACF1C,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACxB,2BAAA,CAAAuC,IAAI;IAACC,KAAK;IAACC,aAAa,EAAE,QAAS;IAACC,aAAa,EAAE,CAAE;IAACrB,KAAK,EAAEA,KAAK,CAACsB,OAAQ;IAACjB,KAAK,EAAEC,MAAM,CAACiB;EAAK,GAC7F3B,OAAO,CAAC4B,aAAa,CAACC,yBAAyB,CAAClC,OAAO,CAAC,CACpD,CACF,EACNI,QAAQ,CACJ;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG,IAAAoB,4CAAgB,EAAC;EAC9BnB,eAAe,EAAE;IACfS,YAAY,EAAE,EAAE;IAChBW,QAAQ,EAAE;EACZ,CAAC;EACDjB,SAAS,EAAE;IACTkB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB,CAAC;EACDR,IAAI,EAAE;IACJS,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY5C,eAAe;AAAA6C,OAAA,CAAAnD,OAAA,GAAAkD,QAAA"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
10
|
-
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
const useRetry = function (hasError) {
|
|
14
|
-
let retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
|
|
15
|
-
if (_reactNative.Platform.OS === 'android') return '';
|
|
16
|
-
const forceUpdate = (0, _uikitUtils.useForceUpdate)();
|
|
17
|
-
const retryCountRef = (0, _react.useRef)(1);
|
|
18
|
-
const retryTimeoutRef = (0, _react.useRef)();
|
|
19
|
-
(0, _react.useEffect)(() => {
|
|
20
|
-
if (hasError) {
|
|
21
|
-
const reloadReservation = () => {
|
|
22
|
-
if (retryCountRef.current < retryCount) {
|
|
23
|
-
retryTimeoutRef.current = setTimeout(() => {
|
|
24
|
-
retryCountRef.current++;
|
|
25
|
-
reloadReservation();
|
|
26
|
-
forceUpdate();
|
|
27
|
-
}, retryCountRef.current * 5000);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
return reloadReservation();
|
|
31
|
-
} else {
|
|
32
|
-
return clearTimeout(retryTimeoutRef.current);
|
|
33
|
-
}
|
|
34
|
-
}, [hasError]);
|
|
35
|
-
return retryCountRef.current;
|
|
36
|
-
};
|
|
37
|
-
const ImageFileMessage = _ref => {
|
|
38
|
-
let {
|
|
39
|
-
message,
|
|
40
|
-
children,
|
|
41
|
-
variant
|
|
42
|
-
} = _ref;
|
|
43
|
-
const {
|
|
44
|
-
colors
|
|
45
|
-
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
46
|
-
const [imageNotFound, setImageNotFound] = (0, _react.useState)(false);
|
|
47
|
-
const fileUrl = (0, _uikitUtils.getAvailableUriFromFileMessage)(message);
|
|
48
|
-
const style = [styles.image, {
|
|
49
|
-
backgroundColor: colors.onBackground04
|
|
50
|
-
}];
|
|
51
|
-
const key = useRetry(imageNotFound);
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
53
|
-
style: [styles.bubbleContainer, {
|
|
54
|
-
backgroundColor: imageNotFound ? colors.onBackground04 : colors.ui.groupChannelMessage[variant].enabled.background
|
|
55
|
-
}]
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
57
|
-
style: style
|
|
58
|
-
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Image, {
|
|
59
|
-
key: key,
|
|
60
|
-
source: {
|
|
61
|
-
uri: fileUrl
|
|
62
|
-
},
|
|
63
|
-
style: [_reactNative.StyleSheet.absoluteFill, imageNotFound && styles.hide],
|
|
64
|
-
resizeMode: 'cover',
|
|
65
|
-
resizeMethod: 'resize',
|
|
66
|
-
onError: () => setImageNotFound(true),
|
|
67
|
-
onLoad: () => setImageNotFound(false)
|
|
68
|
-
}), imageNotFound && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Icon, {
|
|
69
|
-
containerStyle: _reactNative.StyleSheet.absoluteFill,
|
|
70
|
-
icon: 'thumbnail-none',
|
|
71
|
-
size: 48,
|
|
72
|
-
color: colors.onBackground02
|
|
73
|
-
})), children);
|
|
74
|
-
};
|
|
75
|
-
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
76
|
-
bubbleContainer: {
|
|
77
|
-
borderRadius: 16,
|
|
78
|
-
overflow: 'hidden'
|
|
79
|
-
},
|
|
80
|
-
image: {
|
|
81
|
-
width: 240,
|
|
82
|
-
maxWidth: 240,
|
|
83
|
-
height: 160,
|
|
84
|
-
borderRadius: 16,
|
|
85
|
-
overflow: 'hidden'
|
|
86
|
-
},
|
|
87
|
-
hide: {
|
|
88
|
-
display: 'none'
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
var _default = ImageFileMessage;
|
|
92
|
-
exports.default = _default;
|
|
93
|
-
//# sourceMappingURL=ImageFileMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useRetry","hasError","retryCount","arguments","length","undefined","Platform","OS","forceUpdate","useForceUpdate","retryCountRef","useRef","retryTimeoutRef","useEffect","reloadReservation","current","setTimeout","clearTimeout","ImageFileMessage","_ref","message","children","variant","colors","useUIKitTheme","imageNotFound","setImageNotFound","useState","fileUrl","getAvailableUriFromFileMessage","style","styles","image","backgroundColor","onBackground04","createElement","View","bubbleContainer","ui","groupChannelMessage","enabled","background","Image","source","uri","StyleSheet","absoluteFill","hide","resizeMode","resizeMethod","onError","onLoad","Icon","containerStyle","icon","size","color","onBackground02","createStyleSheet","borderRadius","overflow","width","maxWidth","height","display","_default","exports"],"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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"}
|