@sendbird/uikit-react-native 3.9.6 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ChannelMessageList/index.js +57 -9
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.js +53 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +5 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/UnreadMessagesFloating.js +77 -0
- package/lib/commonjs/components/UnreadMessagesFloating.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +156 -7
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +57 -3
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +16 -2
- 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/ChannelMessageList/index.js +57 -9
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.js +46 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js +5 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/components/UnreadMessagesFloating.js +70 -0
- package/lib/module/components/UnreadMessagesFloating.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +158 -9
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +59 -5
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +16 -2
- 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/ChannelMessageList/index.d.ts +8 -1
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.d.ts +6 -0
- package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +1 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -0
- package/lib/typescript/src/components/UnreadMessagesFloating.d.ts +8 -0
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +6 -1
- package/lib/typescript/src/domain/groupChannel/types.d.ts +13 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
- package/lib/typescript/src/hooks/useChannelInputItems.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +3 -0
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +8 -7
- package/src/components/ChannelMessageList/index.tsx +71 -5
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageNewLine.tsx +45 -0
- package/src/components/GroupChannelMessageRenderer/index.tsx +5 -0
- package/src/components/UnreadMessagesFloating.tsx +60 -0
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +204 -5
- package/src/domain/groupChannel/types.ts +15 -0
- package/src/fragments/createGroupChannelFragment.tsx +67 -4
- package/src/localization/StringSet.type.ts +3 -0
- package/src/localization/createBaseStringSet.ts +16 -4
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","MessageFilter","ReplyType","Box","useToast","useGroupChannelMessages","getReadableFileSize","NOOP","PASS","confirmAndMarkAsRead","messageComparator","useFreshCallback","useIIFE","useRefTracker","GroupChannelMessageRenderer","GroupChannelTypingIndicatorBubble","NewMessagesButton","ScrollToBottomButton","StatusComposition","createGroupChannelModule","useLocalization","usePlatformService","useSendbirdChat","pubsub","createGroupChannelFragment","initModule","GroupChannelModule","searchItem","renderNewMessagesButton","props","createElement","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onPressReplyMessageInThread","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","sortComparator","flatListComponent","flatListProps","messageListQueryParams","collectionCreator","playerService","recorderService","sdk","currentUser","sbOptions","voiceMessageStatusManager","toast","STRINGS","internalSearchItem","setInternalSearchItem","navigateFromMessageSearch","Boolean","groupChannelPubSub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","replyType","uikit","groupChannel","NONE","ONLY_REPLY_TO_CHANNEL","loading","messages","newMessages","resetNewMessages","loadNext","loadPrevious","hasNext","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","shouldCountNewMessages","current","onMessagesReceived","publish","type","data","onMessagesUpdated","onCurrentUserBanned","getCollectionCreator","markAsRead","startingPoint","onBlurFragment","reset","catch","_onPressHeaderLeft","_onPressHeaderRight","_onPressMediaMessage","message","uri","_onPressReplyMessageInThread","clear","renderItem","content","isFirstItem","memoizedFlatListProps","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","Number","MAX_SAFE_INTEGER","onResetMessageListWithStartingPoint","onUpdateSearchItem","undefined","onPending","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","_processedParams$file","fileSize","file","size","uploadSizeLimit","appInfo","sizeLimitString","show","TOAST","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","userId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","deprecatedCreatorProp","defaultParams","createMessageCollection","filter"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MessageCollection, MessageFilter } from '@sendbird/chat/groupChannel';\nimport { ReplyType } from '@sendbird/chat/message';\nimport { Box, useToast } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelMessages } from '@sendbird/uikit-tools';\nimport {\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdSendableMessage,\n SendbirdUserMessage,\n getReadableFileSize,\n} from '@sendbird/uikit-utils';\nimport {\n NOOP,\n PASS,\n confirmAndMarkAsRead,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer, {\n GroupChannelTypingIndicatorBubble,\n} from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../hooks/useContext';\nimport { FileType } from '../platform/types';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onPressReplyMessageInThread = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n sortComparator = messageComparator,\n flatListComponent,\n flatListProps,\n messageListQueryParams,\n collectionCreator,\n }) => {\n const { playerService, recorderService } = usePlatformService();\n const { sdk, currentUser, sbOptions, voiceMessageStatusManager } = useSendbirdChat();\n const toast = useToast();\n const { STRINGS } = useLocalization();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') {\n return ReplyType.NONE;\n } else {\n return ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n loadNext,\n loadPrevious,\n hasNext,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n onMessagesUpdated(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_UPDATED', data: { messages } });\n },\n onChannelDeleted,\n onCurrentUserBanned: onChannelDeleted,\n collectionCreator: getCollectionCreator(channel, messageListQueryParams, collectionCreator),\n sortComparator,\n markAsRead: confirmAndMarkAsRead,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n });\n\n const onBlurFragment = async () => {\n await playerService.reset().catch(() => {});\n await recorderService.reset().catch(() => {});\n };\n const _onPressHeaderLeft = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderLeft();\n });\n const _onPressHeaderRight = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderRight();\n });\n const _onPressMediaMessage: NonNullable<GroupChannelProps['MessageList']['onPressMediaMessage']> = useFreshCallback(\n async (message, deleteMessage, uri) => {\n await onBlurFragment();\n onPressMediaMessage(message, deleteMessage, uri);\n },\n );\n const _onPressReplyMessageInThread = useFreshCallback(\n async (message: SendbirdSendableMessage, startingPoint?: number) => {\n await onBlurFragment();\n onPressReplyMessageInThread(message, startingPoint);\n },\n );\n\n useEffect(() => {\n return () => {\n voiceMessageStatusManager.clear();\n onBlurFragment();\n };\n }, []);\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n const content = renderMessage ? renderMessage(props) : <GroupChannelMessageRenderer {...props} />;\n return (\n <Box>\n {content}\n {props.isFirstItem && !hasNext() && <GroupChannelTypingIndicatorBubble />}\n </Box>\n );\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback(async () => {\n return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);\n }, []);\n\n const onResetMessageListWithStartingPoint = useCallback(async (startingPoint: number) => {\n return await resetWithStartingPoint(startingPoint);\n }, []);\n\n // Changing the search item will trigger the focus animation on messages.\n const onUpdateSearchItem: GroupChannelProps['MessageList']['onUpdateSearchItem'] = useCallback((searchItem) => {\n // Clean up for animation trigger with useEffect\n setInternalSearchItem(undefined);\n setInternalSearchItem(searchItem);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const fileSize = (processedParams.file as FileType)?.size ?? processedParams.fileSize;\n const uploadSizeLimit = sbOptions.appInfo.uploadSizeLimit;\n\n if (fileSize && uploadSizeLimit && fileSize > uploadSizeLimit) {\n const sizeLimitString = `${getReadableFileSize(uploadSizeLimit)}`;\n toast.show(STRINGS.TOAST.FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR(sizeLimitString), 'error');\n return;\n } else {\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n }\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) resetNewMessages();\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n messages={messages}\n onUpdateSearchItem={onUpdateSearchItem}\n onPressReplyMessageInThread={_onPressReplyMessageInThread}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={_onPressHeaderLeft}\n onPressHeaderRight={_onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n onResetMessageListWithStartingPoint={onResetMessageListWithStartingPoint}\n onUpdateSearchItem={onUpdateSearchItem}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={loadPrevious}\n onBottomReached={loadNext}\n hasNext={hasNext}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n flatListComponent={flatListComponent}\n flatListProps={memoizedFlatListProps}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nfunction getCollectionCreator(\n channel: SendbirdGroupChannel,\n messageListQueryParams?: GroupChannelProps['Fragment']['messageListQueryParams'],\n deprecatedCreatorProp?: () => MessageCollection,\n) {\n if (!messageListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;\n\n return (defaultParams: GroupChannelProps['Fragment']['messageListQueryParams']) => {\n const params = { ...defaultParams, ...messageListQueryParams };\n return channel.createMessageCollection({\n ...params,\n filter: new MessageFilter(params),\n });\n };\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","GroupChannelEventSource","MessageFilter","ReplyType","Box","useToast","useGroupChannelMessages","getReadableFileSize","NOOP","PASS","confirmAndMarkAsRead","messageComparator","useFreshCallback","useIIFE","useRefTracker","GroupChannelMessageRenderer","GroupChannelTypingIndicatorBubble","NewMessagesButton","ScrollToBottomButton","StatusComposition","UnreadMessagesFloating","createGroupChannelModule","useLocalization","usePlatformService","useSendbirdChat","pubsub","createGroupChannelFragment","initModule","GroupChannelModule","searchItem","renderUnreadMessagesFloating","props","createElement","renderNewMessagesButton","renderScrollToBottomButton","renderMessage","enableMessageGrouping","enableTypingIndicator","onPressHeaderLeft","onPressHeaderRight","onPressMediaMessage","onChannelDeleted","onPressReplyMessageInThread","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onBeforeUpdateFileMessage","channel","keyboardAvoidOffset","sortComparator","flatListComponent","flatListProps","messageListQueryParams","collectionCreator","playerService","recorderService","sdk","currentUser","sbOptions","voiceMessageStatusManager","toast","STRINGS","internalSearchItem","setInternalSearchItem","navigateFromMessageSearch","Boolean","groupChannelPubSub","scrolledAwayFromBottom","setScrolledAwayFromBottom","scrolledAwayFromBottomRef","replyType","uikit","groupChannel","NONE","ONLY_REPLY_TO_CHANNEL","isNewLineExistInChannel","setIsNewLineExistInChannel","hasSeenNewLineRef","hasUserMarkedAsUnreadRef","_channel$lastMessage","myLastRead","lastMessage","createdAt","Number","MIN_SAFE_INTEGER","url","onNewLineSeenChange","hasSeenNewLine","current","onUserMarkedAsUnreadChange","hasUserMarkedAsUnread","markAsRead","channels","enableMarkAsUnread","loading","messages","newMessages","resetNewMessages","loadNext","loadPrevious","hasNext","hasPrevious","sendFileMessage","sendUserMessage","updateFileMessage","updateUserMessage","resendMessage","deleteMessage","resetWithStartingPoint","shouldCountNewMessages","onMessagesReceived","publish","type","data","onMessagesUpdated","onChannelUpdated","_","ctx","source","EVENT_CHANNEL_READ","userIds","includes","userId","EVENT_CHANNEL_UNREAD","onCurrentUserBanned","getCollectionCreator","startingPoint","onBlurFragment","reset","catch","_onPressHeaderLeft","_onPressHeaderRight","_onPressMediaMessage","message","uri","_onPressReplyMessageInThread","clear","renderItem","content","isFirstItem","memoizedFlatListProps","ListEmptyComponent","StatusEmpty","contentContainerStyle","flexGrow","onResetMessageList","MAX_SAFE_INTEGER","onResetMessageListWithStartingPoint","onUpdateSearchItem","undefined","onPending","onSent","onPressSendUserMessage","params","processedParams","onPressSendFileMessage","_processedParams$file","fileSize","file","size","uploadSizeLimit","appInfo","sizeLimitString","show","TOAST","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","onPressUpdateUserMessage","messageId","onPressUpdateFileMessage","onScrolledAwayFromBottom","value","Provider","Header","shouldHideRight","LoadingComponent","StatusLoading","MessageList","currentUserId","onTopReached","onBottomReached","onResendFailedMessage","onDeleteMessage","Input","SuggestedMentionList","shouldRenderInput","isBroadcast","myRole","deprecatedCreatorProp","defaultParams","createMessageCollection","filter"],"sources":["createGroupChannelFragment.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n type GroupChannel,\n GroupChannelEventSource,\n MessageCollection,\n MessageFilter,\n} from '@sendbird/chat/groupChannel';\nimport { ReplyType } from '@sendbird/chat/message';\nimport { Box, useToast } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelMessages } from '@sendbird/uikit-tools';\nimport {\n SendbirdFileMessage,\n SendbirdGroupChannel,\n SendbirdSendableMessage,\n SendbirdUserMessage,\n getReadableFileSize,\n} from '@sendbird/uikit-utils';\nimport {\n NOOP,\n PASS,\n confirmAndMarkAsRead,\n messageComparator,\n useFreshCallback,\n useIIFE,\n useRefTracker,\n} from '@sendbird/uikit-utils';\n\nimport GroupChannelMessageRenderer, {\n GroupChannelTypingIndicatorBubble,\n} from '../components/GroupChannelMessageRenderer';\nimport NewMessagesButton from '../components/NewMessagesButton';\nimport ScrollToBottomButton from '../components/ScrollToBottomButton';\nimport StatusComposition from '../components/StatusComposition';\nimport UnreadMessagesFloating from '../components/UnreadMessagesFloating';\nimport createGroupChannelModule from '../domain/groupChannel/module/createGroupChannelModule';\nimport type {\n GroupChannelFragment,\n GroupChannelModule,\n GroupChannelProps,\n GroupChannelPubSubContextPayload,\n} from '../domain/groupChannel/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../hooks/useContext';\nimport { FileType } from '../platform/types';\nimport pubsub from '../utils/pubsub';\n\nconst createGroupChannelFragment = (initModule?: Partial<GroupChannelModule>): GroupChannelFragment => {\n const GroupChannelModule = createGroupChannelModule(initModule);\n\n return ({\n searchItem,\n renderUnreadMessagesFloating = (props) => <UnreadMessagesFloating {...props} />,\n renderNewMessagesButton = (props) => <NewMessagesButton {...props} />,\n renderScrollToBottomButton = (props) => <ScrollToBottomButton {...props} />,\n renderMessage,\n enableMessageGrouping = true,\n enableTypingIndicator,\n onPressHeaderLeft = NOOP,\n onPressHeaderRight = NOOP,\n onPressMediaMessage = NOOP,\n onChannelDeleted = NOOP,\n onPressReplyMessageInThread = NOOP,\n onBeforeSendUserMessage = PASS,\n onBeforeSendFileMessage = PASS,\n onBeforeUpdateUserMessage = PASS,\n onBeforeUpdateFileMessage = PASS,\n channel,\n keyboardAvoidOffset,\n sortComparator = messageComparator,\n flatListComponent,\n flatListProps,\n messageListQueryParams,\n collectionCreator,\n }) => {\n const { playerService, recorderService } = usePlatformService();\n const { sdk, currentUser, sbOptions, voiceMessageStatusManager } = useSendbirdChat();\n const toast = useToast();\n const { STRINGS } = useLocalization();\n\n const [internalSearchItem, setInternalSearchItem] = useState(searchItem);\n const navigateFromMessageSearch = useCallback(() => Boolean(searchItem), []);\n\n const [groupChannelPubSub] = useState(() => pubsub<GroupChannelPubSubContextPayload>());\n const [scrolledAwayFromBottom, setScrolledAwayFromBottom] = useState(false);\n const scrolledAwayFromBottomRef = useRefTracker(scrolledAwayFromBottom);\n\n const replyType = useIIFE(() => {\n if (sbOptions.uikit.groupChannel.channel.replyType === 'none') {\n return ReplyType.NONE;\n } else {\n return ReplyType.ONLY_REPLY_TO_CHANNEL;\n }\n });\n\n const [isNewLineExistInChannel, setIsNewLineExistInChannel] = useState(false);\n const hasSeenNewLineRef = useRef(false);\n const hasUserMarkedAsUnreadRef = useRef(false);\n\n useEffect(() => {\n setIsNewLineExistInChannel(channel.myLastRead < (channel.lastMessage?.createdAt ?? Number.MIN_SAFE_INTEGER));\n }, [channel.url]);\n\n const onNewLineSeenChange = useFreshCallback((hasSeenNewLine: boolean) => {\n hasSeenNewLineRef.current = hasSeenNewLine;\n });\n\n const onUserMarkedAsUnreadChange = useFreshCallback((hasUserMarkedAsUnread: boolean) => {\n hasUserMarkedAsUnreadRef.current = hasUserMarkedAsUnread;\n });\n\n const markAsRead = useFreshCallback((channels: GroupChannel[]) => {\n if (sbOptions.uikit.groupChannel.channel.enableMarkAsUnread) {\n if (\n !scrolledAwayFromBottom &&\n !hasUserMarkedAsUnreadRef.current &&\n (hasSeenNewLineRef.current || !isNewLineExistInChannel)\n ) {\n confirmAndMarkAsRead(channels, true);\n }\n } else {\n confirmAndMarkAsRead(channels);\n }\n });\n\n const {\n loading,\n messages,\n newMessages,\n resetNewMessages,\n loadNext,\n loadPrevious,\n hasNext,\n hasPrevious,\n sendFileMessage,\n sendUserMessage,\n updateFileMessage,\n updateUserMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n } = useGroupChannelMessages(sdk, channel, {\n shouldCountNewMessages: () => scrolledAwayFromBottomRef.current,\n onMessagesReceived(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_RECEIVED', data: { messages } });\n },\n onMessagesUpdated(messages) {\n groupChannelPubSub.publish({ type: 'MESSAGES_UPDATED', data: { messages } });\n },\n onChannelUpdated(_, ctx) {\n if (ctx?.source === GroupChannelEventSource.EVENT_CHANNEL_READ) {\n if (ctx.userIds.includes(currentUser?.userId ?? '')) {\n groupChannelPubSub.publish({ type: 'ON_MARKED_AS_READ_BY_CURRENT_USER' });\n }\n } else if (ctx?.source === GroupChannelEventSource.EVENT_CHANNEL_UNREAD) {\n if (ctx.userIds.includes(currentUser?.userId ?? '')) {\n setIsNewLineExistInChannel(true);\n groupChannelPubSub.publish({ type: 'ON_MARKED_AS_UNREAD_BY_CURRENT_USER' });\n }\n }\n },\n onChannelDeleted,\n onCurrentUserBanned: onChannelDeleted,\n collectionCreator: getCollectionCreator(channel, messageListQueryParams, collectionCreator),\n sortComparator,\n markAsRead: markAsRead,\n replyType,\n startingPoint: internalSearchItem?.startingPoint,\n });\n\n const onBlurFragment = async () => {\n await playerService.reset().catch(() => {});\n await recorderService.reset().catch(() => {});\n };\n const _onPressHeaderLeft = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderLeft();\n });\n const _onPressHeaderRight = useFreshCallback(async () => {\n await onBlurFragment();\n onPressHeaderRight();\n });\n const _onPressMediaMessage: NonNullable<GroupChannelProps['MessageList']['onPressMediaMessage']> = useFreshCallback(\n async (message, deleteMessage, uri) => {\n await onBlurFragment();\n onPressMediaMessage(message, deleteMessage, uri);\n },\n );\n const _onPressReplyMessageInThread = useFreshCallback(\n async (message: SendbirdSendableMessage, startingPoint?: number) => {\n await onBlurFragment();\n onPressReplyMessageInThread(message, startingPoint);\n },\n );\n\n useEffect(() => {\n return () => {\n voiceMessageStatusManager.clear();\n onBlurFragment();\n };\n }, []);\n\n const renderItem: GroupChannelProps['MessageList']['renderMessage'] = useFreshCallback((props) => {\n const content = renderMessage ? renderMessage(props) : <GroupChannelMessageRenderer {...props} />;\n return (\n <Box>\n {content}\n {props.isFirstItem && !hasNext() && <GroupChannelTypingIndicatorBubble />}\n </Box>\n );\n });\n\n const memoizedFlatListProps = useMemo(\n () => ({\n ListEmptyComponent: <GroupChannelModule.StatusEmpty />,\n contentContainerStyle: { flexGrow: 1 },\n ...flatListProps,\n }),\n [flatListProps],\n );\n\n const onResetMessageList = useCallback(async () => {\n return await resetWithStartingPoint(Number.MAX_SAFE_INTEGER);\n }, []);\n\n const onResetMessageListWithStartingPoint = useCallback(async (startingPoint: number) => {\n return await resetWithStartingPoint(startingPoint);\n }, []);\n\n // Changing the search item will trigger the focus animation on messages.\n const onUpdateSearchItem: GroupChannelProps['MessageList']['onUpdateSearchItem'] = useCallback((searchItem) => {\n // Clean up for animation trigger with useEffect\n setInternalSearchItem(undefined);\n setInternalSearchItem(searchItem);\n }, []);\n\n const onPending = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_PENDING', data: { message } });\n };\n\n const onSent = (message: SendbirdFileMessage | SendbirdUserMessage) => {\n groupChannelPubSub.publish({ type: 'MESSAGE_SENT_SUCCESS', data: { message } });\n };\n\n const onPressSendUserMessage: GroupChannelProps['Input']['onPressSendUserMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendUserMessage(params);\n const message = await sendUserMessage(processedParams, onPending);\n onSent(message);\n },\n );\n const onPressSendFileMessage: GroupChannelProps['Input']['onPressSendFileMessage'] = useFreshCallback(\n async (params) => {\n const processedParams = await onBeforeSendFileMessage(params);\n const fileSize = (processedParams.file as FileType)?.size ?? processedParams.fileSize;\n const uploadSizeLimit = sbOptions.appInfo.uploadSizeLimit;\n\n if (fileSize && uploadSizeLimit && fileSize > uploadSizeLimit) {\n const sizeLimitString = `${getReadableFileSize(uploadSizeLimit)}`;\n toast.show(STRINGS.TOAST.FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR(sizeLimitString), 'error');\n return;\n } else {\n const message = await sendFileMessage(processedParams, onPending);\n onSent(message);\n }\n },\n );\n const onPressUpdateUserMessage: GroupChannelProps['Input']['onPressUpdateUserMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateUserMessage(params);\n await updateUserMessage(message.messageId, processedParams);\n },\n );\n const onPressUpdateFileMessage: GroupChannelProps['Input']['onPressUpdateFileMessage'] = useFreshCallback(\n async (message, params) => {\n const processedParams = await onBeforeUpdateFileMessage(params);\n await updateFileMessage(message.messageId, processedParams);\n },\n );\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n if (!value) {\n resetNewMessages();\n if (sbOptions.uikit.groupChannel.channel.enableMarkAsUnread) {\n if (!hasUserMarkedAsUnreadRef.current && (hasSeenNewLineRef.current || !isNewLineExistInChannel)) {\n confirmAndMarkAsRead([channel]);\n }\n }\n }\n setScrolledAwayFromBottom(value);\n });\n\n return (\n <GroupChannelModule.Provider\n channel={channel}\n groupChannelPubSub={groupChannelPubSub}\n enableTypingIndicator={enableTypingIndicator ?? sbOptions.uikit.groupChannel.channel.enableTypingIndicator}\n keyboardAvoidOffset={keyboardAvoidOffset}\n messages={messages}\n onUpdateSearchItem={onUpdateSearchItem}\n onPressReplyMessageInThread={_onPressReplyMessageInThread}\n >\n <GroupChannelModule.Header\n shouldHideRight={navigateFromMessageSearch}\n onPressHeaderLeft={_onPressHeaderLeft}\n onPressHeaderRight={_onPressHeaderRight}\n />\n <StatusComposition loading={loading} LoadingComponent={<GroupChannelModule.StatusLoading />}>\n <GroupChannelModule.MessageList\n channel={channel}\n searchItem={internalSearchItem}\n onResetMessageList={onResetMessageList}\n onResetMessageListWithStartingPoint={onResetMessageListWithStartingPoint}\n onUpdateSearchItem={onUpdateSearchItem}\n enableMessageGrouping={enableMessageGrouping}\n currentUserId={currentUser?.userId}\n renderMessage={renderItem}\n messages={messages}\n newMessages={newMessages}\n onTopReached={loadPrevious}\n onBottomReached={loadNext}\n hasNext={hasNext}\n hasPrevious={hasPrevious}\n resetNewMessages={resetNewMessages}\n scrolledAwayFromBottom={scrolledAwayFromBottom}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n renderNewMessagesButton={renderNewMessagesButton}\n renderScrollToBottomButton={renderScrollToBottomButton}\n renderUnreadMessagesFloating={renderUnreadMessagesFloating}\n onResendFailedMessage={resendMessage}\n onDeleteMessage={deleteMessage}\n onPressMediaMessage={_onPressMediaMessage}\n flatListComponent={flatListComponent}\n flatListProps={memoizedFlatListProps}\n isNewLineExistInChannel={isNewLineExistInChannel}\n onNewLineSeenChange={onNewLineSeenChange}\n onUserMarkedAsUnreadChange={onUserMarkedAsUnreadChange}\n />\n <GroupChannelModule.Input\n SuggestedMentionList={GroupChannelModule.SuggestedMentionList}\n shouldRenderInput={shouldRenderInput(channel)}\n onPressSendUserMessage={onPressSendUserMessage}\n onPressSendFileMessage={onPressSendFileMessage}\n onPressUpdateUserMessage={onPressUpdateUserMessage}\n onPressUpdateFileMessage={onPressUpdateFileMessage}\n />\n </StatusComposition>\n </GroupChannelModule.Provider>\n );\n };\n};\n\nfunction shouldRenderInput(channel: SendbirdGroupChannel) {\n if (channel.isBroadcast) {\n return channel.myRole === 'operator';\n }\n\n return true;\n}\n\nfunction getCollectionCreator(\n channel: SendbirdGroupChannel,\n messageListQueryParams?: GroupChannelProps['Fragment']['messageListQueryParams'],\n deprecatedCreatorProp?: () => MessageCollection,\n) {\n if (!messageListQueryParams && deprecatedCreatorProp) return deprecatedCreatorProp;\n\n return (defaultParams: GroupChannelProps['Fragment']['messageListQueryParams']) => {\n const params = { ...defaultParams, ...messageListQueryParams };\n return channel.createMessageCollection({\n ...params,\n filter: new MessageFilter(params),\n });\n };\n}\n\nexport default createGroupChannelFragment;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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 SendbirdReactedUserInfo,\n SendbirdUser,\n SendbirdUserMessage,\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_THREAD: {\n /** GroupChannelThread > Header */\n HEADER_TITLE: string;\n HEADER_SUBTITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelThread > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannelThread > 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 PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => string;\n\n /** GroupChannelThread > 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 PERMISSION_MICROPHONE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n REPLY_FROM_SENDER_TO_RECEIVER: (\n replyMessage: SendbirdUserMessage | SendbirdFileMessage,\n parentMessage: SendbirdUserMessage | SendbirdFileMessage,\n currentUserId?: string,\n ) => string;\n MESSAGE_UNAVAILABLE: string;\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_PLACEHOLDER_REPLY: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 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 CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user: SendbirdUser) => string;\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message: SendbirdUserMessage | SendbirdFileMessage) => 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_REPLY: string;\n CHANNEL_MESSAGE_THREAD: 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 /** Voice message **/\n VOICE_MESSAGE: string;\n VOICE_MESSAGE_INPUT_CANCEL: string;\n };\n REACTION: {\n MORE_USERS: (userCountDifference: number) => 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 USER_MUTED_ERROR: string;\n CHANNEL_FROZEN_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 FIND_PARENT_MSG_ERROR: string;\n THREAD_PARENT_MESSAGE_DELETED_ERROR: string;\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember | SendbirdReactedUserInfo) => string;\n };\n}\n"],"mappings":"","ignoreList":[]}
|
|
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 SendbirdReactedUserInfo,\n SendbirdUser,\n SendbirdUserMessage,\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 LIST_FLOATING_UNREAD_MSG: (unreadMessageCount: number) => string;\n LIST_NEW_LINE: 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_THREAD: {\n /** GroupChannelThread > Header */\n HEADER_TITLE: string;\n HEADER_SUBTITLE: (currentUserId: string, channel: SendbirdGroupChannel) => string;\n\n /** GroupChannelThread > List */\n LIST_DATE_SEPARATOR: (date: Date, locale?: Locale) => string;\n LIST_BUTTON_NEW_MSG: (newMessages: SendbirdMessage[]) => string;\n\n /** GroupChannelThread > 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 PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) => string;\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => string;\n\n /** GroupChannelThread > 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 PERMISSION_MICROPHONE: string;\n\n USER_NO_NAME: string;\n CHANNEL_NO_MEMBERS: string;\n TYPING_INDICATOR_TYPINGS: (users: SendbirdUser[]) => string | undefined;\n REPLY_FROM_SENDER_TO_RECEIVER: (\n replyMessage: SendbirdUserMessage | SendbirdFileMessage,\n parentMessage: SendbirdUserMessage | SendbirdFileMessage,\n currentUserId?: string,\n ) => string;\n MESSAGE_UNAVAILABLE: string;\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_PLACEHOLDER_REPLY: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: string;\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 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 CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user: SendbirdUser) => string;\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message: SendbirdUserMessage | SendbirdFileMessage) => 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_REPLY: string;\n CHANNEL_MESSAGE_THREAD: string;\n CHANNEL_MESSAGE_MARK_AS_UNREAD: 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 /** Voice message **/\n VOICE_MESSAGE: string;\n VOICE_MESSAGE_INPUT_CANCEL: string;\n };\n REACTION: {\n MORE_USERS: (userCountDifference: number) => 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 USER_MUTED_ERROR: string;\n CHANNEL_FROZEN_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 FIND_PARENT_MSG_ERROR: string;\n THREAD_PARENT_MESSAGE_DELETED_ERROR: string;\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => string;\n };\n PROFILE_CARD: {\n BUTTON_MESSAGE: string;\n BODY_LABEL: string;\n BODY: (user: SendbirdUser | SendbirdMember | SendbirdReactedUserInfo) => string;\n };\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -99,7 +99,16 @@ export const createBaseStringSet = ({
|
|
|
99
99
|
GROUP_CHANNEL: {
|
|
100
100
|
HEADER_TITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),
|
|
101
101
|
LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),
|
|
102
|
-
LIST_BUTTON_NEW_MSG: newMessages =>
|
|
102
|
+
LIST_BUTTON_NEW_MSG: newMessages => {
|
|
103
|
+
const count = newMessages.length;
|
|
104
|
+
const displayCount = count >= 100 ? '99+' : count;
|
|
105
|
+
return count === 1 ? `${displayCount} new message` : `${displayCount} new messages`;
|
|
106
|
+
},
|
|
107
|
+
LIST_FLOATING_UNREAD_MSG: unreadMessageCount => {
|
|
108
|
+
const displayCount = unreadMessageCount >= 100 ? '99+' : unreadMessageCount;
|
|
109
|
+
return unreadMessageCount === 1 ? `${displayCount} unread message` : `${displayCount} unread messages`;
|
|
110
|
+
},
|
|
111
|
+
LIST_NEW_LINE: 'New messages',
|
|
103
112
|
MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),
|
|
104
113
|
MESSAGE_BUBBLE_FILE_TITLE: message => message.name,
|
|
105
114
|
MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
|
|
@@ -112,7 +121,11 @@ export const createBaseStringSet = ({
|
|
|
112
121
|
HEADER_TITLE: 'Thread',
|
|
113
122
|
HEADER_SUBTITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),
|
|
114
123
|
LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),
|
|
115
|
-
LIST_BUTTON_NEW_MSG: newMessages =>
|
|
124
|
+
LIST_BUTTON_NEW_MSG: newMessages => {
|
|
125
|
+
const count = newMessages.length;
|
|
126
|
+
const displayCount = count >= 100 ? '99+' : count;
|
|
127
|
+
return count === 1 ? `${displayCount} new message` : `${displayCount} new messages`;
|
|
128
|
+
},
|
|
116
129
|
MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),
|
|
117
130
|
MESSAGE_BUBBLE_FILE_TITLE: message => message.name,
|
|
118
131
|
MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',
|
|
@@ -279,6 +292,7 @@ export const createBaseStringSet = ({
|
|
|
279
292
|
CHANNEL_MESSAGE_DELETE: 'Delete',
|
|
280
293
|
CHANNEL_MESSAGE_REPLY: 'Reply',
|
|
281
294
|
CHANNEL_MESSAGE_THREAD: 'Reply in thread',
|
|
295
|
+
CHANNEL_MESSAGE_MARK_AS_UNREAD: 'Mark as unread',
|
|
282
296
|
CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',
|
|
283
297
|
CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',
|
|
284
298
|
CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getThreadParentMessageTimeFormat","getDateSeparatorFormat","getGroupChannelPreviewTime","getGroupChannelTitle","getMessagePreviewBody","getMessagePreviewTime","getMessagePreviewTitle","getMessageTimeFormat","getMessageType","getOpenChannelParticipants","getOpenChannelTitle","getReplyCountFormat","isVoiceMessage","UNKNOWN_USER_ID","createBaseStringSet","dateLocale","overrides","_overrides$LABELS","_overrides$LABELS2","_overrides$PLACEHOLDE","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","OPEN_CHANNEL","HEADER_TITLE","channel","HEADER_SUBTITLE","LIST_DATE_SEPARATOR","date","locale","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","OPEN_CHANNEL_PARTICIPANTS","OPEN_CHANNEL_SETTINGS","HEADER_RIGHT","INFO_URL","MENU_MODERATION","MENU_PARTICIPANTS","MENU_DELETE_CHANNEL","DIALOG_CHANNEL_DELETE_CONFIRM_TITLE","DIALOG_CHANNEL_DELETE_CONFIRM_OK","DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","OPEN_CHANNEL_CREATE","PLACEHOLDER","DIALOG_IMAGE_MENU_REMOVE","DIALOG_IMAGE_MENU_CAMERA","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_PARTICIPANTS","MENU_BANNED_USERS","OPEN_CHANNEL_BANNED_USERS","OPEN_CHANNEL_MUTED_PARTICIPANTS","OPEN_CHANNEL_OPERATORS","OPEN_CHANNEL_REGISTER_OPERATOR","selectedUsers","len","length","GROUP_CHANNEL","uid","LIST_BUTTON_NEW_MSG","newMessages","MENTION_LIMITED","mentionLimit","GROUP_CHANNEL_THREAD","PARENT_MESSAGE_TIME","REPLY_COUNT","replyCount","maxReplyCount","GROUP_CHANNEL_SETTINGS","MENU_MEMBERS","MENU_SEARCH","MENU_LEAVE_CHANNEL","MENU_NOTIFICATION","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENU_NOTIFICATION_LABEL_MENTION_ONLY","GROUP_CHANNEL_NOTIFICATIONS","MENU_NOTIFICATIONS","MENU_NOTIFICATIONS_DESC","MENU_NOTIFICATIONS_OPTION_ALL","MENU_NOTIFICATIONS_OPTION_MENTION_ONLY","GROUP_CHANNEL_MODERATION","MENU_MUTED_MEMBERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","currentUserId","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","lastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","GROUP_CHANNEL_CREATE","GROUP_CHANNEL_INVITE","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","SEARCH_RESULT_ITEM_TITLE","SEARCH_RESULT_ITEM_BODY","SEARCH_RESULT_ITEM_TITLE_CAPTION","PERMISSION_APP_NAME","PERMISSION_CAMERA","PERMISSION_DEVICE_STORAGE","PERMISSION_MICROPHONE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","REPLY_FROM_SENDER_TO_RECEIVER","reply","parent","replySenderNickname","sender","userId","parentSenderNickname","MESSAGE_UNAVAILABLE","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","CHANNEL_MESSAGE_LIST_FROZEN","CHANNEL_MESSAGE_COPY","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_SAVE","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_REPLY","CHANNEL_MESSAGE_THREAD","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_FAILED_RETRY","CHANNEL_MESSAGE_FAILED_REMOVE","CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO","CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO","CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY","CHANNEL_INPUT_ATTACHMENT_FILES","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_REPLY","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_EDIT_OK","CHANNEL_INPUT_EDIT_CANCEL","CHANNEL_INPUT_REPLY_PREVIEW_TITLE","user","CHANNEL_INPUT_REPLY_PREVIEW_BODY","isFileMessage","messageType","type","toLowerCase","includes","isUserMessage","VOICE_MESSAGE","VOICE_MESSAGE_INPUT_CANCEL","REACTION","MORE_USERS","userCountDifference","FILE_VIEWER","TITLE","_message$sender","SUBTITLE","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_MUTED_PARTICIPANTS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","UNKNOWN_ERROR","GET_CHANNEL_ERROR","FIND_PARENT_MSG_ERROR","THREAD_PARENT_MESSAGE_DELETED_ERROR","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","uploadSizeLimit","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY"],"sources":["createBaseStringSet.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport { PartialDeep, SendbirdMessage, getThreadParentMessageTimeFormat } from '@sendbird/uikit-utils';\nimport {\n getDateSeparatorFormat,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n getMessagePreviewBody,\n getMessagePreviewTime,\n getMessagePreviewTitle,\n getMessageTimeFormat,\n getMessageType,\n getOpenChannelParticipants,\n getOpenChannelTitle,\n getReplyCountFormat,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { UNKNOWN_USER_ID } from '../constants';\nimport type { StringSet } from './StringSet.type';\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n\n return {\n OPEN_CHANNEL: {\n HEADER_TITLE: (channel) => getOpenChannelTitle(channel),\n HEADER_SUBTITLE: (channel) => getOpenChannelParticipants(channel),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n ...overrides?.OPEN_CHANNEL,\n },\n OPEN_CHANNEL_PARTICIPANTS: {\n HEADER_TITLE: 'Participants',\n ...overrides?.OPEN_CHANNEL_PARTICIPANTS,\n },\n OPEN_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n INFO_URL: 'URL',\n MENU_MODERATION: 'Moderation',\n MENU_PARTICIPANTS: 'Participants',\n MENU_DELETE_CHANNEL: 'Delete channel',\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: 'Delete channel?',\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_SETTINGS,\n },\n OPEN_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (channel) => getOpenChannelTitle(channel),\n ...overrides?.OPEN_CHANNEL_LIST,\n },\n OPEN_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: 'Create',\n PLACEHOLDER: 'Enter channel name',\n DIALOG_IMAGE_MENU_REMOVE: 'Remove photo',\n DIALOG_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_CREATE,\n },\n OPEN_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_PARTICIPANTS: 'Muted participants',\n MENU_BANNED_USERS: 'Banned users',\n ...overrides?.OPEN_CHANNEL_MODERATION,\n },\n OPEN_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.OPEN_CHANNEL_BANNED_USERS,\n },\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n HEADER_TITLE: 'Muted participants',\n ...overrides?.OPEN_CHANNEL_MUTED_PARTICIPANTS,\n },\n OPEN_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.OPEN_CHANNEL_OPERATORS,\n },\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.OPEN_CHANNEL_REGISTER_OPERATOR,\n },\n GROUP_CHANNEL: {\n HEADER_TITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_THREAD: {\n HEADER_TITLE: 'Thread',\n HEADER_SUBTITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => `${newMessages.length} new messages`,\n\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) =>\n getThreadParentMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => getReplyCountFormat(replyCount, maxReplyCount),\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL_THREAD,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_MEMBERS: 'Members',\n MENU_SEARCH: 'Search in channel',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n MENU_NOTIFICATION: 'Notifications',\n MENU_NOTIFICATION_LABEL_ON: 'On',\n MENU_NOTIFICATION_LABEL_OFF: 'Off',\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_NOTIFICATIONS: {\n HEADER_TITLE: 'Notifications',\n MENU_NOTIFICATIONS: 'Notifications',\n MENU_NOTIFICATIONS_DESC:\n 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',\n MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',\n ...overrides?.GROUP_CHANNEL_NOTIFICATIONS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => {\n if (!channel.lastMessage) return '';\n if (isVoiceMessage(channel.lastMessage)) return 'Voice message';\n return getMessagePreviewBody(channel.lastMessage);\n },\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n MESSAGE_SEARCH: {\n HEADER_INPUT_PLACEHOLDER: 'Search',\n HEADER_RIGHT: 'Search',\n SEARCH_RESULT_ITEM_TITLE: (message) => getMessagePreviewTitle(message),\n SEARCH_RESULT_ITEM_BODY: (message) => {\n if (isVoiceMessage(message)) return 'Voice message';\n return getMessagePreviewBody(message);\n },\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message, locale) => {\n return getMessagePreviewTime(message.createdAt, locale ?? dateLocale);\n },\n },\n LABELS: {\n PERMISSION_APP_NAME: 'Application',\n PERMISSION_CAMERA: 'camera',\n PERMISSION_DEVICE_STORAGE: 'device storage',\n PERMISSION_MICROPHONE: 'microphone',\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n REPLY_FROM_SENDER_TO_RECEIVER: (reply, parent, currentUserId = UNKNOWN_USER_ID) => {\n const replySenderNickname =\n reply.sender.userId === currentUserId ? 'You' : reply.sender.nickname || USER_NO_NAME;\n const parentSenderNickname =\n parent.sender.userId === currentUserId ? 'You' : parent.sender.nickname || USER_NO_NAME;\n return `${replySenderNickname} replied to ${parentSenderNickname}`;\n },\n MESSAGE_UNAVAILABLE: 'Message unavailable',\n\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',\n CHANNEL_MESSAGE_COPY: 'Copy',\n CHANNEL_MESSAGE_EDIT: 'Edit',\n CHANNEL_MESSAGE_SAVE: 'Save',\n CHANNEL_MESSAGE_DELETE: 'Delete',\n CHANNEL_MESSAGE_REPLY: 'Reply',\n CHANNEL_MESSAGE_THREAD: 'Reply in thread',\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',\n CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n CHANNEL_INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n CHANNEL_INPUT_PLACEHOLDER_REPLY: 'Reply to message',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: 'Reply in thread',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 'Reply to thread',\n CHANNEL_INPUT_EDIT_OK: 'Save',\n CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user) => `Reply to ${user.nickname || USER_NO_NAME}`,\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message) => {\n if (message.isFileMessage()) {\n const messageType = getMessageType(message);\n switch (messageType) {\n case 'file.image':\n return message.type.toLowerCase().includes('gif') ? 'GIF' : 'Photo';\n case 'file.video':\n return 'Video';\n case 'file.audio':\n return 'Audio';\n case 'file.voice':\n return 'Voice message';\n default:\n return message.name;\n }\n } else if (message.isUserMessage()) {\n return message.message;\n }\n return 'Unknown message';\n },\n VOICE_MESSAGE: 'Voice message',\n VOICE_MESSAGE_INPUT_CANCEL: 'Cancel',\n ...overrides?.LABELS,\n },\n REACTION: {\n MORE_USERS: (userCountDifference) => `And ${userCountDifference} others`,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => getMessageTimeFormat(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_MUTED_PARTICIPANTS: 'No muted participants',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} needs permission to access your ${permission}.`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n USER_MUTED_ERROR: \"You're muted by the operator.\",\n CHANNEL_FROZEN_ERROR: 'Channel is frozen.',\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n UNKNOWN_ERROR: 'Something went wrong.',\n GET_CHANNEL_ERROR: \"Couldn't retrieve channel.\",\n FIND_PARENT_MSG_ERROR: \"Couldn't find the original message for this reply.\",\n THREAD_PARENT_MESSAGE_DELETED_ERROR: \"The thread doesn't exist because the parent message was deleted.\",\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => {\n return `The maximum size per file is ${uploadSizeLimit}.`;\n },\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getThreadParentMessageTimeFormat","getDateSeparatorFormat","getGroupChannelPreviewTime","getGroupChannelTitle","getMessagePreviewBody","getMessagePreviewTime","getMessagePreviewTitle","getMessageTimeFormat","getMessageType","getOpenChannelParticipants","getOpenChannelTitle","getReplyCountFormat","isVoiceMessage","UNKNOWN_USER_ID","createBaseStringSet","dateLocale","overrides","_overrides$LABELS","_overrides$LABELS2","_overrides$PLACEHOLDE","USER_NO_NAME","LABELS","CHANNEL_NO_MEMBERS","OPEN_CHANNEL","HEADER_TITLE","channel","HEADER_SUBTITLE","LIST_DATE_SEPARATOR","date","locale","MESSAGE_BUBBLE_TIME","message","Date","createdAt","MESSAGE_BUBBLE_FILE_TITLE","name","MESSAGE_BUBBLE_EDITED_POSTFIX","MESSAGE_BUBBLE_UNKNOWN_TITLE","MESSAGE_BUBBLE_UNKNOWN_DESC","OPEN_CHANNEL_PARTICIPANTS","OPEN_CHANNEL_SETTINGS","HEADER_RIGHT","INFO_URL","MENU_MODERATION","MENU_PARTICIPANTS","MENU_DELETE_CHANNEL","DIALOG_CHANNEL_DELETE_CONFIRM_TITLE","DIALOG_CHANNEL_DELETE_CONFIRM_OK","DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL","DIALOG_CHANGE_NAME","DIALOG_CHANGE_NAME_PROMPT_TITLE","DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER","DIALOG_CHANGE_NAME_PROMPT_OK","DIALOG_CHANGE_NAME_PROMPT_CANCEL","DIALOG_CHANGE_IMAGE","DIALOG_CHANGE_IMAGE_MENU_TITLE","DIALOG_CHANGE_IMAGE_MENU_CAMERA","DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_LIST","CHANNEL_PREVIEW_TITLE","OPEN_CHANNEL_CREATE","PLACEHOLDER","DIALOG_IMAGE_MENU_REMOVE","DIALOG_IMAGE_MENU_CAMERA","DIALOG_IMAGE_MENU_PHOTO_LIBRARY","OPEN_CHANNEL_MODERATION","MENU_OPERATORS","MENU_MUTED_PARTICIPANTS","MENU_BANNED_USERS","OPEN_CHANNEL_BANNED_USERS","OPEN_CHANNEL_MUTED_PARTICIPANTS","OPEN_CHANNEL_OPERATORS","OPEN_CHANNEL_REGISTER_OPERATOR","selectedUsers","len","length","GROUP_CHANNEL","uid","LIST_BUTTON_NEW_MSG","newMessages","count","displayCount","LIST_FLOATING_UNREAD_MSG","unreadMessageCount","LIST_NEW_LINE","MENTION_LIMITED","mentionLimit","GROUP_CHANNEL_THREAD","PARENT_MESSAGE_TIME","REPLY_COUNT","replyCount","maxReplyCount","GROUP_CHANNEL_SETTINGS","MENU_MEMBERS","MENU_SEARCH","MENU_LEAVE_CHANNEL","MENU_NOTIFICATION","MENU_NOTIFICATION_LABEL_ON","MENU_NOTIFICATION_LABEL_OFF","MENU_NOTIFICATION_LABEL_MENTION_ONLY","GROUP_CHANNEL_NOTIFICATIONS","MENU_NOTIFICATIONS","MENU_NOTIFICATIONS_DESC","MENU_NOTIFICATIONS_OPTION_ALL","MENU_NOTIFICATIONS_OPTION_MENTION_ONLY","GROUP_CHANNEL_MODERATION","MENU_MUTED_MEMBERS","MENU_FREEZE_CHANNEL","GROUP_CHANNEL_OPERATORS","GROUP_CHANNEL_REGISTER_OPERATOR","GROUP_CHANNEL_MUTED_MEMBERS","GROUP_CHANNEL_BANNED_USERS","GROUP_CHANNEL_LIST","currentUserId","CHANNEL_PREVIEW_TITLE_CAPTION","CHANNEL_PREVIEW_BODY","lastMessage","TYPE_SELECTOR_HEADER_TITLE","TYPE_SELECTOR_GROUP","TYPE_SELECTOR_SUPER_GROUP","TYPE_SELECTOR_BROADCAST","DIALOG_CHANNEL_TITLE","DIALOG_CHANNEL_NOTIFICATION","myPushTriggerOption","DIALOG_CHANNEL_LEAVE","GROUP_CHANNEL_MEMBERS","GROUP_CHANNEL_CREATE","GROUP_CHANNEL_INVITE","MESSAGE_SEARCH","HEADER_INPUT_PLACEHOLDER","SEARCH_RESULT_ITEM_TITLE","SEARCH_RESULT_ITEM_BODY","SEARCH_RESULT_ITEM_TITLE_CAPTION","PERMISSION_APP_NAME","PERMISSION_CAMERA","PERMISSION_DEVICE_STORAGE","PERMISSION_MICROPHONE","TYPING_INDICATOR_TYPINGS","users","NO_NAME","userNames","map","u","nickname","join","REPLY_FROM_SENDER_TO_RECEIVER","reply","parent","replySenderNickname","sender","userId","parentSenderNickname","MESSAGE_UNAVAILABLE","USER_BAR_ME_POSTFIX","USER_BAR_OPERATOR","REGISTER_AS_OPERATOR","UNREGISTER_OPERATOR","MUTE","UNMUTE","BAN","UNBAN","CHANNEL_MESSAGE_LIST_FROZEN","CHANNEL_MESSAGE_COPY","CHANNEL_MESSAGE_EDIT","CHANNEL_MESSAGE_SAVE","CHANNEL_MESSAGE_DELETE","CHANNEL_MESSAGE_REPLY","CHANNEL_MESSAGE_THREAD","CHANNEL_MESSAGE_MARK_AS_UNREAD","CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE","CHANNEL_MESSAGE_DELETE_CONFIRM_OK","CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL","CHANNEL_MESSAGE_FAILED_RETRY","CHANNEL_MESSAGE_FAILED_REMOVE","CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO","CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO","CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY","CHANNEL_INPUT_ATTACHMENT_FILES","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_REPLY","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_EDIT_OK","CHANNEL_INPUT_EDIT_CANCEL","CHANNEL_INPUT_REPLY_PREVIEW_TITLE","user","CHANNEL_INPUT_REPLY_PREVIEW_BODY","isFileMessage","messageType","type","toLowerCase","includes","isUserMessage","VOICE_MESSAGE","VOICE_MESSAGE_INPUT_CANCEL","REACTION","MORE_USERS","userCountDifference","FILE_VIEWER","TITLE","_message$sender","SUBTITLE","NO_BANNED_USERS","NO_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_MUTED_PARTICIPANTS","NO_RESULTS_FOUND","ERROR","MESSAGE","RETRY_LABEL","DIALOG","ALERT_DEFAULT_OK","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","permission","appName","ALERT_PERMISSIONS_OK","PROMPT_DEFAULT_OK","PROMPT_DEFAULT_CANCEL","PROMPT_DEFAULT_PLACEHOLDER","TOAST","COPY_OK","DOWNLOAD_START","DOWNLOAD_OK","DOWNLOAD_ERROR","OPEN_CAMERA_ERROR","OPEN_FILES_ERROR","OPEN_PHOTO_LIBRARY_ERROR","DELETE_MSG_ERROR","RESEND_MSG_ERROR","SEND_MSG_ERROR","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","UPDATE_MSG_ERROR","TURN_ON_NOTIFICATIONS_ERROR","TURN_OFF_NOTIFICATIONS_ERROR","LEAVE_CHANNEL_ERROR","UNKNOWN_ERROR","GET_CHANNEL_ERROR","FIND_PARENT_MSG_ERROR","THREAD_PARENT_MESSAGE_DELETED_ERROR","FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR","uploadSizeLimit","PROFILE_CARD","BUTTON_MESSAGE","BODY_LABEL","BODY"],"sources":["createBaseStringSet.ts"],"sourcesContent":["import type { Locale } from 'date-fns';\n\nimport { PartialDeep, SendbirdMessage, getThreadParentMessageTimeFormat } from '@sendbird/uikit-utils';\nimport {\n getDateSeparatorFormat,\n getGroupChannelPreviewTime,\n getGroupChannelTitle,\n getMessagePreviewBody,\n getMessagePreviewTime,\n getMessagePreviewTitle,\n getMessageTimeFormat,\n getMessageType,\n getOpenChannelParticipants,\n getOpenChannelTitle,\n getReplyCountFormat,\n isVoiceMessage,\n} from '@sendbird/uikit-utils';\n\nimport { UNKNOWN_USER_ID } from '../constants';\nimport type { StringSet } from './StringSet.type';\n\ntype StringSetCreateOptions = {\n dateLocale: Locale;\n overrides?: PartialDeep<StringSet>;\n};\n\n/**\n * Create string set\n * You can create localized String set, you should provide locale for date and string as a parameters\n *\n * @param {StringSetCreateOptions.dateLocale} dateLocale Date locale (from date-fns)\n * @param {StringSetCreateOptions.overrides} [overrides] Localized strings\n * */\nexport const createBaseStringSet = ({ dateLocale, overrides }: StringSetCreateOptions): StringSet => {\n const USER_NO_NAME = overrides?.LABELS?.USER_NO_NAME ?? '(No name)';\n const CHANNEL_NO_MEMBERS = overrides?.LABELS?.CHANNEL_NO_MEMBERS ?? '(No members)';\n\n return {\n OPEN_CHANNEL: {\n HEADER_TITLE: (channel) => getOpenChannelTitle(channel),\n HEADER_SUBTITLE: (channel) => getOpenChannelParticipants(channel),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n ...overrides?.OPEN_CHANNEL,\n },\n OPEN_CHANNEL_PARTICIPANTS: {\n HEADER_TITLE: 'Participants',\n ...overrides?.OPEN_CHANNEL_PARTICIPANTS,\n },\n OPEN_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n INFO_URL: 'URL',\n MENU_MODERATION: 'Moderation',\n MENU_PARTICIPANTS: 'Participants',\n MENU_DELETE_CHANNEL: 'Delete channel',\n DIALOG_CHANNEL_DELETE_CONFIRM_TITLE: 'Delete channel?',\n DIALOG_CHANNEL_DELETE_CONFIRM_OK: 'Delete',\n DIALOG_CHANNEL_DELETE_CONFIRM_CANCEL: 'Cancel',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_SETTINGS,\n },\n OPEN_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (channel) => getOpenChannelTitle(channel),\n ...overrides?.OPEN_CHANNEL_LIST,\n },\n OPEN_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: 'Create',\n PLACEHOLDER: 'Enter channel name',\n DIALOG_IMAGE_MENU_REMOVE: 'Remove photo',\n DIALOG_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.OPEN_CHANNEL_CREATE,\n },\n OPEN_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_PARTICIPANTS: 'Muted participants',\n MENU_BANNED_USERS: 'Banned users',\n ...overrides?.OPEN_CHANNEL_MODERATION,\n },\n OPEN_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.OPEN_CHANNEL_BANNED_USERS,\n },\n OPEN_CHANNEL_MUTED_PARTICIPANTS: {\n HEADER_TITLE: 'Muted participants',\n ...overrides?.OPEN_CHANNEL_MUTED_PARTICIPANTS,\n },\n OPEN_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.OPEN_CHANNEL_OPERATORS,\n },\n OPEN_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.OPEN_CHANNEL_REGISTER_OPERATOR,\n },\n GROUP_CHANNEL: {\n HEADER_TITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => {\n const count = newMessages.length;\n const displayCount = count >= 100 ? '99+' : count;\n return count === 1 ? `${displayCount} new message` : `${displayCount} new messages`;\n },\n LIST_FLOATING_UNREAD_MSG: (unreadMessageCount) => {\n const displayCount = unreadMessageCount >= 100 ? '99+' : unreadMessageCount;\n return unreadMessageCount === 1 ? `${displayCount} unread message` : `${displayCount} unread messages`;\n },\n LIST_NEW_LINE: 'New messages',\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL,\n },\n GROUP_CHANNEL_THREAD: {\n HEADER_TITLE: 'Thread',\n HEADER_SUBTITLE: (uid, channel) => getGroupChannelTitle(uid, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n LIST_DATE_SEPARATOR: (date, locale) => getDateSeparatorFormat(date, locale ?? dateLocale),\n LIST_BUTTON_NEW_MSG: (newMessages) => {\n const count = newMessages.length;\n const displayCount = count >= 100 ? '99+' : count;\n return count === 1 ? `${displayCount} new message` : `${displayCount} new messages`;\n },\n MESSAGE_BUBBLE_TIME: (message, locale) => getMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n MESSAGE_BUBBLE_FILE_TITLE: (message) => message.name,\n MESSAGE_BUBBLE_EDITED_POSTFIX: ' (edited)',\n MESSAGE_BUBBLE_UNKNOWN_TITLE: () => '(Unknown message type)',\n MESSAGE_BUBBLE_UNKNOWN_DESC: () => 'Cannot read this message.',\n\n PARENT_MESSAGE_TIME: (message: SendbirdMessage, locale?: Locale) =>\n getThreadParentMessageTimeFormat(new Date(message.createdAt), locale ?? dateLocale),\n REPLY_COUNT: (replyCount: number, maxReplyCount?: number) => getReplyCountFormat(replyCount, maxReplyCount),\n\n MENTION_LIMITED: (mentionLimit) => `You can have up to ${mentionLimit} mentions per message.`,\n ...overrides?.GROUP_CHANNEL_THREAD,\n },\n GROUP_CHANNEL_SETTINGS: {\n HEADER_TITLE: 'Channel information',\n HEADER_RIGHT: 'Edit',\n MENU_MODERATION: 'Moderation',\n MENU_MEMBERS: 'Members',\n MENU_SEARCH: 'Search in channel',\n MENU_LEAVE_CHANNEL: 'Leave channel',\n MENU_NOTIFICATION: 'Notifications',\n MENU_NOTIFICATION_LABEL_ON: 'On',\n MENU_NOTIFICATION_LABEL_OFF: 'Off',\n MENU_NOTIFICATION_LABEL_MENTION_ONLY: 'Mentions only',\n DIALOG_CHANGE_NAME: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_TITLE: 'Change channel name',\n DIALOG_CHANGE_NAME_PROMPT_PLACEHOLDER: 'Enter name',\n DIALOG_CHANGE_NAME_PROMPT_OK: 'Save',\n DIALOG_CHANGE_NAME_PROMPT_CANCEL: 'Cancel',\n DIALOG_CHANGE_IMAGE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_TITLE: 'Change channel image',\n DIALOG_CHANGE_IMAGE_MENU_CAMERA: 'Take photo',\n DIALOG_CHANGE_IMAGE_MENU_PHOTO_LIBRARY: 'Choose photo',\n ...overrides?.GROUP_CHANNEL_SETTINGS,\n },\n GROUP_CHANNEL_NOTIFICATIONS: {\n HEADER_TITLE: 'Notifications',\n MENU_NOTIFICATIONS: 'Notifications',\n MENU_NOTIFICATIONS_DESC:\n 'Turn on push notifications if you wish to be notified when messages are delivered to this channel.',\n MENU_NOTIFICATIONS_OPTION_ALL: 'All new messages',\n MENU_NOTIFICATIONS_OPTION_MENTION_ONLY: 'Mentions only',\n ...overrides?.GROUP_CHANNEL_NOTIFICATIONS,\n },\n GROUP_CHANNEL_MODERATION: {\n HEADER_TITLE: 'Moderation',\n MENU_OPERATORS: 'Operators',\n MENU_MUTED_MEMBERS: 'Muted members',\n MENU_BANNED_USERS: 'Banned users',\n MENU_FREEZE_CHANNEL: 'Freeze channel',\n ...overrides?.GROUP_CHANNEL_MODERATION,\n },\n GROUP_CHANNEL_OPERATORS: {\n HEADER_TITLE: 'Operators',\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_REGISTER_OPERATOR: {\n HEADER_TITLE: 'Set as operators',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Add';\n return `Add (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_OPERATORS,\n },\n GROUP_CHANNEL_MUTED_MEMBERS: {\n HEADER_TITLE: 'Muted members',\n ...overrides?.GROUP_CHANNEL_MUTED_MEMBERS,\n },\n GROUP_CHANNEL_BANNED_USERS: {\n HEADER_TITLE: 'Banned users',\n ...overrides?.GROUP_CHANNEL_BANNED_USERS,\n },\n GROUP_CHANNEL_LIST: {\n HEADER_TITLE: 'Channels',\n CHANNEL_PREVIEW_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n CHANNEL_PREVIEW_TITLE_CAPTION: (channel, locale) => getGroupChannelPreviewTime(channel, locale ?? dateLocale),\n CHANNEL_PREVIEW_BODY: (channel) => {\n if (!channel.lastMessage) return '';\n if (isVoiceMessage(channel.lastMessage)) return 'Voice message';\n return getMessagePreviewBody(channel.lastMessage);\n },\n TYPE_SELECTOR_HEADER_TITLE: 'Channel type',\n TYPE_SELECTOR_GROUP: 'Group',\n TYPE_SELECTOR_SUPER_GROUP: 'Super group',\n TYPE_SELECTOR_BROADCAST: 'Broadcast',\n DIALOG_CHANNEL_TITLE: (currentUserId, channel) =>\n getGroupChannelTitle(currentUserId, channel, USER_NO_NAME, CHANNEL_NO_MEMBERS),\n DIALOG_CHANNEL_NOTIFICATION: (channel) => {\n if (!channel) return '';\n if (channel.myPushTriggerOption === 'off') return 'Turn on notifications';\n return 'Turn off notifications';\n },\n DIALOG_CHANNEL_LEAVE: 'Leave channel',\n ...overrides?.GROUP_CHANNEL_LIST,\n },\n GROUP_CHANNEL_MEMBERS: {\n HEADER_TITLE: 'Members',\n ...overrides?.GROUP_CHANNEL_MEMBERS,\n },\n GROUP_CHANNEL_CREATE: {\n HEADER_TITLE: 'New channel',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Create';\n return `Create (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_CREATE,\n },\n GROUP_CHANNEL_INVITE: {\n HEADER_TITLE: 'Invite users',\n HEADER_RIGHT: ({ selectedUsers }) => {\n const len = selectedUsers.length;\n if (len === 0) return 'Invite';\n return `Invite (${len})`;\n },\n ...overrides?.GROUP_CHANNEL_INVITE,\n },\n MESSAGE_SEARCH: {\n HEADER_INPUT_PLACEHOLDER: 'Search',\n HEADER_RIGHT: 'Search',\n SEARCH_RESULT_ITEM_TITLE: (message) => getMessagePreviewTitle(message),\n SEARCH_RESULT_ITEM_BODY: (message) => {\n if (isVoiceMessage(message)) return 'Voice message';\n return getMessagePreviewBody(message);\n },\n SEARCH_RESULT_ITEM_TITLE_CAPTION: (message, locale) => {\n return getMessagePreviewTime(message.createdAt, locale ?? dateLocale);\n },\n },\n LABELS: {\n PERMISSION_APP_NAME: 'Application',\n PERMISSION_CAMERA: 'camera',\n PERMISSION_DEVICE_STORAGE: 'device storage',\n PERMISSION_MICROPHONE: 'microphone',\n USER_NO_NAME,\n CHANNEL_NO_MEMBERS,\n TYPING_INDICATOR_TYPINGS: (users, NO_NAME = USER_NO_NAME) => {\n const userNames = users.map((u) => u.nickname || NO_NAME);\n if (userNames.length === 0) return;\n if (userNames.length === 1) return `${userNames[0]} is typing...`;\n if (users.length === 2) return `${userNames.join(' and ')} are typing...`;\n return 'Several people are typing...';\n },\n REPLY_FROM_SENDER_TO_RECEIVER: (reply, parent, currentUserId = UNKNOWN_USER_ID) => {\n const replySenderNickname =\n reply.sender.userId === currentUserId ? 'You' : reply.sender.nickname || USER_NO_NAME;\n const parentSenderNickname =\n parent.sender.userId === currentUserId ? 'You' : parent.sender.nickname || USER_NO_NAME;\n return `${replySenderNickname} replied to ${parentSenderNickname}`;\n },\n MESSAGE_UNAVAILABLE: 'Message unavailable',\n\n USER_BAR_ME_POSTFIX: ' (You)',\n USER_BAR_OPERATOR: 'Operator',\n REGISTER_AS_OPERATOR: 'Register as operator',\n UNREGISTER_OPERATOR: 'Unregister operator',\n MUTE: 'Mute',\n UNMUTE: 'Unmute',\n BAN: 'Ban',\n UNBAN: 'Unban',\n CHANNEL_MESSAGE_LIST_FROZEN: 'Channel is frozen',\n CHANNEL_MESSAGE_COPY: 'Copy',\n CHANNEL_MESSAGE_EDIT: 'Edit',\n CHANNEL_MESSAGE_SAVE: 'Save',\n CHANNEL_MESSAGE_DELETE: 'Delete',\n CHANNEL_MESSAGE_REPLY: 'Reply',\n CHANNEL_MESSAGE_THREAD: 'Reply in thread',\n CHANNEL_MESSAGE_MARK_AS_UNREAD: 'Mark as unread',\n CHANNEL_MESSAGE_DELETE_CONFIRM_TITLE: 'Delete message?',\n CHANNEL_MESSAGE_DELETE_CONFIRM_OK: 'Delete',\n CHANNEL_MESSAGE_DELETE_CONFIRM_CANCEL: 'Cancel',\n CHANNEL_MESSAGE_FAILED_RETRY: 'Retry',\n CHANNEL_MESSAGE_FAILED_REMOVE: 'Remove',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_PHOTO: 'Take a photo',\n CHANNEL_INPUT_ATTACHMENT_CAMERA_VIDEO: 'Take a video',\n CHANNEL_INPUT_ATTACHMENT_PHOTO_LIBRARY: 'Photo library',\n CHANNEL_INPUT_ATTACHMENT_FILES: 'Files',\n CHANNEL_INPUT_PLACEHOLDER_ACTIVE: 'Enter message',\n CHANNEL_INPUT_PLACEHOLDER_DISABLED: 'Chat not available in this channel.',\n CHANNEL_INPUT_PLACEHOLDER_MUTED: \"You're muted by the operator.\",\n CHANNEL_INPUT_PLACEHOLDER_REPLY: 'Reply to message',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD: 'Reply in thread',\n CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD: 'Reply to thread',\n CHANNEL_INPUT_EDIT_OK: 'Save',\n CHANNEL_INPUT_EDIT_CANCEL: 'Cancel',\n CHANNEL_INPUT_REPLY_PREVIEW_TITLE: (user) => `Reply to ${user.nickname || USER_NO_NAME}`,\n CHANNEL_INPUT_REPLY_PREVIEW_BODY: (message) => {\n if (message.isFileMessage()) {\n const messageType = getMessageType(message);\n switch (messageType) {\n case 'file.image':\n return message.type.toLowerCase().includes('gif') ? 'GIF' : 'Photo';\n case 'file.video':\n return 'Video';\n case 'file.audio':\n return 'Audio';\n case 'file.voice':\n return 'Voice message';\n default:\n return message.name;\n }\n } else if (message.isUserMessage()) {\n return message.message;\n }\n return 'Unknown message';\n },\n VOICE_MESSAGE: 'Voice message',\n VOICE_MESSAGE_INPUT_CANCEL: 'Cancel',\n ...overrides?.LABELS,\n },\n REACTION: {\n MORE_USERS: (userCountDifference) => `And ${userCountDifference} others`,\n },\n FILE_VIEWER: {\n TITLE: (message) => message.sender?.nickname || USER_NO_NAME,\n SUBTITLE: (message) => getMessageTimeFormat(new Date(message.createdAt), dateLocale),\n },\n PLACEHOLDER: {\n NO_BANNED_USERS: 'No banned users',\n NO_USERS: 'No users',\n NO_CHANNELS: 'No channels',\n NO_MESSAGES: 'No messages',\n NO_MUTED_MEMBERS: 'No muted members',\n NO_MUTED_PARTICIPANTS: 'No muted participants',\n NO_RESULTS_FOUND: 'No results found',\n ...overrides?.PLACEHOLDER,\n ERROR: {\n MESSAGE: 'Something went wrong',\n RETRY_LABEL: 'Retry',\n ...overrides?.PLACEHOLDER?.ERROR,\n },\n },\n DIALOG: {\n ALERT_DEFAULT_OK: 'OK',\n ALERT_PERMISSIONS_TITLE: 'Allow access?',\n ALERT_PERMISSIONS_MESSAGE: (permission, appName = 'Application') => {\n return `${appName} needs permission to access your ${permission}.`;\n },\n ALERT_PERMISSIONS_OK: 'Go to settings',\n PROMPT_DEFAULT_OK: 'Submit',\n PROMPT_DEFAULT_CANCEL: 'Cancel',\n PROMPT_DEFAULT_PLACEHOLDER: 'Enter',\n ...overrides?.DIALOG,\n },\n TOAST: {\n COPY_OK: 'Copied',\n DOWNLOAD_START: 'Downloading...',\n DOWNLOAD_OK: 'File saved',\n DOWNLOAD_ERROR: \"Couldn't download file.\",\n OPEN_CAMERA_ERROR: \"Couldn't open camera.\",\n OPEN_FILES_ERROR: \"Couldn't open files.\",\n OPEN_PHOTO_LIBRARY_ERROR: \"Couldn't open photo library.\",\n DELETE_MSG_ERROR: \"Couldn't delete message.\",\n RESEND_MSG_ERROR: \"Couldn't send message.\",\n SEND_MSG_ERROR: \"Couldn't send message.\",\n USER_MUTED_ERROR: \"You're muted by the operator.\",\n CHANNEL_FROZEN_ERROR: 'Channel is frozen.',\n UPDATE_MSG_ERROR: \"Couldn't edit message.\",\n TURN_ON_NOTIFICATIONS_ERROR: \"Couldn't turn on notifications.\",\n TURN_OFF_NOTIFICATIONS_ERROR: \"Couldn't turn off notifications.\",\n LEAVE_CHANNEL_ERROR: \"Couldn't leave channel.\",\n UNKNOWN_ERROR: 'Something went wrong.',\n GET_CHANNEL_ERROR: \"Couldn't retrieve channel.\",\n FIND_PARENT_MSG_ERROR: \"Couldn't find the original message for this reply.\",\n THREAD_PARENT_MESSAGE_DELETED_ERROR: \"The thread doesn't exist because the parent message was deleted.\",\n FILE_UPLOAD_SIZE_LIMIT_EXCEEDED_ERROR: (uploadSizeLimit: string) => {\n return `The maximum size per file is ${uploadSizeLimit}.`;\n },\n ...overrides?.TOAST,\n },\n PROFILE_CARD: {\n BUTTON_MESSAGE: 'Message',\n BODY_LABEL: 'User ID',\n BODY: (user) => user.userId,\n ...overrides?.PROFILE_CARD,\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.10.0';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,QAAQ;AACxB,eAAeA,OAAO","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import { FlatList, FlatListProps } from 'react-native';
|
|
|
3
3
|
import { BottomSheetItem } from '@sendbird/uikit-react-native-foundation';
|
|
4
4
|
import { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessage, SendbirdOpenChannel, SendbirdUserMessage } from '@sendbird/uikit-utils';
|
|
5
5
|
import type { UserProfileContextType } from '../../contexts/UserProfileCtx';
|
|
6
|
+
import { UnreadMessagesFloatingProps } from '../UnreadMessagesFloating';
|
|
6
7
|
type HandleableMessage = SendbirdUserMessage | SendbirdFileMessage;
|
|
7
8
|
export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpenChannel> = {
|
|
8
9
|
enableMessageGrouping: boolean;
|
|
@@ -10,6 +11,7 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
10
11
|
channel: T;
|
|
11
12
|
messages: SendbirdMessage[];
|
|
12
13
|
newMessages: SendbirdMessage[];
|
|
14
|
+
unreadFirstMessage?: SendbirdMessage;
|
|
13
15
|
searchItem?: {
|
|
14
16
|
startingPoint: number;
|
|
15
17
|
};
|
|
@@ -27,6 +29,7 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
27
29
|
onResendFailedMessage: (failedMessage: HandleableMessage) => Promise<HandleableMessage | void>;
|
|
28
30
|
onPressParentMessage?: (parentMessage: SendbirdMessage, childMessage: HandleableMessage) => void;
|
|
29
31
|
onPressMediaMessage?: (message: SendbirdFileMessage, deleteMessage: () => Promise<void>, uri: string) => void;
|
|
32
|
+
onPressMarkAsUnreadMessage?: (message: HandleableMessage) => void;
|
|
30
33
|
renderMessage: (props: {
|
|
31
34
|
focused: boolean;
|
|
32
35
|
message: SendbirdMessage;
|
|
@@ -42,6 +45,7 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
42
45
|
enableMessageGrouping: ChannelMessageListProps<T>['enableMessageGrouping'];
|
|
43
46
|
bottomSheetItem?: BottomSheetItem;
|
|
44
47
|
isFirstItem: boolean;
|
|
48
|
+
isFirstUnreadMessage?: boolean;
|
|
45
49
|
hideParentMessage?: boolean;
|
|
46
50
|
}) => React.ReactElement | null;
|
|
47
51
|
renderNewMessagesButton: null | ((props: {
|
|
@@ -53,10 +57,13 @@ export type ChannelMessageListProps<T extends SendbirdGroupChannel | SendbirdOpe
|
|
|
53
57
|
visible: boolean;
|
|
54
58
|
onPress: () => void;
|
|
55
59
|
}) => React.ReactElement | null);
|
|
60
|
+
renderUnreadMessagesFloating?: null | ((props: UnreadMessagesFloatingProps) => React.ReactElement | null);
|
|
61
|
+
unreadMessagesFloatingProps?: UnreadMessagesFloatingProps;
|
|
56
62
|
flatListComponent?: React.ComponentType<FlatListProps<SendbirdMessage>>;
|
|
57
63
|
flatListProps?: Omit<FlatListProps<SendbirdMessage>, 'data' | 'renderItem'>;
|
|
64
|
+
onViewableItemsChanged?: FlatListProps<SendbirdMessage>['onViewableItemsChanged'];
|
|
58
65
|
} & {
|
|
59
66
|
ref?: Ref<FlatList<SendbirdMessage>> | undefined;
|
|
60
67
|
};
|
|
61
|
-
declare const _default: <T extends import("@sendbird/chat/openChannel").OpenChannel | import("@sendbird/chat/groupChannel").GroupChannel>({ searchItem, hasNext, channel, onEditMessage, onReplyMessage, onReplyInThreadMessage, onDeleteMessage, onResendFailedMessage, onPressMediaMessage, onPressParentMessage, currentUserId, renderNewMessagesButton, renderScrollToBottomButton, renderMessage, messages, newMessages, enableMessageGrouping, onScrolledAwayFromBottom, scrolledAwayFromBottom, onBottomReached, onTopReached, flatListComponent, flatListProps, onPressNewMessagesButton, onPressScrollToBottomButton, }: ChannelMessageListProps<T>, ref: React.ForwardedRef<FlatList<SendbirdMessage>>) => React.JSX.Element;
|
|
68
|
+
declare const _default: <T extends import("@sendbird/chat/openChannel").OpenChannel | import("@sendbird/chat/groupChannel").GroupChannel>({ searchItem, hasNext, channel, onEditMessage, onReplyMessage, onReplyInThreadMessage, onDeleteMessage, onResendFailedMessage, onPressMediaMessage, onPressParentMessage, onPressMarkAsUnreadMessage, currentUserId, renderUnreadMessagesFloating, renderNewMessagesButton, renderScrollToBottomButton, renderMessage, messages, newMessages, unreadFirstMessage, enableMessageGrouping, onScrolledAwayFromBottom, scrolledAwayFromBottom, onBottomReached, onTopReached, flatListComponent, flatListProps, onViewableItemsChanged, onPressNewMessagesButton, onPressScrollToBottomButton, unreadMessagesFloatingProps, }: ChannelMessageListProps<T>, ref: React.ForwardedRef<FlatList<SendbirdMessage>>) => React.JSX.Element;
|
|
62
69
|
export default _default;
|
|
@@ -18,6 +18,7 @@ declare const _default: React.MemoExoticComponent<(props: {
|
|
|
18
18
|
enableMessageGrouping: boolean;
|
|
19
19
|
bottomSheetItem?: import("@sendbird/uikit-react-native-foundation").BottomSheetItem | undefined;
|
|
20
20
|
isFirstItem: boolean;
|
|
21
|
+
isFirstUnreadMessage?: boolean | undefined;
|
|
21
22
|
hideParentMessage?: boolean | undefined;
|
|
22
23
|
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null>;
|
|
23
24
|
export default _default;
|
|
@@ -17,6 +17,7 @@ declare const _default: React.MemoExoticComponent<(props: {
|
|
|
17
17
|
enableMessageGrouping: boolean;
|
|
18
18
|
bottomSheetItem?: import("@sendbird/uikit-react-native-foundation").BottomSheetItem | undefined;
|
|
19
19
|
isFirstItem: boolean;
|
|
20
|
+
isFirstUnreadMessage?: boolean | undefined;
|
|
20
21
|
hideParentMessage?: boolean | undefined;
|
|
21
22
|
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null>;
|
|
22
23
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type UnreadMessagesFloatingProps = {
|
|
3
|
+
unreadMessageCount: number;
|
|
4
|
+
visible: boolean;
|
|
5
|
+
onPressClose: () => void;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: React.MemoExoticComponent<({ unreadMessageCount, visible, onPressClose }: UnreadMessagesFloatingProps) => React.JSX.Element | null>;
|
|
8
|
+
export default _default;
|
|
@@ -14,7 +14,7 @@ import type { StringSet } from '../localization/StringSet.type';
|
|
|
14
14
|
import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface, PlayerServiceInterface, RecorderServiceInterface } from '../platform/types';
|
|
15
15
|
import { ErrorBoundaryProps, LocalCacheStorage } from '../types';
|
|
16
16
|
export declare const SendbirdUIKit: Readonly<{
|
|
17
|
-
VERSION: "3.
|
|
17
|
+
VERSION: "3.10.0";
|
|
18
18
|
PLATFORM: string;
|
|
19
19
|
DEFAULT: {
|
|
20
20
|
AUTO_PUSH_TOKEN_REGISTRATION: boolean;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onBottomReached" | "onTopReached" | "onScrolledAwayFromBottom" | "flatListComponent" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
|
|
2
|
+
declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onBottomReached" | "onTopReached" | "onScrolledAwayFromBottom" | "flatListComponent" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderUnreadMessagesFloating" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
|
|
3
3
|
onResetMessageList: () => Promise<void>;
|
|
4
4
|
onResetMessageListWithStartingPoint: (startingPoint: number) => Promise<void>;
|
|
5
5
|
onUpdateSearchItem: (searchItem?: {
|
|
6
6
|
startingPoint: number;
|
|
7
7
|
} | undefined) => void;
|
|
8
|
+
hasPrevious?: (() => boolean) | undefined;
|
|
9
|
+
resetNewMessages?: (() => void) | undefined;
|
|
10
|
+
isNewLineExistInChannel?: boolean | undefined;
|
|
11
|
+
onNewLineSeenChange?: ((hasSeenNewLine: boolean) => void) | undefined;
|
|
12
|
+
onUserMarkedAsUnreadChange?: ((hasUserMarkedAsUnread: boolean) => void) | undefined;
|
|
8
13
|
}) => React.JSX.Element>;
|
|
9
14
|
export default _default;
|
|
@@ -23,6 +23,7 @@ export interface GroupChannelProps {
|
|
|
23
23
|
renderMessage?: GroupChannelProps['MessageList']['renderMessage'];
|
|
24
24
|
renderNewMessagesButton?: GroupChannelProps['MessageList']['renderNewMessagesButton'];
|
|
25
25
|
renderScrollToBottomButton?: GroupChannelProps['MessageList']['renderScrollToBottomButton'];
|
|
26
|
+
renderUnreadMessagesFloating?: GroupChannelProps['MessageList']['renderUnreadMessagesFloating'];
|
|
26
27
|
enableTypingIndicator?: GroupChannelProps['Provider']['enableTypingIndicator'];
|
|
27
28
|
enableMessageGrouping?: GroupChannelProps['MessageList']['enableMessageGrouping'];
|
|
28
29
|
keyboardAvoidOffset?: GroupChannelProps['Provider']['keyboardAvoidOffset'];
|
|
@@ -46,10 +47,15 @@ export interface GroupChannelProps {
|
|
|
46
47
|
onPressHeaderLeft: () => void;
|
|
47
48
|
onPressHeaderRight: () => void;
|
|
48
49
|
};
|
|
49
|
-
MessageList: Pick<ChannelMessageListProps<SendbirdGroupChannel>, 'enableMessageGrouping' | 'currentUserId' | 'channel' | 'messages' | 'newMessages' | 'scrolledAwayFromBottom' | 'onScrolledAwayFromBottom' | 'onTopReached' | 'onBottomReached' | 'onResendFailedMessage' | 'onDeleteMessage' | 'onPressMediaMessage' | 'renderMessage' | 'renderNewMessagesButton' | 'renderScrollToBottomButton' | 'flatListComponent' | 'flatListProps' | 'hasNext' | 'searchItem'> & {
|
|
50
|
+
MessageList: Pick<ChannelMessageListProps<SendbirdGroupChannel>, 'enableMessageGrouping' | 'currentUserId' | 'channel' | 'messages' | 'newMessages' | 'scrolledAwayFromBottom' | 'onScrolledAwayFromBottom' | 'onTopReached' | 'onBottomReached' | 'onResendFailedMessage' | 'onDeleteMessage' | 'onPressMediaMessage' | 'renderMessage' | 'renderNewMessagesButton' | 'renderScrollToBottomButton' | 'renderUnreadMessagesFloating' | 'flatListComponent' | 'flatListProps' | 'hasNext' | 'searchItem'> & {
|
|
50
51
|
onResetMessageList: () => Promise<void>;
|
|
51
52
|
onResetMessageListWithStartingPoint: (startingPoint: number) => Promise<void>;
|
|
52
53
|
onUpdateSearchItem: (searchItem?: GroupChannelProps['MessageList']['searchItem']) => void;
|
|
54
|
+
hasPrevious?: () => boolean;
|
|
55
|
+
resetNewMessages?: () => void;
|
|
56
|
+
isNewLineExistInChannel?: boolean;
|
|
57
|
+
onNewLineSeenChange?: (hasSeenNewLine: boolean) => void;
|
|
58
|
+
onUserMarkedAsUnreadChange?: (hasUserMarkedAsUnread: boolean) => void;
|
|
53
59
|
};
|
|
54
60
|
Input: PickPartial<ChannelInputProps, 'shouldRenderInput' | 'onPressSendUserMessage' | 'onPressSendFileMessage' | 'onPressUpdateUserMessage' | 'onPressUpdateFileMessage' | 'SuggestedMentionList' | 'AttachmentsButton', 'inputDisabled'>;
|
|
55
61
|
SuggestedMentionList: SuggestedMentionListProps;
|
|
@@ -149,4 +155,10 @@ export type GroupChannelPubSubContextPayload = {
|
|
|
149
155
|
} | {
|
|
150
156
|
type: 'TYPING_BUBBLE_RENDERED';
|
|
151
157
|
data?: undefined;
|
|
158
|
+
} | {
|
|
159
|
+
type: 'ON_MARKED_AS_READ_BY_CURRENT_USER';
|
|
160
|
+
data?: undefined;
|
|
161
|
+
} | {
|
|
162
|
+
type: 'ON_MARKED_AS_UNREAD_BY_CURRENT_USER';
|
|
163
|
+
data?: undefined;
|
|
152
164
|
};
|