@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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","Logger","useSendbirdChat","usePushTokenRegistration","cacheRestrictCodes","isCacheRestrictedError","error","some","code","initEmoji","sdk","emojiManager","init","appInfo","emojiHash","container","getAllEmoji","useConnection","setCurrentUser","
|
|
1
|
+
{"version":3,"names":["useCallback","useUIKitConfig","Logger","useSendbirdChat","usePushTokenRegistration","cacheRestrictCodes","isCacheRestrictedError","error","some","code","initEmoji","sdk","emojiManager","init","appInfo","emojiHash","container","getAllEmoji","useConnection","initDashboardConfigs","setCurrentUser","sbOptions","registerPushTokenForCurrentUser","unregisterPushTokenForCurrentUser","connect","userId","opts","debug","user","accessToken","nickname","updateCurrentUserInfo","then","updatedUser","catch","e","warn","chat","useUserIdForNicknameEnabled","autoPushTokenRegistrationEnabled","Promise","allSettled","isCacheEnabled","message","clearCachedData","currentUser","disconnect","undefined","reconnect"],"sources":["useConnection.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useUIKitConfig } from '@sendbird/uikit-tools';\nimport { Logger, SendbirdChatSDK, SendbirdError, SendbirdUser } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport { useSendbirdChat } from './useContext';\nimport usePushTokenRegistration from './usePushTokenRegistration';\n\ntype ConnectOptions = { nickname?: string; accessToken?: string };\n\nconst cacheRestrictCodes = [400300, 400301, 400302, 400310];\nfunction isCacheRestrictedError(error: SendbirdError) {\n return cacheRestrictCodes.some((code) => error.code === code);\n}\n\nasync function initEmoji(sdk: SendbirdChatSDK, emojiManager: EmojiManager) {\n await emojiManager.init();\n if (sdk.appInfo.emojiHash !== emojiManager.emojiHash) {\n try {\n const container = await sdk.getAllEmoji();\n await emojiManager.init(container);\n } catch {}\n }\n}\n\nconst useConnection = () => {\n const { initDashboardConfigs } = useUIKitConfig();\n const { sdk, emojiManager, setCurrentUser, sbOptions } = useSendbirdChat();\n const { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser } = usePushTokenRegistration();\n\n const connect = useCallback(\n async (userId: string, opts?: ConnectOptions): Promise<SendbirdUser> => {\n try {\n Logger.debug('[useConnection]', 'connect start:', userId);\n let user = await sdk.connect(userId, opts?.accessToken);\n\n if (opts?.nickname) {\n Logger.debug('[useConnection]', 'nickname-sync start:', opts.nickname);\n await sdk\n .updateCurrentUserInfo({ nickname: opts.nickname })\n .then((updatedUser) => (user = updatedUser))\n .catch((e) => Logger.warn('[useConnection]', 'nickname-sync failure', e));\n } else if (sbOptions.chat.useUserIdForNicknameEnabled) {\n await sdk.updateCurrentUserInfo({ nickname: userId }).then((updatedUser) => (user = updatedUser));\n }\n\n if (sbOptions.chat.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, register for current user');\n await registerPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken Registration failure', e);\n });\n }\n\n await Promise.allSettled([initEmoji(sdk, emojiManager), initDashboardConfigs(sdk)]);\n\n Logger.debug('[useConnection]', 'connected! (online)');\n setCurrentUser(user);\n\n return user;\n } catch (e) {\n const error = e as unknown as SendbirdError;\n\n if (sdk.isCacheEnabled) {\n if (isCacheRestrictedError(error)) {\n Logger.warn('[useConnection]', 'offline connect restricted', error.message, error.code);\n Logger.warn('[useConnection]', 'clear cached-data');\n await sdk.clearCachedData().catch((e) => Logger.warn('[useConnection]', 'clear cached-data failure', e));\n } else if (sdk.currentUser) {\n await initEmoji(sdk, emojiManager);\n\n Logger.debug('[useConnection]', 'connected! (offline)');\n setCurrentUser(sdk.currentUser);\n return sdk.currentUser;\n }\n }\n\n Logger.warn('[useConnection]', 'connect failure', error.message, error.code);\n throw error;\n }\n },\n [sdk, registerPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled],\n );\n\n const disconnect = useCallback(async () => {\n Logger.debug('[useConnection]', 'disconnect start');\n\n if (sbOptions.chat.autoPushTokenRegistrationEnabled) {\n Logger.debug('[useConnection]', 'autoPushTokenRegistration enabled, unregister for current user');\n await unregisterPushTokenForCurrentUser().catch((e) => {\n Logger.warn('[useConnection]', 'autoPushToken unregister failure', e);\n });\n }\n\n await sdk.disconnect().then(() => setCurrentUser(undefined));\n Logger.debug('[useConnection]', 'disconnected!');\n }, [sdk, unregisterPushTokenForCurrentUser, sbOptions.chat.autoPushTokenRegistrationEnabled]);\n\n return { connect, disconnect, reconnect: () => sdk.reconnect() };\n};\n\nexport default useConnection;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,MAAM,QAAsD,uBAAuB;AAG5F,SAASC,eAAe,QAAQ,cAAc;AAC9C,OAAOC,wBAAwB,MAAM,4BAA4B;AAIjE,MAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3D,SAASC,sBAAsBA,CAACC,KAAoB,EAAE;EACpD,OAAOF,kBAAkB,CAACG,IAAI,CAAEC,IAAI,IAAKF,KAAK,CAACE,IAAI,KAAKA,IAAI,CAAC;AAC/D;AAEA,eAAeC,SAASA,CAACC,GAAoB,EAAEC,YAA0B,EAAE;EACzE,MAAMA,YAAY,CAACC,IAAI,EAAE;EACzB,IAAIF,GAAG,CAACG,OAAO,CAACC,SAAS,KAAKH,YAAY,CAACG,SAAS,EAAE;IACpD,IAAI;MACF,MAAMC,SAAS,GAAG,MAAML,GAAG,CAACM,WAAW,EAAE;MACzC,MAAML,YAAY,CAACC,IAAI,CAACG,SAAS,CAAC;IACpC,CAAC,CAAC,MAAM,CAAC;EACX;AACF;AAEA,MAAME,aAAa,GAAGA,CAAA,KAAM;EAC1B,MAAM;IAAEC;EAAqB,CAAC,GAAGlB,cAAc,EAAE;EACjD,MAAM;IAAEU,GAAG;IAAEC,YAAY;IAAEQ,cAAc;IAAEC;EAAU,CAAC,GAAGlB,eAAe,EAAE;EAC1E,MAAM;IAAEmB,+BAA+B;IAAEC;EAAkC,CAAC,GAAGnB,wBAAwB,EAAE;EAEzG,MAAMoB,OAAO,GAAGxB,WAAW,CACzB,OAAOyB,MAAc,EAAEC,IAAqB,KAA4B;IACtE,IAAI;MACFxB,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAEF,MAAM,CAAC;MACzD,IAAIG,IAAI,GAAG,MAAMjB,GAAG,CAACa,OAAO,CAACC,MAAM,EAAEC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,CAAC;MAEvD,IAAIH,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEI,QAAQ,EAAE;QAClB5B,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,sBAAsB,EAAED,IAAI,CAACI,QAAQ,CAAC;QACtE,MAAMnB,GAAG,CACNoB,qBAAqB,CAAC;UAAED,QAAQ,EAAEJ,IAAI,CAACI;QAAS,CAAC,CAAC,CAClDE,IAAI,CAAEC,WAAW,IAAML,IAAI,GAAGK,WAAY,CAAC,CAC3CC,KAAK,CAAEC,CAAC,IAAKjC,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,EAAED,CAAC,CAAC,CAAC;MAC7E,CAAC,MAAM,IAAId,SAAS,CAACgB,IAAI,CAACC,2BAA2B,EAAE;QACrD,MAAM3B,GAAG,CAACoB,qBAAqB,CAAC;UAAED,QAAQ,EAAEL;QAAO,CAAC,CAAC,CAACO,IAAI,CAAEC,WAAW,IAAML,IAAI,GAAGK,WAAY,CAAC;MACnG;MAEA,IAAIZ,SAAS,CAACgB,IAAI,CAACE,gCAAgC,EAAE;QACnDrC,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;QAC/F,MAAML,+BAA+B,EAAE,CAACY,KAAK,CAAEC,CAAC,IAAK;UACnDjC,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,oCAAoC,EAAED,CAAC,CAAC;QACzE,CAAC,CAAC;MACJ;MAEA,MAAMK,OAAO,CAACC,UAAU,CAAC,CAAC/B,SAAS,CAACC,GAAG,EAAEC,YAAY,CAAC,EAAEO,oBAAoB,CAACR,GAAG,CAAC,CAAC,CAAC;MAEnFT,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;MACtDP,cAAc,CAACQ,IAAI,CAAC;MAEpB,OAAOA,IAAI;IACb,CAAC,CAAC,OAAOO,CAAC,EAAE;MACV,MAAM5B,KAAK,GAAG4B,CAA6B;MAE3C,IAAIxB,GAAG,CAAC+B,cAAc,EAAE;QACtB,IAAIpC,sBAAsB,CAACC,KAAK,CAAC,EAAE;UACjCL,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,4BAA4B,EAAE7B,KAAK,CAACoC,OAAO,EAAEpC,KAAK,CAACE,IAAI,CAAC;UACvFP,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;UACnD,MAAMzB,GAAG,CAACiC,eAAe,EAAE,CAACV,KAAK,CAAEC,CAAC,IAAKjC,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,2BAA2B,EAAED,CAAC,CAAC,CAAC;QAC1G,CAAC,MAAM,IAAIxB,GAAG,CAACkC,WAAW,EAAE;UAC1B,MAAMnC,SAAS,CAACC,GAAG,EAAEC,YAAY,CAAC;UAElCV,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;UACvDP,cAAc,CAACT,GAAG,CAACkC,WAAW,CAAC;UAC/B,OAAOlC,GAAG,CAACkC,WAAW;QACxB;MACF;MAEA3C,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE7B,KAAK,CAACoC,OAAO,EAAEpC,KAAK,CAACE,IAAI,CAAC;MAC5E,MAAMF,KAAK;IACb;EACF,CAAC,EACD,CAACI,GAAG,EAAEW,+BAA+B,EAAED,SAAS,CAACgB,IAAI,CAACE,gCAAgC,CAAC,CACxF;EAED,MAAMO,UAAU,GAAG9C,WAAW,CAAC,YAAY;IACzCE,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEnD,IAAIN,SAAS,CAACgB,IAAI,CAACE,gCAAgC,EAAE;MACnDrC,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;MACjG,MAAMJ,iCAAiC,EAAE,CAACW,KAAK,CAAEC,CAAC,IAAK;QACrDjC,MAAM,CAACkC,IAAI,CAAC,iBAAiB,EAAE,kCAAkC,EAAED,CAAC,CAAC;MACvE,CAAC,CAAC;IACJ;IAEA,MAAMxB,GAAG,CAACmC,UAAU,EAAE,CAACd,IAAI,CAAC,MAAMZ,cAAc,CAAC2B,SAAS,CAAC,CAAC;IAC5D7C,MAAM,CAACyB,KAAK,CAAC,iBAAiB,EAAE,eAAe,CAAC;EAClD,CAAC,EAAE,CAAChB,GAAG,EAAEY,iCAAiC,EAAEF,SAAS,CAACgB,IAAI,CAACE,gCAAgC,CAAC,CAAC;EAE7F,OAAO;IAAEf,OAAO;IAAEsB,UAAU;IAAEE,SAAS,EAAEA,CAAA,KAAMrC,GAAG,CAACqC,SAAS;EAAG,CAAC;AAClE,CAAC;AAED,eAAe9B,aAAa"}
|
|
@@ -4,7 +4,8 @@ import { replace, useFreshCallback } from '@sendbird/uikit-utils';
|
|
|
4
4
|
import { useSendbirdChat } from './useContext';
|
|
5
5
|
const useMentionTextInput = params => {
|
|
6
6
|
const {
|
|
7
|
-
mentionManager
|
|
7
|
+
mentionManager,
|
|
8
|
+
sbOptions
|
|
8
9
|
} = useSendbirdChat();
|
|
9
10
|
const mentionedUsersRef = useRef([]);
|
|
10
11
|
const textInputRef = useRef();
|
|
@@ -16,7 +17,7 @@ const useMentionTextInput = params => {
|
|
|
16
17
|
|
|
17
18
|
// TODO: Refactor text edit logic more clearly
|
|
18
19
|
useEffect(() => {
|
|
19
|
-
if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit)) {
|
|
20
|
+
if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit, sbOptions.uikit.groupChannel.channel.enableMention)) {
|
|
20
21
|
const result = mentionManager.templateToTextAndMentionedUsers(params.messageToEdit.mentionedMessageTemplate, params.messageToEdit.mentionedUsers);
|
|
21
22
|
mentionedUsersRef.current = result.mentionedUsers;
|
|
22
23
|
setText(result.mentionedText);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","Platform","replace","useFreshCallback","useSendbirdChat","useMentionTextInput","params","mentionManager","mentionedUsersRef","textInputRef","text","setText","selection","setSelection","start","end","shouldUseMentionedMessageTemplate","messageToEdit","result","templateToTextAndMentionedUsers","mentionedMessageTemplate","mentionedUsers","current","mentionedText","_params$messageToEdit","isUserMessage","message","onChangeText","_nextText","addedMentionedUser","prevText","nextText","offset","length","push","reconcileRangeOfMentionedUsers","filtered","lastSelection","removeMentionedUsersInSelection","Math","max","foundIndex","findIndex","it","rangeHelpers","overlaps","range","remainderLength","splice","onSelectionChange","e","nativeSelection","nativeEvent","setTimeout","mentionedUser","find","_textInputRef$current","selectionBlock","setNativeProps","OS","_textInputRef$current2"],"sources":["useMentionTextInput.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput, TextInputSelectionChangeEventData } from 'react-native';\nimport { Platform } from 'react-native';\n\nimport { SendbirdFileMessage, SendbirdUserMessage, replace, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser } from '../types';\nimport { useSendbirdChat } from './useContext';\n\nconst useMentionTextInput = (params: { messageToEdit?: SendbirdUserMessage | SendbirdFileMessage }) => {\n const { mentionManager } = useSendbirdChat();\n\n const mentionedUsersRef = useRef<MentionedUser[]>([]);\n const textInputRef = useRef<TextInput>();\n\n const [text, setText] = useState('');\n const [selection, setSelection] = useState({ start: 0, end: 0 });\n\n // TODO: Refactor text edit logic more clearly\n useEffect(() => {\n if (mentionManager.shouldUseMentionedMessageTemplate(params.messageToEdit)) {\n const result = mentionManager.templateToTextAndMentionedUsers(\n params.messageToEdit.mentionedMessageTemplate,\n params.messageToEdit.mentionedUsers,\n );\n\n mentionedUsersRef.current = result.mentionedUsers;\n setText(result.mentionedText);\n } else {\n mentionedUsersRef.current = [];\n if (params.messageToEdit?.isUserMessage()) {\n setText(params.messageToEdit.message);\n }\n }\n }, [params.messageToEdit]);\n\n const onChangeText = useFreshCallback((_nextText: string, addedMentionedUser?: MentionedUser) => {\n const prevText = text;\n let nextText = _nextText;\n let offset = nextText.length - prevText.length;\n\n // Text clear\n if (nextText === '') {\n mentionedUsersRef.current = [];\n }\n // Text add\n else if (offset > 0) {\n /** Add mentioned user **/\n if (addedMentionedUser) mentionedUsersRef.current.push(addedMentionedUser);\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n // Text remove\n else if (offset < 0) {\n // Ranged remove\n if (selection.start !== selection.end) {\n /** Filter mentioned users in selection range **/\n const { filtered, lastSelection } = mentionManager.removeMentionedUsersInSelection(\n selection,\n mentionedUsersRef.current,\n );\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n Math.max(selection.end, lastSelection),\n filtered,\n );\n }\n // Single remove\n else {\n /** Find mentioned user who ranges in removed selection **/\n const foundIndex = mentionedUsersRef.current.findIndex((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n /** If found, remove from the mentioned user list and remove remainder text **/\n if (foundIndex > -1) {\n const it = mentionedUsersRef.current[foundIndex];\n const remainderLength = it.range.end - it.range.start + offset;\n\n offset = -remainderLength + offset;\n nextText = replace(nextText, it.range.start, it.range.start + remainderLength, '');\n\n mentionedUsersRef.current.splice(foundIndex, 1);\n }\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n }\n\n setText(nextText);\n });\n\n return {\n textInputRef,\n selection,\n onSelectionChange: useFreshCallback((e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => {\n const nativeSelection = { ...e.nativeEvent.selection };\n\n // NOTE: To synchronize call onSelectionChange after onChangeText called on each platform.\n setTimeout(() => {\n const mentionedUser = mentionedUsersRef.current.find((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, nativeSelection),\n );\n\n // Selection should be blocked if changed into mentioned area\n if (mentionedUser) {\n const selectionBlock = { start: mentionedUser.range.start, end: mentionedUser.range.end };\n textInputRef.current?.setNativeProps({ selection: selectionBlock });\n // BUG: setNativeProps called again when invoked onChangeText\n // https://github.com/facebook/react-native/issues/33520\n if (Platform.OS === 'android') {\n setTimeout(() => {\n textInputRef.current?.setNativeProps({ selection: { start: 0 } });\n }, 250);\n }\n setSelection(selectionBlock);\n } else {\n setSelection(nativeSelection);\n }\n }, 10);\n }),\n text,\n onChangeText,\n mentionedUsers: mentionedUsersRef.current,\n };\n};\n\nexport default useMentionTextInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","Platform","replace","useFreshCallback","useSendbirdChat","useMentionTextInput","params","mentionManager","sbOptions","mentionedUsersRef","textInputRef","text","setText","selection","setSelection","start","end","shouldUseMentionedMessageTemplate","messageToEdit","uikit","groupChannel","channel","enableMention","result","templateToTextAndMentionedUsers","mentionedMessageTemplate","mentionedUsers","current","mentionedText","_params$messageToEdit","isUserMessage","message","onChangeText","_nextText","addedMentionedUser","prevText","nextText","offset","length","push","reconcileRangeOfMentionedUsers","filtered","lastSelection","removeMentionedUsersInSelection","Math","max","foundIndex","findIndex","it","rangeHelpers","overlaps","range","remainderLength","splice","onSelectionChange","e","nativeSelection","nativeEvent","setTimeout","mentionedUser","find","_textInputRef$current","selectionBlock","setNativeProps","OS","_textInputRef$current2"],"sources":["useMentionTextInput.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput, TextInputSelectionChangeEventData } from 'react-native';\nimport { Platform } from 'react-native';\n\nimport { SendbirdFileMessage, SendbirdUserMessage, replace, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser } from '../types';\nimport { useSendbirdChat } from './useContext';\n\nconst useMentionTextInput = (params: { messageToEdit?: SendbirdUserMessage | SendbirdFileMessage }) => {\n const { mentionManager, sbOptions } = useSendbirdChat();\n\n const mentionedUsersRef = useRef<MentionedUser[]>([]);\n const textInputRef = useRef<TextInput>();\n\n const [text, setText] = useState('');\n const [selection, setSelection] = useState({ start: 0, end: 0 });\n\n // TODO: Refactor text edit logic more clearly\n useEffect(() => {\n if (\n mentionManager.shouldUseMentionedMessageTemplate(\n params.messageToEdit,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )\n ) {\n const result = mentionManager.templateToTextAndMentionedUsers(\n params.messageToEdit.mentionedMessageTemplate,\n params.messageToEdit.mentionedUsers,\n );\n\n mentionedUsersRef.current = result.mentionedUsers;\n setText(result.mentionedText);\n } else {\n mentionedUsersRef.current = [];\n if (params.messageToEdit?.isUserMessage()) {\n setText(params.messageToEdit.message);\n }\n }\n }, [params.messageToEdit]);\n\n const onChangeText = useFreshCallback((_nextText: string, addedMentionedUser?: MentionedUser) => {\n const prevText = text;\n let nextText = _nextText;\n let offset = nextText.length - prevText.length;\n\n // Text clear\n if (nextText === '') {\n mentionedUsersRef.current = [];\n }\n // Text add\n else if (offset > 0) {\n /** Add mentioned user **/\n if (addedMentionedUser) mentionedUsersRef.current.push(addedMentionedUser);\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n // Text remove\n else if (offset < 0) {\n // Ranged remove\n if (selection.start !== selection.end) {\n /** Filter mentioned users in selection range **/\n const { filtered, lastSelection } = mentionManager.removeMentionedUsersInSelection(\n selection,\n mentionedUsersRef.current,\n );\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n Math.max(selection.end, lastSelection),\n filtered,\n );\n }\n // Single remove\n else {\n /** Find mentioned user who ranges in removed selection **/\n const foundIndex = mentionedUsersRef.current.findIndex((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, selection, 'underMore'),\n );\n /** If found, remove from the mentioned user list and remove remainder text **/\n if (foundIndex > -1) {\n const it = mentionedUsersRef.current[foundIndex];\n const remainderLength = it.range.end - it.range.start + offset;\n\n offset = -remainderLength + offset;\n nextText = replace(nextText, it.range.start, it.range.start + remainderLength, '');\n\n mentionedUsersRef.current.splice(foundIndex, 1);\n }\n\n /** Reconcile mentioned users range on the right side of the selection **/\n mentionedUsersRef.current = mentionManager.reconcileRangeOfMentionedUsers(\n offset,\n selection.end,\n mentionedUsersRef.current,\n );\n }\n }\n\n setText(nextText);\n });\n\n return {\n textInputRef,\n selection,\n onSelectionChange: useFreshCallback((e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => {\n const nativeSelection = { ...e.nativeEvent.selection };\n\n // NOTE: To synchronize call onSelectionChange after onChangeText called on each platform.\n setTimeout(() => {\n const mentionedUser = mentionedUsersRef.current.find((it) =>\n mentionManager.rangeHelpers.overlaps(it.range, nativeSelection),\n );\n\n // Selection should be blocked if changed into mentioned area\n if (mentionedUser) {\n const selectionBlock = { start: mentionedUser.range.start, end: mentionedUser.range.end };\n textInputRef.current?.setNativeProps({ selection: selectionBlock });\n // BUG: setNativeProps called again when invoked onChangeText\n // https://github.com/facebook/react-native/issues/33520\n if (Platform.OS === 'android') {\n setTimeout(() => {\n textInputRef.current?.setNativeProps({ selection: { start: 0 } });\n }, 250);\n }\n setSelection(selectionBlock);\n } else {\n setSelection(nativeSelection);\n }\n }, 10);\n }),\n text,\n onChangeText,\n mentionedUsers: mentionedUsersRef.current,\n };\n};\n\nexport default useMentionTextInput;\n"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
/** Components **/
|
|
2
1
|
import { Platform } from 'react-native';
|
|
3
2
|
import { Logger } from '@sendbird/uikit-utils';
|
|
3
|
+
|
|
4
|
+
/** Components **/
|
|
4
5
|
export { default as ChannelInput } from './components/ChannelInput';
|
|
5
|
-
export { default as
|
|
6
|
+
export { default as ChannelMessageList } from './components/ChannelMessageList';
|
|
7
|
+
export { default as GroupChannelMessageRenderer } from './components/GroupChannelMessageRenderer';
|
|
6
8
|
export { default as OpenChannelMessageRenderer } from './components/OpenChannelMessageRenderer';
|
|
7
9
|
export { ReactionAddons } from './components/ReactionAddons';
|
|
8
10
|
export { ReactionBottomSheets } from './components/ReactionBottomSheets';
|
|
9
11
|
export { default as ChannelCover } from './components/ChannelCover';
|
|
10
12
|
export { default as ChatFlatList } from './components/ChatFlatList';
|
|
11
13
|
export { default as FileViewer } from './components/FileViewer';
|
|
14
|
+
export { default as MessageSearchResultItem } from './components/MessageSearchResultItem';
|
|
12
15
|
export { default as NewMessagesButton } from './components/NewMessagesButton';
|
|
13
16
|
export { default as ProviderLayout } from './components/ProviderLayout';
|
|
14
17
|
export { default as ScrollToBottomButton } from './components/ScrollToBottomButton';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","Logger","default","ChannelInput","MessageRenderer","OpenChannelMessageRenderer","ReactionAddons","ReactionBottomSheets","ChannelCover","ChatFlatList","FileViewer","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","createGroupChannelModerationFragment","createGroupChannelOperatorsFragment","createGroupChannelRegisterOperatorFragment","createGroupChannelMutedMembersFragment","createGroupChannelBannedUsersFragment","createGroupChannelNotificationsFragment","createMessageSearchFragment","createOpenChannelFragment","createOpenChannelParticipantsFragment","createOpenChannelSettingsFragment","createOpenChannelListFragment","createOpenChannelCreateFragment","createOpenChannelModerationFragment","createOpenChannelBannedUsersFragment","createOpenChannelMutedParticipantsFragment","createOpenChannelOperatorsFragment","createOpenChannelRegisterOperatorFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","UserProfileContext","UserProfileProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","createBaseStringSet","StringSetEn","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","SendbirdUIKitContainer","SendbirdUIKit","SBUError","SBUUtils","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["/** Components **/\nimport { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport { default as ChannelInput } from './components/ChannelInput';\nexport { default as MessageRenderer } from './components/MessageRenderer';\nexport { default as OpenChannelMessageRenderer } from './components/OpenChannelMessageRenderer';\nexport { ReactionAddons } from './components/ReactionAddons';\nexport { ReactionBottomSheets } from './components/ReactionBottomSheets';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments - group channels **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\nexport { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';\nexport { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';\nexport { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';\nexport { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';\nexport { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';\nexport { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';\nexport { default as createMessageSearchFragment } from './fragments/createMessageSearchFragment';\n\n/** Fragments - open channels **/\nexport { default as createOpenChannelFragment } from './fragments/createOpenChannelFragment';\nexport { default as createOpenChannelParticipantsFragment } from './fragments/createOpenChannelParticipantsFragment';\nexport { default as createOpenChannelSettingsFragment } from './fragments/createOpenChannelSettingsFragment';\nexport { default as createOpenChannelListFragment } from './fragments/createOpenChannelListFragment';\nexport { default as createOpenChannelCreateFragment } from './fragments/createOpenChannelCreateFragment';\nexport { default as createOpenChannelModerationFragment } from './fragments/createOpenChannelModerationFragment';\nexport { default as createOpenChannelBannedUsersFragment } from './fragments/createOpenChannelBannedUsersFragment';\nexport { default as createOpenChannelMutedParticipantsFragment } from './fragments/createOpenChannelMutedParticipantsFragment';\nexport { default as createOpenChannelOperatorsFragment } from './fragments/createOpenChannelOperatorsFragment';\nexport { default as createOpenChannelRegisterOperatorFragment } from './fragments/createOpenChannelRegisterOperatorFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport * from './hooks/useContext';\n\n/** Localization **/\nexport { createBaseStringSet } from './localization/createBaseStringSet';\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport * from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\nexport * from './platform/types';\n\n/** Feature - shared **/\nexport * from './domain/userList';\nexport * from './domain/userList/types';\n\n/** Feature - group channels **/\nexport * from './domain/groupChannel';\nexport * from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport * from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport * from './domain/groupChannelList/types';\n\nexport * from './domain/groupChannelNotifications';\nexport * from './domain/groupChannelNotifications/types';\n\nexport * from './domain/groupChannelUserList/types';\n\nexport * from './domain/messageSearch/types';\n\n/** Feature - open channels **/\nexport * from './domain/openChannel';\nexport * from './domain/openChannel/types';\n\nexport * from './domain/openChannelSettings';\nexport * from './domain/openChannelSettings/types';\n\nexport * from './domain/openChannelList';\nexport * from './domain/openChannelList/types';\n\nexport * from './domain/openChannelCreate';\nexport * from './domain/openChannelCreate/types';\n\nexport * from './domain/openChannelModeration';\nexport * from './domain/openChannelModeration/types';\n\nexport * from './domain/openChannelBannedUsers';\nexport * from './domain/openChannelBannedUsers/types';\n\nexport * from './domain/openChannelMutedParticipants';\nexport * from './domain/openChannelMutedParticipants/types';\n\nexport * from './domain/openChannelOperators';\nexport * from './domain/openChannelOperators/types';\n\nexport * from './domain/openChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\nexport { default as SBUUtils } from './libs/SBUUtils';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Platform","Logger","default","ChannelInput","ChannelMessageList","GroupChannelMessageRenderer","OpenChannelMessageRenderer","ReactionAddons","ReactionBottomSheets","ChannelCover","ChatFlatList","FileViewer","MessageSearchResultItem","NewMessagesButton","ProviderLayout","ScrollToBottomButton","StatusComposition","TypedPlaceholder","UserActionBar","UserSelectableBar","createGroupChannelCreateFragment","createGroupChannelFragment","createGroupChannelSettingsFragment","createGroupChannelInviteFragment","createGroupChannelListFragment","createGroupChannelMembersFragment","createGroupChannelModerationFragment","createGroupChannelOperatorsFragment","createGroupChannelRegisterOperatorFragment","createGroupChannelMutedMembersFragment","createGroupChannelBannedUsersFragment","createGroupChannelNotificationsFragment","createMessageSearchFragment","createOpenChannelFragment","createOpenChannelParticipantsFragment","createOpenChannelSettingsFragment","createOpenChannelListFragment","createOpenChannelCreateFragment","createOpenChannelModerationFragment","createOpenChannelBannedUsersFragment","createOpenChannelMutedParticipantsFragment","createOpenChannelOperatorsFragment","createOpenChannelRegisterOperatorFragment","SendbirdChatContext","SendbirdChatProvider","PlatformServiceContext","PlatformServiceProvider","UserProfileContext","UserProfileProvider","LocalizationContext","LocalizationProvider","useConnection","usePushTokenRegistration","createBaseStringSet","StringSetEn","createNativeFileService","createNativeClipboardService","createNativeNotificationService","createNativeMediaService","createExpoFileService","createExpoClipboardService","createExpoNotificationService","createExpoMediaService","SendbirdUIKitContainer","SendbirdUIKit","SBUError","SBUUtils","setLogLevel","__DEV__","setTitle","OS"],"sources":["index.ts"],"sourcesContent":["import { Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\n/** Components **/\nexport { default as ChannelInput } from './components/ChannelInput';\nexport { default as ChannelMessageList } from './components/ChannelMessageList';\nexport { default as GroupChannelMessageRenderer } from './components/GroupChannelMessageRenderer';\nexport { default as OpenChannelMessageRenderer } from './components/OpenChannelMessageRenderer';\nexport { ReactionAddons } from './components/ReactionAddons';\nexport { ReactionBottomSheets } from './components/ReactionBottomSheets';\nexport { default as ChannelCover } from './components/ChannelCover';\nexport { default as ChatFlatList } from './components/ChatFlatList';\nexport { default as FileViewer } from './components/FileViewer';\nexport { default as MessageSearchResultItem } from './components/MessageSearchResultItem';\nexport { default as NewMessagesButton } from './components/NewMessagesButton';\nexport { default as ProviderLayout } from './components/ProviderLayout';\nexport { default as ScrollToBottomButton } from './components/ScrollToBottomButton';\nexport { default as StatusComposition } from './components/StatusComposition';\nexport { default as TypedPlaceholder } from './components/TypedPlaceholder';\nexport { default as UserActionBar } from './components/UserActionBar';\nexport { default as UserSelectableBar } from './components/UserSelectableBar';\n\n/** Fragments - group channels **/\nexport { default as createGroupChannelCreateFragment } from './fragments/createGroupChannelCreateFragment';\nexport { default as createGroupChannelFragment } from './fragments/createGroupChannelFragment';\nexport { default as createGroupChannelSettingsFragment } from './fragments/createGroupChannelSettingsFragment';\nexport { default as createGroupChannelInviteFragment } from './fragments/createGroupChannelInviteFragment';\nexport { default as createGroupChannelListFragment } from './fragments/createGroupChannelListFragment';\nexport { default as createGroupChannelMembersFragment } from './fragments/createGroupChannelMembersFragment';\nexport { default as createGroupChannelModerationFragment } from './fragments/createGroupChannelModerationFragment';\nexport { default as createGroupChannelOperatorsFragment } from './fragments/createGroupChannelOperatorsFragment';\nexport { default as createGroupChannelRegisterOperatorFragment } from './fragments/createGroupChannelRegisterOperatorFragment';\nexport { default as createGroupChannelMutedMembersFragment } from './fragments/createGroupChannelMutedMembersFragment';\nexport { default as createGroupChannelBannedUsersFragment } from './fragments/createGroupChannelBannedUsersFragment';\nexport { default as createGroupChannelNotificationsFragment } from './fragments/createGroupChannelNotificationsFragment';\nexport { default as createMessageSearchFragment } from './fragments/createMessageSearchFragment';\n\n/** Fragments - open channels **/\nexport { default as createOpenChannelFragment } from './fragments/createOpenChannelFragment';\nexport { default as createOpenChannelParticipantsFragment } from './fragments/createOpenChannelParticipantsFragment';\nexport { default as createOpenChannelSettingsFragment } from './fragments/createOpenChannelSettingsFragment';\nexport { default as createOpenChannelListFragment } from './fragments/createOpenChannelListFragment';\nexport { default as createOpenChannelCreateFragment } from './fragments/createOpenChannelCreateFragment';\nexport { default as createOpenChannelModerationFragment } from './fragments/createOpenChannelModerationFragment';\nexport { default as createOpenChannelBannedUsersFragment } from './fragments/createOpenChannelBannedUsersFragment';\nexport { default as createOpenChannelMutedParticipantsFragment } from './fragments/createOpenChannelMutedParticipantsFragment';\nexport { default as createOpenChannelOperatorsFragment } from './fragments/createOpenChannelOperatorsFragment';\nexport { default as createOpenChannelRegisterOperatorFragment } from './fragments/createOpenChannelRegisterOperatorFragment';\n\n/** Context **/\nexport { SendbirdChatContext, SendbirdChatProvider } from './contexts/SendbirdChatCtx';\nexport { PlatformServiceContext, PlatformServiceProvider } from './contexts/PlatformServiceCtx';\nexport { UserProfileContext, UserProfileProvider } from './contexts/UserProfileCtx';\nexport { LocalizationContext, LocalizationProvider } from './contexts/LocalizationCtx';\n\n/** Hooks **/\nexport { default as useConnection } from './hooks/useConnection';\nexport { default as usePushTokenRegistration } from './hooks/usePushTokenRegistration';\nexport * from './hooks/useContext';\n\n/** Localization **/\nexport { createBaseStringSet } from './localization/createBaseStringSet';\nexport { default as StringSetEn } from './localization/StringSet.en';\nexport * from './localization/StringSet.type';\n\n/** Platform API **/\nexport { default as createNativeFileService } from './platform/createFileService.native';\nexport { default as createNativeClipboardService } from './platform/createClipboardService.native';\nexport { default as createNativeNotificationService } from './platform/createNotificationService.native';\nexport { default as createNativeMediaService } from './platform/createMediaService.native';\nexport { default as createExpoFileService } from './platform/createFileService.expo';\nexport { default as createExpoClipboardService } from './platform/createClipboardService.expo';\nexport { default as createExpoNotificationService } from './platform/createNotificationService.expo';\nexport { default as createExpoMediaService } from './platform/createMediaService.expo';\nexport * from './platform/types';\n\n/** Feature - shared **/\nexport * from './domain/userList';\nexport * from './domain/userList/types';\n\n/** Feature - group channels **/\nexport * from './domain/groupChannel';\nexport * from './domain/groupChannel/types';\n\nexport * from './domain/groupChannelSettings';\nexport * from './domain/groupChannelSettings/types';\n\nexport * from './domain/groupChannelList';\nexport * from './domain/groupChannelList/types';\n\nexport * from './domain/groupChannelNotifications';\nexport * from './domain/groupChannelNotifications/types';\n\nexport * from './domain/groupChannelUserList/types';\n\nexport * from './domain/messageSearch/types';\n\n/** Feature - open channels **/\nexport * from './domain/openChannel';\nexport * from './domain/openChannel/types';\n\nexport * from './domain/openChannelSettings';\nexport * from './domain/openChannelSettings/types';\n\nexport * from './domain/openChannelList';\nexport * from './domain/openChannelList/types';\n\nexport * from './domain/openChannelCreate';\nexport * from './domain/openChannelCreate/types';\n\nexport * from './domain/openChannelModeration';\nexport * from './domain/openChannelModeration/types';\n\nexport * from './domain/openChannelBannedUsers';\nexport * from './domain/openChannelBannedUsers/types';\n\nexport * from './domain/openChannelMutedParticipants';\nexport * from './domain/openChannelMutedParticipants/types';\n\nexport * from './domain/openChannelOperators';\nexport * from './domain/openChannelOperators/types';\n\nexport * from './domain/openChannelUserList/types';\n\n/** UIKit **/\nexport { default as SendbirdUIKitContainer, SendbirdUIKit } from './containers/SendbirdUIKitContainer';\nexport type { SendbirdUIKitContainerProps } from './containers/SendbirdUIKitContainer';\nexport { default as SBUError } from './libs/SBUError';\nexport { default as SBUUtils } from './libs/SBUUtils';\n\nexport * from './types';\n\nLogger.setLogLevel(__DEV__ ? 'warn' : 'none');\nLogger.setTitle(`[UIKIT_${Platform.OS}]`);\n"],"mappings":"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"}
|
|
@@ -5,10 +5,9 @@ import React from 'react';
|
|
|
5
5
|
import { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
|
|
6
6
|
import { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';
|
|
7
7
|
class MentionManager {
|
|
8
|
-
constructor(config
|
|
8
|
+
constructor(config) {
|
|
9
9
|
var _this = this;
|
|
10
10
|
this.config = config;
|
|
11
|
-
this.mentionEnabled = mentionEnabled;
|
|
12
11
|
_defineProperty(this, "_invalidStartsKeywords", void 0);
|
|
13
12
|
_defineProperty(this, "_templateRegex", void 0);
|
|
14
13
|
_defineProperty(this, "rangeHelpers", {
|
|
@@ -107,8 +106,8 @@ class MentionManager {
|
|
|
107
106
|
/**
|
|
108
107
|
* @description Bold @user.nickname
|
|
109
108
|
* */
|
|
110
|
-
_defineProperty(this, "textToMentionedComponents", (text, mentionedUsers) => {
|
|
111
|
-
if (!
|
|
109
|
+
_defineProperty(this, "textToMentionedComponents", (text, mentionedUsers, mentionEnabled) => {
|
|
110
|
+
if (!mentionEnabled || mentionedUsers.length === 0) return text;
|
|
112
111
|
const {
|
|
113
112
|
leftText,
|
|
114
113
|
components
|
|
@@ -133,8 +132,8 @@ class MentionManager {
|
|
|
133
132
|
});
|
|
134
133
|
return [leftText, ...components];
|
|
135
134
|
});
|
|
136
|
-
_defineProperty(this, "textToMentionedMessageTemplate", (text, mentionedUsers) => {
|
|
137
|
-
if (!
|
|
135
|
+
_defineProperty(this, "textToMentionedMessageTemplate", (text, mentionedUsers, mentionEnabled) => {
|
|
136
|
+
if (!mentionEnabled) return text;
|
|
138
137
|
const {
|
|
139
138
|
leftText,
|
|
140
139
|
strings
|
|
@@ -195,8 +194,8 @@ class MentionManager {
|
|
|
195
194
|
mentionedUsers: actualMentionedUsers
|
|
196
195
|
};
|
|
197
196
|
});
|
|
198
|
-
_defineProperty(this, "shouldUseMentionedMessageTemplate", message => {
|
|
199
|
-
return Boolean(
|
|
197
|
+
_defineProperty(this, "shouldUseMentionedMessageTemplate", (message, mentionEnabled) => {
|
|
198
|
+
return Boolean(mentionEnabled && (message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate) && (message === null || message === void 0 ? void 0 : message.mentionedUsers) && (message === null || message === void 0 ? void 0 : message.mentionedUsers.length) > 0);
|
|
200
199
|
});
|
|
201
200
|
this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];
|
|
202
201
|
this._templateRegex = createMentionTemplateRegex(this.config.trigger);
|
|
@@ -207,7 +206,7 @@ class MentionManager {
|
|
|
207
206
|
}
|
|
208
207
|
const styles = createStyleSheet({
|
|
209
208
|
mentionedText: {
|
|
210
|
-
fontWeight: '
|
|
209
|
+
fontWeight: '700'
|
|
211
210
|
}
|
|
212
211
|
});
|
|
213
212
|
export default MentionManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","createStyleSheet","createMentionTemplateRegex","replaceWithRegex","MentionManager","constructor","config","mentionEnabled","_this","_defineProperty","inRangeUnderOver","start","num","end","inRangeUnderMore","inRangeLessOver","inRangeLessMore","overlaps","a","b","compare","arguments","length","undefined","inRange","underOver","underMore","lessOver","lessMore","text","selectionIndex","lastSpan","slice","split","delimiter","pop","triggerIdx","indexOf","trigger","mentionSpan","searchString","isTriggered","startsWith","isValidSearchString","_invalidStartsKeywords","every","it","offset","mentionedUsers","map","range","selection","lastSelection","removedOffset","filtered","filter","shouldRemove","rangeHelpers","Math","max","user","userId","nickname","leftText","components","sort","reduce","_ref","curr","currentIndex","leftSpan","rightSpan","createElement","key","style","styles","mentionedText","strings","_ref2","templateSpan","asMentionedMessageTemplate","join","template","actualMentionedUsers","offsetToMove","templateRegex","_ref3","match","matchIndex","groups","find","userIdSpan","userNicknameSpan","asMentionedMessageText","offsetAfterConverted","originalRange","convertedRange","push","message","Boolean","mentionedMessageTemplate","_templateRegex","fontWeight"],"sources":["MentionManager.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUser, SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser, Range } from '../types';\nimport type { MentionConfigInterface } from './MentionConfig';\n\nclass MentionManager {\n private _invalidStartsKeywords: string[];\n private _templateRegex: RegExp;\n\n constructor(public config: MentionConfigInterface, public mentionEnabled: boolean) {\n this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];\n this._templateRegex = createMentionTemplateRegex(this.config.trigger);\n }\n\n public rangeHelpers = {\n inRangeUnderOver(start: number, num: number, end: number) {\n return start < num && num < end;\n },\n inRangeUnderMore(start: number, num: number, end: number) {\n return start < num && num <= end;\n },\n inRangeLessOver(start: number, num: number, end: number) {\n return start <= num && num < end;\n },\n inRangeLessMore(start: number, num: number, end: number) {\n return start <= num && num <= end;\n },\n overlaps(a: Range, b: Range, compare: 'underOver' | 'underMore' | 'lessOver' | 'lessMore' = 'underOver') {\n const inRange = {\n underOver: this.inRangeUnderOver,\n underMore: this.inRangeUnderMore,\n lessOver: this.inRangeLessOver,\n lessMore: this.inRangeLessMore,\n }[compare];\n\n return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);\n },\n };\n\n public get templateRegex() {\n return this._templateRegex;\n }\n\n public getSearchString = (text: string, selectionIndex: number) => {\n const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';\n const triggerIdx = lastSpan.indexOf(this.config.trigger);\n const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);\n const searchString = mentionSpan.slice(this.config.trigger.length);\n\n return {\n searchString,\n isTriggered: () => mentionSpan.startsWith(this.config.trigger),\n isValidSearchString: () => this._invalidStartsKeywords.every((it) => !searchString.startsWith(it)),\n };\n };\n\n /**\n * @description Reconcile the range by offset in the mentioned users\n * */\n public reconcileRangeOfMentionedUsers = (offset: number, selectionIndex: number, mentionedUsers: MentionedUser[]) => {\n return mentionedUsers.map((it) => {\n // Changes only on the right text of selection.\n if (selectionIndex <= it.range.start) {\n return {\n ...it,\n range: {\n start: it.range.start + offset,\n end: it.range.end + offset,\n },\n };\n }\n\n return it;\n });\n };\n\n /**\n * @description Remove users who in a range\n * */\n public removeMentionedUsersInSelection = (selection: Range, mentionedUsers: MentionedUser[]) => {\n let lastSelection = 0;\n let removedOffset = 0;\n const filtered = mentionedUsers.filter((it) => {\n const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');\n if (shouldRemove) {\n lastSelection = Math.max(lastSelection, it.range.end);\n removedOffset -= it.range.end - it.range.start;\n }\n return !shouldRemove;\n });\n\n return { filtered, lastSelection, removedOffset };\n };\n\n public getSearchStringRangeInText = (selectionIndex: number, searchString: string): Range => {\n return {\n start: selectionIndex - searchString.length - this.config.trigger.length,\n end: selectionIndex,\n };\n };\n\n /**\n * @description User to @{user.id} template format\n * */\n public asMentionedMessageTemplate = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}{${user.userId}}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description User to @user.nickname text format\n * */\n public asMentionedMessageText = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}${user.nickname}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description Bold @user.nickname\n * */\n public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled || mentionedUsers.length === 0) return text;\n\n const { leftText, components } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, components }, curr, currentIndex) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const mentionSpan = leftText.slice(curr.range.start, curr.range.end);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n components: [\n <Text key={mentionSpan + currentIndex} style={styles.mentionedText}>\n {mentionSpan}\n </Text>,\n rightSpan,\n ...components,\n ],\n };\n },\n { leftText: text, components: [] as (string | JSX.Element)[] },\n );\n\n return [leftText, ...components];\n };\n\n public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[]) => {\n if (!this.mentionEnabled) return text;\n\n const { leftText, strings } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, strings }, curr) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const templateSpan = this.asMentionedMessageTemplate(curr.user);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n strings: [templateSpan, rightSpan, ...strings],\n };\n },\n { leftText: text, strings: [] as string[] },\n );\n\n return [leftText, ...strings].join('');\n };\n\n /**\n * @description Convert @{user.id} template to @user.nickname text and MentionedUser[] array.\n * */\n public templateToTextAndMentionedUsers = (template: string, mentionedUsers: SendbirdUser[]) => {\n const actualMentionedUsers: MentionedUser[] = [];\n\n let offsetToMove = 0;\n const mentionedText = replaceWithRegex(\n template,\n this.templateRegex,\n ({ match, matchIndex, groups }) => {\n const user = mentionedUsers.find((it) => it.userId === groups[2]);\n if (user && typeof matchIndex === 'number') {\n const userIdSpan = match;\n const userNicknameSpan = this.asMentionedMessageText(user);\n\n const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;\n\n const originalRange: Range = {\n start: matchIndex,\n end: matchIndex + userIdSpan.length,\n };\n\n const convertedRange: Range = {\n start: Math.max(0, originalRange.start + offsetToMove),\n end: originalRange.end + offsetToMove + offsetAfterConverted,\n };\n\n offsetToMove += offsetAfterConverted;\n\n actualMentionedUsers.push({ range: convertedRange, user });\n return userNicknameSpan;\n }\n return match;\n },\n '',\n ).join('');\n\n return {\n mentionedText,\n mentionedUsers: actualMentionedUsers,\n };\n };\n\n public shouldUseMentionedMessageTemplate = (\n message?: SendbirdUserMessage | SendbirdFileMessage,\n ): message is RequiredSpecific<\n SendbirdUserMessage | SendbirdFileMessage,\n 'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'\n > => {\n return Boolean(\n this.mentionEnabled &&\n message?.mentionedMessageTemplate &&\n message?.mentionedUsers &&\n message?.mentionedUsers.length > 0,\n );\n };\n}\n\ntype RequiredSpecific<T, K extends keyof T> = T & {\n [P in K]-?: T[P];\n};\n\nconst styles = createStyleSheet({\n mentionedText: { fontWeight: 'bold' },\n});\n\nexport default MentionManager;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Text","createStyleSheet","createMentionTemplateRegex","replaceWithRegex","MentionManager","constructor","config","_this","_defineProperty","inRangeUnderOver","start","num","end","inRangeUnderMore","inRangeLessOver","inRangeLessMore","overlaps","a","b","compare","arguments","length","undefined","inRange","underOver","underMore","lessOver","lessMore","text","selectionIndex","lastSpan","slice","split","delimiter","pop","triggerIdx","indexOf","trigger","mentionSpan","searchString","isTriggered","startsWith","isValidSearchString","_invalidStartsKeywords","every","it","offset","mentionedUsers","map","range","selection","lastSelection","removedOffset","filtered","filter","shouldRemove","rangeHelpers","Math","max","user","userId","nickname","mentionEnabled","leftText","components","sort","reduce","_ref","curr","currentIndex","leftSpan","rightSpan","createElement","key","style","styles","mentionedText","strings","_ref2","templateSpan","asMentionedMessageTemplate","join","template","actualMentionedUsers","offsetToMove","templateRegex","_ref3","match","matchIndex","groups","find","userIdSpan","userNicknameSpan","asMentionedMessageText","offsetAfterConverted","originalRange","convertedRange","push","message","Boolean","mentionedMessageTemplate","_templateRegex","fontWeight"],"sources":["MentionManager.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdFileMessage, SendbirdUser, SendbirdUserMessage } from '@sendbird/uikit-utils';\nimport { createMentionTemplateRegex, replaceWithRegex } from '@sendbird/uikit-utils';\n\nimport type { MentionedUser, Range } from '../types';\nimport type { MentionConfigInterface } from './MentionConfig';\n\nclass MentionManager {\n private _invalidStartsKeywords: string[];\n private _templateRegex: RegExp;\n\n constructor(public config: MentionConfigInterface) {\n this._invalidStartsKeywords = [this.config.trigger, this.config.delimiter];\n this._templateRegex = createMentionTemplateRegex(this.config.trigger);\n }\n\n public rangeHelpers = {\n inRangeUnderOver(start: number, num: number, end: number) {\n return start < num && num < end;\n },\n inRangeUnderMore(start: number, num: number, end: number) {\n return start < num && num <= end;\n },\n inRangeLessOver(start: number, num: number, end: number) {\n return start <= num && num < end;\n },\n inRangeLessMore(start: number, num: number, end: number) {\n return start <= num && num <= end;\n },\n overlaps(a: Range, b: Range, compare: 'underOver' | 'underMore' | 'lessOver' | 'lessMore' = 'underOver') {\n const inRange = {\n underOver: this.inRangeUnderOver,\n underMore: this.inRangeUnderMore,\n lessOver: this.inRangeLessOver,\n lessMore: this.inRangeLessMore,\n }[compare];\n\n return inRange(a.start, b.start, a.end) || inRange(a.start, b.end, a.end);\n },\n };\n\n public get templateRegex() {\n return this._templateRegex;\n }\n\n public getSearchString = (text: string, selectionIndex: number) => {\n const lastSpan = text.slice(0, selectionIndex).split(this.config.delimiter).pop() ?? '';\n const triggerIdx = lastSpan.indexOf(this.config.trigger);\n const mentionSpan = triggerIdx === -1 ? lastSpan : lastSpan.slice(triggerIdx);\n const searchString = mentionSpan.slice(this.config.trigger.length);\n\n return {\n searchString,\n isTriggered: () => mentionSpan.startsWith(this.config.trigger),\n isValidSearchString: () => this._invalidStartsKeywords.every((it) => !searchString.startsWith(it)),\n };\n };\n\n /**\n * @description Reconcile the range by offset in the mentioned users\n * */\n public reconcileRangeOfMentionedUsers = (offset: number, selectionIndex: number, mentionedUsers: MentionedUser[]) => {\n return mentionedUsers.map((it) => {\n // Changes only on the right text of selection.\n if (selectionIndex <= it.range.start) {\n return {\n ...it,\n range: {\n start: it.range.start + offset,\n end: it.range.end + offset,\n },\n };\n }\n\n return it;\n });\n };\n\n /**\n * @description Remove users who in a range\n * */\n public removeMentionedUsersInSelection = (selection: Range, mentionedUsers: MentionedUser[]) => {\n let lastSelection = 0;\n let removedOffset = 0;\n const filtered = mentionedUsers.filter((it) => {\n const shouldRemove = this.rangeHelpers.overlaps(selection, it.range, 'lessMore');\n if (shouldRemove) {\n lastSelection = Math.max(lastSelection, it.range.end);\n removedOffset -= it.range.end - it.range.start;\n }\n return !shouldRemove;\n });\n\n return { filtered, lastSelection, removedOffset };\n };\n\n public getSearchStringRangeInText = (selectionIndex: number, searchString: string): Range => {\n return {\n start: selectionIndex - searchString.length - this.config.trigger.length,\n end: selectionIndex,\n };\n };\n\n /**\n * @description User to @{user.id} template format\n * */\n public asMentionedMessageTemplate = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}{${user.userId}}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description User to @user.nickname text format\n * */\n public asMentionedMessageText = (user: SendbirdUser, delimiter = false) => {\n return `${this.config.trigger}${user.nickname}` + (delimiter ? this.config.delimiter : '');\n };\n\n /**\n * @description Bold @user.nickname\n * */\n public textToMentionedComponents = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {\n if (!mentionEnabled || mentionedUsers.length === 0) return text;\n\n const { leftText, components } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, components }, curr, currentIndex) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const mentionSpan = leftText.slice(curr.range.start, curr.range.end);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n components: [\n <Text key={mentionSpan + currentIndex} style={styles.mentionedText}>\n {mentionSpan}\n </Text>,\n rightSpan,\n ...components,\n ],\n };\n },\n { leftText: text, components: [] as (string | JSX.Element)[] },\n );\n\n return [leftText, ...components];\n };\n\n public textToMentionedMessageTemplate = (text: string, mentionedUsers: MentionedUser[], mentionEnabled: boolean) => {\n if (!mentionEnabled) return text;\n\n const { leftText, strings } = mentionedUsers\n .sort((a, b) => b.range.start - a.range.start)\n .reduce(\n ({ leftText, strings }, curr) => {\n const leftSpan = leftText.slice(0, curr.range.start);\n const templateSpan = this.asMentionedMessageTemplate(curr.user);\n const rightSpan = leftText.slice(curr.range.end);\n\n return {\n leftText: leftSpan,\n strings: [templateSpan, rightSpan, ...strings],\n };\n },\n { leftText: text, strings: [] as string[] },\n );\n\n return [leftText, ...strings].join('');\n };\n\n /**\n * @description Convert @{user.id} template to @user.nickname text and MentionedUser[] array.\n * */\n public templateToTextAndMentionedUsers = (template: string, mentionedUsers: SendbirdUser[]) => {\n const actualMentionedUsers: MentionedUser[] = [];\n\n let offsetToMove = 0;\n const mentionedText = replaceWithRegex(\n template,\n this.templateRegex,\n ({ match, matchIndex, groups }) => {\n const user = mentionedUsers.find((it) => it.userId === groups[2]);\n if (user && typeof matchIndex === 'number') {\n const userIdSpan = match;\n const userNicknameSpan = this.asMentionedMessageText(user);\n\n const offsetAfterConverted = userNicknameSpan.length - userIdSpan.length;\n\n const originalRange: Range = {\n start: matchIndex,\n end: matchIndex + userIdSpan.length,\n };\n\n const convertedRange: Range = {\n start: Math.max(0, originalRange.start + offsetToMove),\n end: originalRange.end + offsetToMove + offsetAfterConverted,\n };\n\n offsetToMove += offsetAfterConverted;\n\n actualMentionedUsers.push({ range: convertedRange, user });\n return userNicknameSpan;\n }\n return match;\n },\n '',\n ).join('');\n\n return {\n mentionedText,\n mentionedUsers: actualMentionedUsers,\n };\n };\n\n public shouldUseMentionedMessageTemplate = (\n message?: SendbirdUserMessage | SendbirdFileMessage,\n mentionEnabled?: boolean,\n ): message is RequiredSpecific<\n SendbirdUserMessage | SendbirdFileMessage,\n 'mentionedMessageTemplate' | 'mentionedUsers' | 'mentionedUserIds' | 'mentionType'\n > => {\n return Boolean(\n mentionEnabled &&\n message?.mentionedMessageTemplate &&\n message?.mentionedUsers &&\n message?.mentionedUsers.length > 0,\n );\n };\n}\n\ntype RequiredSpecific<T, K extends keyof T> = T & {\n [P in K]-?: T[P];\n};\n\nconst styles = createStyleSheet({\n mentionedText: { fontWeight: '700' },\n});\n\nexport default MentionManager;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,yCAAyC;AAEhF,SAASC,0BAA0B,EAAEC,gBAAgB,QAAQ,uBAAuB;AAKpF,MAAMC,cAAc,CAAC;EAInBC,WAAWA,CAAQC,MAA8B,EAAE;IAAA,IAAAC,KAAA;IAAA,KAAhCD,MAA8B,GAA9BA,MAA8B;IAAAE,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAK3B;MACpBC,gBAAgBA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;QACxD,OAAOF,KAAK,GAAGC,GAAG,IAAIA,GAAG,GAAGC,GAAG;MACjC,CAAC;MACDC,gBAAgBA,CAACH,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;QACxD,OAAOF,KAAK,GAAGC,GAAG,IAAIA,GAAG,IAAIC,GAAG;MAClC,CAAC;MACDE,eAAeA,CAACJ,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;QACvD,OAAOF,KAAK,IAAIC,GAAG,IAAIA,GAAG,GAAGC,GAAG;MAClC,CAAC;MACDG,eAAeA,CAACL,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAE;QACvD,OAAOF,KAAK,IAAIC,GAAG,IAAIA,GAAG,IAAIC,GAAG;MACnC,CAAC;MACDI,QAAQA,CAACC,CAAQ,EAAEC,CAAQ,EAA8E;QAAA,IAA5EC,OAA4D,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,WAAW;QACrG,MAAMG,OAAO,GAAG;UACdC,SAAS,EAAE,IAAI,CAACf,gBAAgB;UAChCgB,SAAS,EAAE,IAAI,CAACZ,gBAAgB;UAChCa,QAAQ,EAAE,IAAI,CAACZ,eAAe;UAC9Ba,QAAQ,EAAE,IAAI,CAACZ;QACjB,CAAC,CAACI,OAAO,CAAC;QAEV,OAAOI,OAAO,CAACN,CAAC,CAACP,KAAK,EAAEQ,CAAC,CAACR,KAAK,EAAEO,CAAC,CAACL,GAAG,CAAC,IAAIW,OAAO,CAACN,CAAC,CAACP,KAAK,EAAEQ,CAAC,CAACN,GAAG,EAAEK,CAAC,CAACL,GAAG,CAAC;MAC3E;IACF,CAAC;IAAAJ,eAAA,0BAMwB,CAACoB,IAAY,EAAEC,cAAsB,KAAK;MACjE,MAAMC,QAAQ,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,EAAEF,cAAc,CAAC,CAACG,KAAK,CAAC,IAAI,CAAC1B,MAAM,CAAC2B,SAAS,CAAC,CAACC,GAAG,EAAE,IAAI,EAAE;MACvF,MAAMC,UAAU,GAAGL,QAAQ,CAACM,OAAO,CAAC,IAAI,CAAC9B,MAAM,CAAC+B,OAAO,CAAC;MACxD,MAAMC,WAAW,GAAGH,UAAU,KAAK,CAAC,CAAC,GAAGL,QAAQ,GAAGA,QAAQ,CAACC,KAAK,CAACI,UAAU,CAAC;MAC7E,MAAMI,YAAY,GAAGD,WAAW,CAACP,KAAK,CAAC,IAAI,CAACzB,MAAM,CAAC+B,OAAO,CAAChB,MAAM,CAAC;MAElE,OAAO;QACLkB,YAAY;QACZC,WAAW,EAAEA,CAAA,KAAMF,WAAW,CAACG,UAAU,CAAC,IAAI,CAACnC,MAAM,CAAC+B,OAAO,CAAC;QAC9DK,mBAAmB,EAAEA,CAAA,KAAM,IAAI,CAACC,sBAAsB,CAACC,KAAK,CAAEC,EAAE,IAAK,CAACN,YAAY,CAACE,UAAU,CAACI,EAAE,CAAC;MACnG,CAAC;IACH,CAAC;IAED;AACF;AACA;IAFErC,eAAA,yCAGwC,CAACsC,MAAc,EAAEjB,cAAsB,EAAEkB,cAA+B,KAAK;MACnH,OAAOA,cAAc,CAACC,GAAG,CAAEH,EAAE,IAAK;QAChC;QACA,IAAIhB,cAAc,IAAIgB,EAAE,CAACI,KAAK,CAACvC,KAAK,EAAE;UACpC,OAAO;YACL,GAAGmC,EAAE;YACLI,KAAK,EAAE;cACLvC,KAAK,EAAEmC,EAAE,CAACI,KAAK,CAACvC,KAAK,GAAGoC,MAAM;cAC9BlC,GAAG,EAAEiC,EAAE,CAACI,KAAK,CAACrC,GAAG,GAAGkC;YACtB;UACF,CAAC;QACH;QAEA,OAAOD,EAAE;MACX,CAAC,CAAC;IACJ,CAAC;IAED;AACF;AACA;IAFErC,eAAA,0CAGyC,CAAC0C,SAAgB,EAAEH,cAA+B,KAAK;MAC9F,IAAII,aAAa,GAAG,CAAC;MACrB,IAAIC,aAAa,GAAG,CAAC;MACrB,MAAMC,QAAQ,GAAGN,cAAc,CAACO,MAAM,CAAET,EAAE,IAAK;QAC7C,MAAMU,YAAY,GAAG,IAAI,CAACC,YAAY,CAACxC,QAAQ,CAACkC,SAAS,EAAEL,EAAE,CAACI,KAAK,EAAE,UAAU,CAAC;QAChF,IAAIM,YAAY,EAAE;UAChBJ,aAAa,GAAGM,IAAI,CAACC,GAAG,CAACP,aAAa,EAAEN,EAAE,CAACI,KAAK,CAACrC,GAAG,CAAC;UACrDwC,aAAa,IAAIP,EAAE,CAACI,KAAK,CAACrC,GAAG,GAAGiC,EAAE,CAACI,KAAK,CAACvC,KAAK;QAChD;QACA,OAAO,CAAC6C,YAAY;MACtB,CAAC,CAAC;MAEF,OAAO;QAAEF,QAAQ;QAAEF,aAAa;QAAEC;MAAc,CAAC;IACnD,CAAC;IAAA5C,eAAA,qCAEmC,CAACqB,cAAsB,EAAEU,YAAoB,KAAY;MAC3F,OAAO;QACL7B,KAAK,EAAEmB,cAAc,GAAGU,YAAY,CAAClB,MAAM,GAAG,IAAI,CAACf,MAAM,CAAC+B,OAAO,CAAChB,MAAM;QACxET,GAAG,EAAEiB;MACP,CAAC;IACH,CAAC;IAED;AACF;AACA;IAFErB,eAAA,qCAGoC,UAACmD,IAAkB,EAAwB;MAAA,IAAtB1B,SAAS,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;MACxE,OAAQ,GAAEb,KAAI,CAACD,MAAM,CAAC+B,OAAQ,IAAGsB,IAAI,CAACC,MAAO,GAAE,IAAI3B,SAAS,GAAG1B,KAAI,CAACD,MAAM,CAAC2B,SAAS,GAAG,EAAE,CAAC;IAC5F,CAAC;IAED;AACF;AACA;IAFEzB,eAAA,iCAGgC,UAACmD,IAAkB,EAAwB;MAAA,IAAtB1B,SAAS,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;MACpE,OAAQ,GAAEb,KAAI,CAACD,MAAM,CAAC+B,OAAQ,GAAEsB,IAAI,CAACE,QAAS,EAAC,IAAI5B,SAAS,GAAG1B,KAAI,CAACD,MAAM,CAAC2B,SAAS,GAAG,EAAE,CAAC;IAC5F,CAAC;IAED;AACF;AACA;IAFEzB,eAAA,oCAGmC,CAACoB,IAAY,EAAEmB,cAA+B,EAAEe,cAAuB,KAAK;MAC7G,IAAI,CAACA,cAAc,IAAIf,cAAc,CAAC1B,MAAM,KAAK,CAAC,EAAE,OAAOO,IAAI;MAE/D,MAAM;QAAEmC,QAAQ;QAAEC;MAAW,CAAC,GAAGjB,cAAc,CAC5CkB,IAAI,CAAC,CAAChD,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC+B,KAAK,CAACvC,KAAK,GAAGO,CAAC,CAACgC,KAAK,CAACvC,KAAK,CAAC,CAC7CwD,MAAM,CACL,CAAAC,IAAA,EAA2BC,IAAI,EAAEC,YAAY,KAAK;QAAA,IAAjD;UAAEN,QAAQ;UAAEC;QAAW,CAAC,GAAAG,IAAA;QACvB,MAAMG,QAAQ,GAAGP,QAAQ,CAAChC,KAAK,CAAC,CAAC,EAAEqC,IAAI,CAACnB,KAAK,CAACvC,KAAK,CAAC;QACpD,MAAM4B,WAAW,GAAGyB,QAAQ,CAAChC,KAAK,CAACqC,IAAI,CAACnB,KAAK,CAACvC,KAAK,EAAE0D,IAAI,CAACnB,KAAK,CAACrC,GAAG,CAAC;QACpE,MAAM2D,SAAS,GAAGR,QAAQ,CAAChC,KAAK,CAACqC,IAAI,CAACnB,KAAK,CAACrC,GAAG,CAAC;QAEhD,OAAO;UACLmD,QAAQ,EAAEO,QAAQ;UAClBN,UAAU,EAAE,cACVjE,KAAA,CAAAyE,aAAA,CAACxE,IAAI;YAACyE,GAAG,EAAEnC,WAAW,GAAG+B,YAAa;YAACK,KAAK,EAAEC,MAAM,CAACC;UAAc,GAChEtC,WAAW,CACP,EACPiC,SAAS,EACT,GAAGP,UAAU;QAEjB,CAAC;MACH,CAAC,EACD;QAAED,QAAQ,EAAEnC,IAAI;QAAEoC,UAAU,EAAE;MAA+B,CAAC,CAC/D;MAEH,OAAO,CAACD,QAAQ,EAAE,GAAGC,UAAU,CAAC;IAClC,CAAC;IAAAxD,eAAA,yCAEuC,CAACoB,IAAY,EAAEmB,cAA+B,EAAEe,cAAuB,KAAK;MAClH,IAAI,CAACA,cAAc,EAAE,OAAOlC,IAAI;MAEhC,MAAM;QAAEmC,QAAQ;QAAEc;MAAQ,CAAC,GAAG9B,cAAc,CACzCkB,IAAI,CAAC,CAAChD,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC+B,KAAK,CAACvC,KAAK,GAAGO,CAAC,CAACgC,KAAK,CAACvC,KAAK,CAAC,CAC7CwD,MAAM,CACL,CAAAY,KAAA,EAAwBV,IAAI,KAAK;QAAA,IAAhC;UAAEL,QAAQ;UAAEc;QAAQ,CAAC,GAAAC,KAAA;QACpB,MAAMR,QAAQ,GAAGP,QAAQ,CAAChC,KAAK,CAAC,CAAC,EAAEqC,IAAI,CAACnB,KAAK,CAACvC,KAAK,CAAC;QACpD,MAAMqE,YAAY,GAAG,IAAI,CAACC,0BAA0B,CAACZ,IAAI,CAACT,IAAI,CAAC;QAC/D,MAAMY,SAAS,GAAGR,QAAQ,CAAChC,KAAK,CAACqC,IAAI,CAACnB,KAAK,CAACrC,GAAG,CAAC;QAEhD,OAAO;UACLmD,QAAQ,EAAEO,QAAQ;UAClBO,OAAO,EAAE,CAACE,YAAY,EAAER,SAAS,EAAE,GAAGM,OAAO;QAC/C,CAAC;MACH,CAAC,EACD;QAAEd,QAAQ,EAAEnC,IAAI;QAAEiD,OAAO,EAAE;MAAe,CAAC,CAC5C;MAEH,OAAO,CAACd,QAAQ,EAAE,GAAGc,OAAO,CAAC,CAACI,IAAI,CAAC,EAAE,CAAC;IACxC,CAAC;IAED;AACF;AACA;IAFEzE,eAAA,0CAGyC,CAAC0E,QAAgB,EAAEnC,cAA8B,KAAK;MAC7F,MAAMoC,oBAAqC,GAAG,EAAE;MAEhD,IAAIC,YAAY,GAAG,CAAC;MACpB,MAAMR,aAAa,GAAGzE,gBAAgB,CACpC+E,QAAQ,EACR,IAAI,CAACG,aAAa,EAClBC,KAAA,IAAmC;QAAA,IAAlC;UAAEC,KAAK;UAAEC,UAAU;UAAEC;QAAO,CAAC,GAAAH,KAAA;QAC5B,MAAM3B,IAAI,GAAGZ,cAAc,CAAC2C,IAAI,CAAE7C,EAAE,IAAKA,EAAE,CAACe,MAAM,KAAK6B,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI9B,IAAI,IAAI,OAAO6B,UAAU,KAAK,QAAQ,EAAE;UAC1C,MAAMG,UAAU,GAAGJ,KAAK;UACxB,MAAMK,gBAAgB,GAAG,IAAI,CAACC,sBAAsB,CAAClC,IAAI,CAAC;UAE1D,MAAMmC,oBAAoB,GAAGF,gBAAgB,CAACvE,MAAM,GAAGsE,UAAU,CAACtE,MAAM;UAExE,MAAM0E,aAAoB,GAAG;YAC3BrF,KAAK,EAAE8E,UAAU;YACjB5E,GAAG,EAAE4E,UAAU,GAAGG,UAAU,CAACtE;UAC/B,CAAC;UAED,MAAM2E,cAAqB,GAAG;YAC5BtF,KAAK,EAAE+C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEqC,aAAa,CAACrF,KAAK,GAAG0E,YAAY,CAAC;YACtDxE,GAAG,EAAEmF,aAAa,CAACnF,GAAG,GAAGwE,YAAY,GAAGU;UAC1C,CAAC;UAEDV,YAAY,IAAIU,oBAAoB;UAEpCX,oBAAoB,CAACc,IAAI,CAAC;YAAEhD,KAAK,EAAE+C,cAAc;YAAErC;UAAK,CAAC,CAAC;UAC1D,OAAOiC,gBAAgB;QACzB;QACA,OAAOL,KAAK;MACd,CAAC,EACD,EAAE,CACH,CAACN,IAAI,CAAC,EAAE,CAAC;MAEV,OAAO;QACLL,aAAa;QACb7B,cAAc,EAAEoC;MAClB,CAAC;IACH,CAAC;IAAA3E,eAAA,4CAE0C,CACzC0F,OAAmD,EACnDpC,cAAwB,KAIrB;MACH,OAAOqC,OAAO,CACZrC,cAAc,KACZoC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,wBAAwB,MACjCF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnD,cAAc,KACvB,CAAAmD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEnD,cAAc,CAAC1B,MAAM,IAAG,CAAC,CACrC;IACH,CAAC;IAvNC,IAAI,CAACsB,sBAAsB,GAAG,CAAC,IAAI,CAACrC,MAAM,CAAC+B,OAAO,EAAE,IAAI,CAAC/B,MAAM,CAAC2B,SAAS,CAAC;IAC1E,IAAI,CAACoE,cAAc,GAAGnG,0BAA0B,CAAC,IAAI,CAACI,MAAM,CAAC+B,OAAO,CAAC;EACvE;EA2BA,IAAWgD,aAAaA,CAAA,EAAG;IACzB,OAAO,IAAI,CAACgB,cAAc;EAC5B;AAyLF;AAMA,MAAM1B,MAAM,GAAG1E,gBAAgB,CAAC;EAC9B2E,aAAa,EAAE;IAAE0B,UAAU,EAAE;EAAM;AACrC,CAAC,CAAC;AAEF,eAAelG,cAAc"}
|
|
@@ -6,9 +6,13 @@ export default class SBUUtils {
|
|
|
6
6
|
if (Platform.OS === 'ios') Linking.openURL('App-Prefs:root');
|
|
7
7
|
});
|
|
8
8
|
}
|
|
9
|
-
static openURL(url) {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
static async openURL(url) {
|
|
10
|
+
try {
|
|
11
|
+
const targetUrl = url.startsWith('http') ? url : 'https://' + url;
|
|
12
|
+
await Linking.openURL(targetUrl);
|
|
13
|
+
} catch (e) {
|
|
14
|
+
Logger.warn('Cannot open url', e);
|
|
15
|
+
}
|
|
12
16
|
}
|
|
13
17
|
static getImageSize(uri) {
|
|
14
18
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Image","Linking","Platform","Logger","SBUUtils","openSettings","catch","OS","openURL","url","targetUrl","startsWith","
|
|
1
|
+
{"version":3,"names":["Image","Linking","Platform","Logger","SBUUtils","openSettings","catch","OS","openURL","url","targetUrl","startsWith","e","warn","getImageSize","uri","Promise","resolve","reject","getSize","width","height","error","safeRun","callback"],"sources":["SBUUtils.ts"],"sourcesContent":["import { Image, Linking, Platform } from 'react-native';\n\nimport { Logger } from '@sendbird/uikit-utils';\n\nexport default class SBUUtils {\n static openSettings() {\n Linking.openSettings().catch(() => {\n if (Platform.OS === 'ios') Linking.openURL('App-Prefs:root');\n });\n }\n\n static async openURL(url: string) {\n try {\n const targetUrl = url.startsWith('http') ? url : 'https://' + url;\n await Linking.openURL(targetUrl);\n } catch (e) {\n Logger.warn('Cannot open url', e);\n }\n }\n\n static getImageSize(uri: string): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n Image.getSize(\n uri,\n (width, height) => {\n resolve({ width, height });\n },\n (error) => {\n reject(error);\n },\n );\n });\n }\n\n static async safeRun(callback: () => Promise<void>) {\n try {\n await callback();\n } catch (e) {}\n }\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAEvD,SAASC,MAAM,QAAQ,uBAAuB;AAE9C,eAAe,MAAMC,QAAQ,CAAC;EAC5B,OAAOC,YAAYA,CAAA,EAAG;IACpBJ,OAAO,CAACI,YAAY,EAAE,CAACC,KAAK,CAAC,MAAM;MACjC,IAAIJ,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAEN,OAAO,CAACO,OAAO,CAAC,gBAAgB,CAAC;IAC9D,CAAC,CAAC;EACJ;EAEA,aAAaA,OAAOA,CAACC,GAAW,EAAE;IAChC,IAAI;MACF,MAAMC,SAAS,GAAGD,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAG,UAAU,GAAGA,GAAG;MACjE,MAAMR,OAAO,CAACO,OAAO,CAACE,SAAS,CAAC;IAClC,CAAC,CAAC,OAAOE,CAAC,EAAE;MACVT,MAAM,CAACU,IAAI,CAAC,iBAAiB,EAAED,CAAC,CAAC;IACnC;EACF;EAEA,OAAOE,YAAYA,CAACC,GAAW,EAA8C;IAC3E,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtClB,KAAK,CAACmB,OAAO,CACXJ,GAAG,EACH,CAACK,KAAK,EAAEC,MAAM,KAAK;QACjBJ,OAAO,CAAC;UAAEG,KAAK;UAAEC;QAAO,CAAC,CAAC;MAC5B,CAAC,EACAC,KAAK,IAAK;QACTJ,MAAM,CAACI,KAAK,CAAC;MACf,CAAC,CACF;IACH,CAAC,CAAC;EACJ;EAEA,aAAaC,OAAOA,CAACC,QAA6B,EAAE;IAClD,IAAI;MACF,MAAMA,QAAQ,EAAE;IAClB,CAAC,CAAC,OAAOZ,CAAC,EAAE,CAAC;EACf;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdOpenChannel,\n SendbirdParticipant,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n OPEN_CHANNEL: {\n /** OpenChannel > Header */\n HEADER_TITLE: (channel: SendbirdOpenChannel) => string;\n HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;\n\n /** OpenChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n\n /** OpenChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/\n LIST_BANNER_FROZEN: string;\n };\n OPEN_CHANNEL_PARTICIPANTS: {\n /** OpenChannelParticipants > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_SETTINGS: {\n /** OpenChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelSettings > Info */\n INFO_URL: string;\n\n /** OpenChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_PARTICIPANTS: string;\n MENU_DELETE_CHANNEL: string;\n\n /** OpenChannelSettings > Dialog */\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: string;\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_LIST: {\n /** OpenChannelList > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (channel: SendbirdOpenChannel) => string;\n };\n OPEN_CHANNEL_CREATE: {\n /** OpenChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelCreate > ProfileInput */\n PLACEHOLDER: string;\n\n /** OpenChannelCreate > Dialog */\n DIALOG_IMAGE_MENU_REMOVE: string;\n DIALOG_IMAGE_MENU_CAMERA: string;\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_MODERATION: {\n /** OpenChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_PARTICIPANTS: string;\n MENU_BANNED_USERS: string;\n };\n OPEN_CHANNEL_BANNED_USERS: {\n /** OpenChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n /** OpenChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_OPERATORS: {\n /** OpenChannelOperators > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n /** OpenChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdParticipant> }) => string;\n };\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/\n LIST_BANNER_FROZEN: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/\n DIALOG_MESSAGE_COPY: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/\n DIALOG_MESSAGE_EDIT: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/\n DIALOG_MESSAGE_SAVE: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/\n DIALOG_MESSAGE_DELETE: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/\n DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/\n DIALOG_MESSAGE_DELETE_CONFIRM_OK: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/\n DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/\n DIALOG_MESSAGE_FAILED_RETRY: string;\n /** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/\n DIALOG_MESSAGE_FAILED_REMOVE: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/\n DIALOG_ATTACHMENT_CAMERA: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/\n DIALOG_ATTACHMENT_PHOTO_LIBRARY: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/\n DIALOG_ATTACHMENT_FILES: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/\n INPUT_PLACEHOLDER_ACTIVE: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/\n INPUT_PLACEHOLDER_DISABLED: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/\n INPUT_PLACEHOLDER_MUTED: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/\n INPUT_EDIT_OK: string;\n /** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/\n INPUT_EDIT_CANCEL: string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_MEMBERS: string;\n MENU_SEARCH: string;\n MENU_LEAVE_CHANNEL: string;\n MENU_NOTIFICATION: string;\n MENU_NOTIFICATION_LABEL_ON: string;\n MENU_NOTIFICATION_LABEL_OFF: string;\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_NOTIFICATIONS: {\n /** GroupChannelNotifications > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelNotifications > Menu */\n MENU_NOTIFICATIONS: string;\n MENU_NOTIFICATIONS_DESC: string;\n MENU_NOTIFICATIONS_OPTION_ALL: string;\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n\n /** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/\n USER_BAR_ME_POSTFIX: string;\n /** @deprecated Please use LABELS.USER_BAR_OPERATOR **/\n USER_BAR_OPERATOR: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n MESSAGE_SEARCH: {\n /** MessageSearch > Header */\n HEADER_INPUT_PLACEHOLDER: string;\n HEADER_RIGHT: string;\n\n /** MessageSearch > Search result item */\n SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;\n SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;\n };\n // UI\n LABELS: {\n PERMISSION_APP_NAME: string;\n PERMISSION_CAMERA: string;\n PERMISSION_DEVICE_STORAGE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n\n /** ChannelMessageList **/\n CHANNEL_MESSAGE_LIST_FROZEN: string;\n\n /** ChannelInput **/\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;\n CHANNEL_INPUT_PLACEHOLDER_MUTED: string;\n CHANNEL_INPUT_EDIT_OK: string;\n CHANNEL_INPUT_EDIT_CANCEL: string;\n /** ChannelInput > Attachments **/\n CHANNEL_INPUT_ATTACHMENT_CAMERA: string;\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;\n CHANNEL_INPUT_ATTACHMENT_FILES: string;\n\n /** Channel > Message **/\n CHANNEL_MESSAGE_COPY: string;\n CHANNEL_MESSAGE_EDIT: string;\n CHANNEL_MESSAGE_SAVE: string;\n CHANNEL_MESSAGE_DELETE: string;\n /** Channel > Message > Delete confirm **/\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** Channel > Message > Failed **/\n CHANNEL_MESSAGE_FAILED_RETRY: string;\n CHANNEL_MESSAGE_FAILED_REMOVE: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_MUTED_PARTICIPANTS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n UNKNOWN_ERROR: string;\n GET_CHANNEL_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["StringSet.type.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport type {\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdMember,\n SendbirdMessage,\n SendbirdOpenChannel,\n SendbirdParticipant,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\n\n/**\n * StringSet interface\n * Do not configure over 3 depths (for overrides easy)\n * */\nexport interface StringSet {\n OPEN_CHANNEL: {\n /** OpenChannel > Header */\n HEADER_TITLE: (channel: SendbirdOpenChannel) => string;\n HEADER_SUBTITLE: (channel: SendbirdOpenChannel) => string;\n\n /** OpenChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n\n /** OpenChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n };\n OPEN_CHANNEL_PARTICIPANTS: {\n /** OpenChannelParticipants > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_SETTINGS: {\n /** OpenChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelSettings > Info */\n INFO_URL: string;\n\n /** OpenChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_PARTICIPANTS: string;\n MENU_DELETE_CHANNEL: string;\n\n /** OpenChannelSettings > Dialog */\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: string;\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: string;\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_LIST: {\n /** OpenChannelList > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (channel: SendbirdOpenChannel) => string;\n };\n OPEN_CHANNEL_CREATE: {\n /** OpenChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** OpenChannelCreate > ProfileInput */\n PLACEHOLDER: string;\n\n /** OpenChannelCreate > Dialog */\n DIALOG_IMAGE_MENU_REMOVE: string;\n DIALOG_IMAGE_MENU_CAMERA: string;\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n OPEN_CHANNEL_MODERATION: {\n /** OpenChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** OpenChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_PARTICIPANTS: string;\n MENU_BANNED_USERS: string;\n };\n OPEN_CHANNEL_BANNED_USERS: {\n /** OpenChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n /** OpenChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_OPERATORS: {\n /** OpenChannelOperators > Header */\n HEADER_TITLE: string;\n };\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n /** OpenChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdParticipant> }) => string;\n };\n GROUP_CHANNEL: {\n /** GroupChannel > Header */\n HEADER_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannel > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannel > Message bubble */\n MESSAGE_BUBBLE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n MESSAGE_BUBBLE_FILE_TITLE: (message: SendbirdFileMessage) => string;\n MESSAGE_BUBBLE_EDITED_POSTFIX: string;\n MESSAGE_BUBBLE_UNKNOWN_TITLE: (message: SendbirdMessage) => string;\n MESSAGE_BUBBLE_UNKNOWN_DESC: (message: SendbirdMessage) => string;\n\n /** GroupChannel > Suggested mention list */\n MENTION_LIMITED: (mentionLimit: number) => string;\n };\n GROUP_CHANNEL_SETTINGS: {\n /** GroupChannelSettings > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: string;\n\n /** GroupChannelSettings > Menu */\n MENU_MODERATION: string;\n MENU_MEMBERS: string;\n MENU_SEARCH: string;\n MENU_LEAVE_CHANNEL: string;\n MENU_NOTIFICATION: string;\n MENU_NOTIFICATION_LABEL_ON: string;\n MENU_NOTIFICATION_LABEL_OFF: string;\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: string;\n\n /** GroupChannelSettings > Dialog */\n DIALOG_CHANGE_NAME: string;\n DIALOG_CHANGE_IMAGE: string;\n DIALOG_CHANGE_NAME_PROMPT_TITLE: string;\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: string;\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: string;\n DIALOG_CHANGE_NAME_PROMPT_OK: string;\n DIALOG_CHANGE_IMAGE_MENU_TITLE: string;\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: string;\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: string;\n };\n GROUP_CHANNEL_NOTIFICATIONS: {\n /** GroupChannelNotifications > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelNotifications > Menu */\n MENU_NOTIFICATIONS: string;\n MENU_NOTIFICATIONS_DESC: string;\n MENU_NOTIFICATIONS_OPTION_ALL: string;\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: string;\n };\n GROUP_CHANNEL_MODERATION: {\n /** GroupChannelModeration > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelModeration > Menu */\n MENU_OPERATORS: string;\n MENU_MUTED_MEMBERS: string;\n MENU_BANNED_USERS: string;\n MENU_FREEZE_CHANNEL: string;\n };\n GROUP_CHANNEL_OPERATORS: {\n /** GroupChannelOperators > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n /** GroupChannelRegisterOperator > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: (params: { selectedUsers: Array<SendbirdMember> }) => string;\n };\n GROUP_CHANNEL_MUTED_MEMBERS: {\n /** GroupChannelMutedMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_BANNED_USERS: {\n /** GroupChannelBannedUsers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_LIST: {\n /** GroupChannelList > Header */\n HEADER_TITLE: string;\n\n /** GroupChannelList > Channel preview */\n CHANNEL_PREVIEW_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel: SendbirdGroupChannel, locale?: Locale) => string;\n CHANNEL_PREVIEW_BODY: (channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelList > TypeSelector > Header */\n TYPE_SELECTOR_HEADER_TITLE: string;\n /** GroupChannelList > TypeSelector > Type string */\n TYPE_SELECTOR_GROUP: string;\n TYPE_SELECTOR_SUPER_GROUP: string;\n TYPE_SELECTOR_BROADCAST: string;\n\n /** GroupChannelList > Dialog > Channel */\n DIALOG_CHANNEL_TITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_NOTIFICATION: (channel?: SendbirdGroupChannel) => string;\n DIALOG_CHANNEL_LEAVE: string;\n };\n GROUP_CHANNEL_MEMBERS: {\n /** GroupChannelMembers > Header */\n HEADER_TITLE: string;\n };\n GROUP_CHANNEL_INVITE: {\n /** GroupChannelInvite > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n GROUP_CHANNEL_CREATE: {\n /** GroupChannelCreate > Header */\n HEADER_TITLE: string;\n HEADER_RIGHT: <T>(params: { selectedUsers: Array<T> }) => string;\n };\n MESSAGE_SEARCH: {\n /** MessageSearch > Header */\n HEADER_INPUT_PLACEHOLDER: string;\n HEADER_RIGHT: string;\n\n /** MessageSearch > Search result item */\n SEARCH_RESULT_ITEM_TITLE: (message: SendbirdBaseMessage) => string;\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message: SendbirdBaseMessage, locale?: Locale) => string;\n SEARCH_RESULT_ITEM_BODY: (message: SendbirdBaseMessage) => string;\n };\n // UI\n LABELS: {\n PERMISSION_APP_NAME: string;\n PERMISSION_CAMERA: string;\n PERMISSION_DEVICE_STORAGE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n\n USER_BAR_ME_POSTFIX: string;\n USER_BAR_OPERATOR: string;\n\n REGISTER_AS_OPERATOR: string;\n UNREGISTER_OPERATOR: string;\n MUTE: string;\n UNMUTE: string;\n BAN: string;\n UNBAN: string;\n\n /** ChannelMessageList **/\n CHANNEL_MESSAGE_LIST_FROZEN: string;\n\n /** ChannelInput **/\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: string;\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: string;\n CHANNEL_INPUT_PLACEHOLDER_MUTED: string;\n CHANNEL_INPUT_EDIT_OK: string;\n CHANNEL_INPUT_EDIT_CANCEL: string;\n /** ChannelInput > Attachments **/\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: string;\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: string;\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: string;\n CHANNEL_INPUT_ATTACHMENT_FILES: string;\n\n /** Channel > Message **/\n CHANNEL_MESSAGE_COPY: string;\n CHANNEL_MESSAGE_EDIT: string;\n CHANNEL_MESSAGE_SAVE: string;\n CHANNEL_MESSAGE_DELETE: string;\n /** Channel > Message > Delete confirm **/\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: string;\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: string;\n /** Channel > Message > Failed **/\n CHANNEL_MESSAGE_FAILED_RETRY: string;\n CHANNEL_MESSAGE_FAILED_REMOVE: string;\n };\n FILE_VIEWER: {\n TITLE: (message: SendbirdFileMessage) => string;\n SUBTITLE: (message: SendbirdFileMessage) => string;\n };\n PLACEHOLDER: {\n NO_BANNED_USERS: string;\n NO_USERS: string;\n NO_CHANNELS: string;\n NO_MESSAGES: string;\n NO_MUTED_MEMBERS: string;\n NO_MUTED_PARTICIPANTS: string;\n NO_RESULTS_FOUND: string;\n ERROR: {\n MESSAGE: string;\n RETRY_LABEL: string;\n };\n };\n DIALOG: {\n ALERT_DEFAULT_OK: string;\n\n ALERT_PERMISSIONS_TITLE: string;\n ALERT_PERMISSIONS_MESSAGE: (permission: string, appName: string) => string;\n ALERT_PERMISSIONS_OK: string;\n\n PROMPT_DEFAULT_OK: string;\n PROMPT_DEFAULT_CANCEL: string;\n PROMPT_DEFAULT_PLACEHOLDER: string;\n };\n TOAST: {\n COPY_OK: string;\n DOWNLOAD_START: string;\n DOWNLOAD_OK: string;\n DOWNLOAD_ERROR: string;\n OPEN_CAMERA_ERROR: string;\n OPEN_PHOTO_LIBRARY_ERROR: string;\n OPEN_FILES_ERROR: string;\n RESEND_MSG_ERROR: string;\n DELETE_MSG_ERROR: string;\n SEND_MSG_ERROR: string;\n UPDATE_MSG_ERROR: string;\n TURN_ON_NOTIFICATIONS_ERROR: string;\n TURN_OFF_NOTIFICATIONS_ERROR: string;\n LEAVE_CHANNEL_ERROR: string;\n UNKNOWN_ERROR: string;\n GET_CHANNEL_ERROR: string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember) => string;\n };\n}\n"],"mappings":""}
|
|
@@ -7,7 +7,7 @@ import { getDateSeparatorFormat, getGroupChannelLastMessage, getGroupChannelPrev
|
|
|
7
7
|
* @param {StringSetCreateOptions.overrides} [overrides] Localized strings
|
|
8
8
|
* */
|
|
9
9
|
export const createBaseStringSet = _ref => {
|
|
10
|
-
var _overrides$LABELS, _overrides$LABELS2, _overrides$
|
|
10
|
+
var _overrides$LABELS, _overrides$LABELS2, _overrides$PLACEHOLDE;
|
|
11
11
|
let {
|
|
12
12
|
dateLocale,
|
|
13
13
|
overrides
|
|
@@ -24,8 +24,6 @@ export const createBaseStringSet = _ref => {
|
|
|
24
24
|
MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
|
|
25
25
|
MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
|
|
26
26
|
MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
|
|
27
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
28
|
-
LIST_BANNER_FROZEN: 'Channel is frozen',
|
|
29
27
|
...(overrides === null || overrides === void 0 ? void 0 : overrides.OPEN_CHANNEL)
|
|
30
28
|
},
|
|
31
29
|
OPEN_CHANNEL_PARTICIPANTS: {
|
|
@@ -108,42 +106,6 @@ export const createBaseStringSet = _ref => {
|
|
|
108
106
|
MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',
|
|
109
107
|
MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',
|
|
110
108
|
MENTION_LIMITED: mentionLimit => `You can have up to ${mentionLimit} mentions per message.`,
|
|
111
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_LIST_FROZEN **/
|
|
112
|
-
LIST_BANNER_FROZEN: 'Channel is frozen',
|
|
113
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_COPY **/
|
|
114
|
-
DIALOG_MESSAGE_COPY: 'Copy',
|
|
115
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_EDIT **/
|
|
116
|
-
DIALOG_MESSAGE_EDIT: 'Edit',
|
|
117
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_SAVE **/
|
|
118
|
-
DIALOG_MESSAGE_SAVE: 'Save',
|
|
119
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE **/
|
|
120
|
-
DIALOG_MESSAGE_DELETE: 'Delete',
|
|
121
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE **/
|
|
122
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
|
|
123
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_OK **/
|
|
124
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
|
|
125
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL **/
|
|
126
|
-
DIALOG_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
|
|
127
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_RETRY **/
|
|
128
|
-
DIALOG_MESSAGE_FAILED_RETRY: 'Retry',
|
|
129
|
-
/** @deprecated Please use LABELS.CHANNEL_MESSAGE_FAILED_REMOVE **/
|
|
130
|
-
DIALOG_MESSAGE_FAILED_REMOVE: 'Remove',
|
|
131
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_CAMERA **/
|
|
132
|
-
DIALOG_ATTACHMENT_CAMERA: 'Camera',
|
|
133
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY **/
|
|
134
|
-
DIALOG_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
|
|
135
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_ATTACHMENT_FILES **/
|
|
136
|
-
DIALOG_ATTACHMENT_FILES: 'Files',
|
|
137
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE **/
|
|
138
|
-
INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
|
|
139
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED **/
|
|
140
|
-
INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
|
|
141
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED **/
|
|
142
|
-
INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
|
|
143
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_OK **/
|
|
144
|
-
INPUT_EDIT_OK: 'Save',
|
|
145
|
-
/** @deprecated Please use LABELS.CHANNEL_INPUT_EDIT_CANCEL **/
|
|
146
|
-
INPUT_EDIT_CANCEL: 'Cancel',
|
|
147
109
|
...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL)
|
|
148
110
|
},
|
|
149
111
|
GROUP_CHANNEL_SETTINGS: {
|
|
@@ -228,10 +190,6 @@ export const createBaseStringSet = _ref => {
|
|
|
228
190
|
},
|
|
229
191
|
GROUP_CHANNEL_MEMBERS: {
|
|
230
192
|
HEADER_TITLE: 'Members',
|
|
231
|
-
/** @deprecated Please use LABELS.USER_BAR_ME_POSTFIX **/
|
|
232
|
-
USER_BAR_ME_POSTFIX: ' (You)',
|
|
233
|
-
/** @deprecated Please use LABELS.USER_BAR_OPERATOR **/
|
|
234
|
-
USER_BAR_OPERATOR: 'Operator',
|
|
235
193
|
...(overrides === null || overrides === void 0 ? void 0 : overrides.GROUP_CHANNEL_MEMBERS)
|
|
236
194
|
},
|
|
237
195
|
GROUP_CHANNEL_CREATE: {
|
|
@@ -289,25 +247,25 @@ export const createBaseStringSet = _ref => {
|
|
|
289
247
|
UNMUTE: 'Unmute',
|
|
290
248
|
BAN: 'Ban',
|
|
291
249
|
UNBAN: 'Unban',
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY:
|
|
305
|
-
CHANNEL_INPUT_ATTACHMENT_FILES:
|
|
306
|
-
CHANNEL_INPUT_PLACEHOLDER_ACTIVE:
|
|
307
|
-
CHANNEL_INPUT_PLACEHOLDER_DISABLED:
|
|
308
|
-
CHANNEL_INPUT_PLACEHOLDER_MUTED:
|
|
309
|
-
CHANNEL_INPUT_EDIT_OK:
|
|
310
|
-
CHANNEL_INPUT_EDIT_CANCEL:
|
|
250
|
+
CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',
|
|
251
|
+
CHANNEL_MESSAGE_COPY: 'Copy',
|
|
252
|
+
CHANNEL_MESSAGE_EDIT: 'Edit',
|
|
253
|
+
CHANNEL_MESSAGE_SAVE: 'Save',
|
|
254
|
+
CHANNEL_MESSAGE_DELETE: 'Delete',
|
|
255
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
|
|
256
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
|
|
257
|
+
CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
|
|
258
|
+
CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',
|
|
259
|
+
CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',
|
|
260
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',
|
|
261
|
+
CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',
|
|
262
|
+
CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',
|
|
263
|
+
CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',
|
|
264
|
+
CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',
|
|
265
|
+
CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',
|
|
266
|
+
CHANNEL_INPUT_PLACEHOLDER_MUTED: "You're muted by the operator.",
|
|
267
|
+
CHANNEL_INPUT_EDIT_OK: 'Save',
|
|
268
|
+
CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',
|
|
311
269
|
...(overrides === null || overrides === void 0 ? void 0 : overrides.LABELS)
|
|
312
270
|
},
|
|
313
271
|
FILE_VIEWER: {
|