stream-chat-react-native-core 5.25.0-beta.2 → 5.25.0-beta.3

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.
Files changed (49) hide show
  1. package/lib/commonjs/components/MessageInput/MessageInput.js +2 -2
  2. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  3. package/lib/commonjs/i18n/es.json +24 -24
  4. package/lib/commonjs/i18n/fr.json +24 -24
  5. package/lib/commonjs/i18n/he.json +24 -24
  6. package/lib/commonjs/i18n/hi.json +24 -24
  7. package/lib/commonjs/i18n/it.json +24 -24
  8. package/lib/commonjs/i18n/ja.json +24 -24
  9. package/lib/commonjs/i18n/ko.json +24 -24
  10. package/lib/commonjs/i18n/nl.json +24 -24
  11. package/lib/commonjs/i18n/ru.json +25 -25
  12. package/lib/commonjs/i18n/tr.json +24 -24
  13. package/lib/commonjs/version.json +1 -1
  14. package/lib/module/components/MessageInput/MessageInput.js +2 -2
  15. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  16. package/lib/module/i18n/es.json +24 -24
  17. package/lib/module/i18n/fr.json +24 -24
  18. package/lib/module/i18n/he.json +24 -24
  19. package/lib/module/i18n/hi.json +24 -24
  20. package/lib/module/i18n/it.json +24 -24
  21. package/lib/module/i18n/ja.json +24 -24
  22. package/lib/module/i18n/ko.json +24 -24
  23. package/lib/module/i18n/nl.json +24 -24
  24. package/lib/module/i18n/ru.json +25 -25
  25. package/lib/module/i18n/tr.json +24 -24
  26. package/lib/module/version.json +1 -1
  27. package/lib/typescript/i18n/es.json +24 -24
  28. package/lib/typescript/i18n/fr.json +24 -24
  29. package/lib/typescript/i18n/he.json +24 -24
  30. package/lib/typescript/i18n/hi.json +24 -24
  31. package/lib/typescript/i18n/it.json +24 -24
  32. package/lib/typescript/i18n/ja.json +24 -24
  33. package/lib/typescript/i18n/ko.json +24 -24
  34. package/lib/typescript/i18n/nl.json +24 -24
  35. package/lib/typescript/i18n/ru.json +25 -25
  36. package/lib/typescript/i18n/tr.json +24 -24
  37. package/package.json +1 -1
  38. package/src/components/MessageInput/MessageInput.tsx +1 -1
  39. package/src/i18n/es.json +24 -24
  40. package/src/i18n/fr.json +24 -24
  41. package/src/i18n/he.json +24 -24
  42. package/src/i18n/hi.json +24 -24
  43. package/src/i18n/it.json +24 -24
  44. package/src/i18n/ja.json +24 -24
  45. package/src/i18n/ko.json +24 -24
  46. package/src/i18n/nl.json +24 -24
  47. package/src/i18n/ru.json +25 -25
  48. package/src/i18n/tr.json +24 -24
  49. package/src/version.json +1 -1
@@ -566,9 +566,9 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
566
566
  columnNumber: 9
567
567
  }
568
568
  })), triggerType && suggestions ? _react["default"].createElement(_reactNative.View, {
569
- style: [styles.suggestionsListContainer, suggestionListContainer, {
569
+ style: [styles.suggestionsListContainer, {
570
570
  bottom: height
571
- }],
571
+ }, suggestionListContainer],
572
572
  __self: _this,
573
573
  __source: {
574
574
  fileName: _jsxFileName,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useCountdown2","_contexts","_AttachmentPickerContext","_ChannelContext","_MessageInputContext","_MessagesContext","_OwnCapabilitiesContext","_SuggestionsContext","_ThemeContext","_ThreadContext","_TranslationContext","_AttachmentSelectionBar","_AutoCompleteInput","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","styles","StyleSheet","create","attachmentSeparator","borderBottomWidth","marginBottom","autoCompleteInputContainer","alignItems","flexDirection","paddingLeft","paddingRight","composerContainer","container","borderTopWidth","padding","inputBoxContainer","borderRadius","borderWidth","flex","optionsContainer","paddingBottom","replyContainer","paddingHorizontal","sendButtonContainer","suggestionsListContainer","position","width","MessageInputWithContext","props","additionalTextInputProps","asyncIds","asyncUploads","AutoCompleteSuggestionList","closeAttachmentPicker","cooldownEndsAt","CooldownTimer","disabled","editing","FileUploadPreview","fileUploads","giphyActive","ImageUploadPreview","imageUploads","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isOnline","isValidMessage","maxNumberOfFiles","members","mentionedUsers","numberOfUploads","quotedMessage","removeFile","removeImage","Reply","resetInput","SendButton","sending","sendMessageAsync","setShowMoreOptions","ShowThreadMessageInChannelButton","suggestions","thread","threadList","triggerType","uploadNewFile","uploadNewImage","watchers","_useState","useState","_useState2","_slicedToArray2","height","setHeight","_useTranslationContex","useTranslationContext","t","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","border","grey_whisper","white","white_smoke","_useTheme$theme$messa","messageInput","attachmentSelectionBar","focusedInputBoxContainer","suggestionListContainer","_useAttachmentPickerC","useAttachmentPickerContext","attachmentPickerBottomSheetHeight","attachmentSelectionBarHeight","bottomInset","selectedFiles","selectedImages","selectedPicker","setMaxNumberOfFiles","setSelectedFiles","setSelectedImages","_useCountdown","useCountdown","cooldownRemainingSeconds","seconds","useEffect","_useState3","_useState4","hasResetImages","setHasResetImages","_useState5","_useState6","hasResetFiles","setHasResetFiles","_useState7","_useState8","focused","setFocused","selectedImagesLength","imageUploadsLength","selectedFilesLength","fileUploadsLength","imagesForInput","forEach","image","id","file","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","uploadImagesHandler","imageToUpload","find","selectedImage","uploadedImage","imageUpload","uri","url","Number","size","Alert","alert","filter","removeImagesHandler","imagesToRemove","fileToUpload","selectedFile","uploadedFile","fileUpload","filesToRemove","updatedSelectedImages","map","source","Boolean","updatedSelectedFiles","duration","mimeType","editingExists","current","focus","asyncIdsString","join","asyncUploadsString","values","_ref","state","keys","getMembers","result","member","user","push","getUsers","users","concat","_toConsumableArray2","getWatchers","uniqueUsers","_iterator","_step","usersArray","apply","additionalTextInputContainerProps","_extends2","editable","undefined","memoizedAdditionalTextInputProps","useMemo","onBlur","event","onFocus","createElement","Fragment","View","onLayout","_ref2","newHeight","nativeEvent","layout","style","backgroundColor","borderColor","__self","__source","fileName","lineNumber","columnNumber","paddingVertical","quoted_message","borderBottomColor","marginHorizontal","AutoCompleteInput","cooldownActive","bottom","active","data","onSelect","queryText","AttachmentSelectionBar","areEqual","prevProps","nextProps","prevAdditionalTextInputProps","prevAsyncUploads","prevDisabled","prevEditing","prevFileUploads","prevGiphyActive","prevImageUploads","prevIsOnline","prevIsValidMessage","prevMentionedUsers","prevQuotedMessage","prevSending","prevShowMoreOptions","showMoreOptions","prevSuggestions","prevT","prevThread","prevThreadList","nextAdditionalTextInputProps","nextAsyncUploads","nextDisabled","nextEditing","nextFileUploads","nextGiphyActive","nextImageUploads","nextIsOnline","nextIsValidMessage","nextMentionedUsers","nextQuotedMessage","nextSending","nextShowMoreOptions","nextSuggestions","nextT","nextThread","nextThreadList","tEqual","additionalTextInputPropsEven","disabledEqual","editingEqual","imageUploadsEqual","giphyActiveEqual","quotedMessageEqual","sendingEqual","showMoreOptionsEqual","isOnlineEqual","isValidMessageEqual","asyncUploadsEqual","every","fileUploadsEqual","mentionedUsersEqual","suggestionsEqual","_ref3","index","threadEqual","text","reply_count","threadListEqual","MemoizedMessageInput","React","memo","MessageInput","_useChatContext","useChatContext","ownCapabilities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","_useChannelContext$di","_useMessageInputConte","useMessageInputContext","clearEditingState","clearQuotedMessageState","SendMessageDisallowedIndicator","setGiphyActive","_useMessagesContext","useMessagesContext","_useSuggestionsContex","useSuggestionsContext","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","_useThreadContext","useThreadContext","_useTranslationContex2","sendMessage","exports","displayName"],"sources":["MessageInput.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Alert,\n NativeSyntheticEvent,\n StyleSheet,\n TextInputFocusEventData,\n View,\n} from 'react-native';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { useCountdown } from './hooks/useCountdown';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport type { Asset, DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentSelectionBar } from '../AttachmentPicker/components/AttachmentSelectionBar';\nimport { AutoCompleteInput } from '../AutoCompleteInput/AutoCompleteInput';\n\nconst styles = StyleSheet.create({\n attachmentSeparator: {\n borderBottomWidth: 1,\n marginBottom: 10,\n },\n autoCompleteInputContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 16,\n paddingRight: 16,\n },\n composerContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n container: {\n borderTopWidth: 1,\n padding: 10,\n },\n inputBoxContainer: {\n borderRadius: 20,\n borderWidth: 1,\n flex: 1,\n },\n optionsContainer: {\n flexDirection: 'row',\n paddingBottom: 10,\n paddingRight: 10,\n },\n replyContainer: { paddingBottom: 12, paddingHorizontal: 8 },\n sendButtonContainer: { paddingBottom: 10, paddingLeft: 10 },\n suggestionsListContainer: {\n position: 'absolute',\n width: '100%',\n },\n});\n\ntype MessageInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'isOnline'> &\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'disabled' | 'members' | 'threadList' | 'watchers'\n > &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'asyncIds'\n | 'asyncUploads'\n | 'cooldownEndsAt'\n | 'CooldownTimer'\n | 'clearEditingState'\n | 'clearQuotedMessageState'\n | 'closeAttachmentPicker'\n | 'editing'\n | 'FileUploadPreview'\n | 'fileUploads'\n | 'giphyActive'\n | 'ImageUploadPreview'\n | 'imageUploads'\n | 'Input'\n | 'inputBoxRef'\n | 'InputButtons'\n | 'InputEditingStateHeader'\n | 'InputGiphySearch'\n | 'InputReplyStateHeader'\n | 'isValidMessage'\n | 'maxNumberOfFiles'\n | 'mentionedUsers'\n | 'numberOfUploads'\n | 'quotedMessage'\n | 'resetInput'\n | 'SendButton'\n | 'sending'\n | 'sendMessageAsync'\n | 'setShowMoreOptions'\n | 'setGiphyActive'\n | 'showMoreOptions'\n | 'ShowThreadMessageInChannelButton'\n | 'removeFile'\n | 'removeImage'\n | 'uploadNewFile'\n | 'uploadNewImage'\n > &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Reply'> &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n | 'AutoCompleteSuggestionHeader'\n | 'AutoCompleteSuggestionItem'\n | 'AutoCompleteSuggestionList'\n | 'suggestions'\n | 'triggerType'\n > &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'> &\n Pick<TranslationContextValue, 't'>;\n\nconst MessageInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionList,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setShowMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n } = props;\n\n const [height, setHeight] = useState(0);\n const { t } = useTranslationContext();\n\n const {\n theme: {\n colors: { border, grey_whisper, white, white_smoke },\n messageInput: {\n attachmentSelectionBar,\n autoCompleteInputContainer,\n composerContainer,\n container,\n focusedInputBoxContainer,\n inputBoxContainer,\n optionsContainer,\n replyContainer,\n sendButtonContainer,\n suggestionsListContainer: { container: suggestionListContainer },\n },\n },\n } = useTheme();\n\n const {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setMaxNumberOfFiles,\n setSelectedFiles,\n setSelectedImages,\n } = useAttachmentPickerContext();\n\n const { seconds: cooldownRemainingSeconds } = useCountdown(cooldownEndsAt);\n\n /**\n * Mounting and un-mounting logic are un-related in following useEffect.\n * While mounting we want to pass maxNumberOfFiles (which is prop on Channel component)\n * to AttachmentPicker (on OverlayProvider)\n *\n * While un-mounting, we want to close the picker e.g., while navigating away.\n */\n useEffect(() => {\n setMaxNumberOfFiles(maxNumberOfFiles ?? 10);\n\n return closeAttachmentPicker;\n }, []);\n\n const [hasResetImages, setHasResetImages] = useState(false);\n const [hasResetFiles, setHasResetFiles] = useState(false);\n const [focused, setFocused] = useState(false);\n const selectedImagesLength = hasResetImages ? selectedImages.length : 0;\n const imageUploadsLength = hasResetImages ? imageUploads.length : 0;\n const selectedFilesLength = hasResetFiles ? selectedFiles.length : 0;\n const fileUploadsLength = hasResetFiles ? fileUploads.length : 0;\n const imagesForInput = (!!thread && !!threadList) || (!thread && !threadList);\n\n useEffect(() => {\n setSelectedImages([]);\n if (imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n return () => setSelectedImages([]);\n }, []);\n\n useEffect(() => {\n setSelectedFiles([]);\n if (fileUploads.length) {\n fileUploads.forEach((file) => removeFile(file.id));\n }\n return () => setSelectedFiles([]);\n }, []);\n\n useEffect(() => {\n if (hasResetImages === false && imageUploadsLength === 0 && selectedImagesLength === 0) {\n setHasResetImages(true);\n }\n }, [imageUploadsLength, selectedImagesLength]);\n\n useEffect(() => {\n if (hasResetFiles === false && fileUploadsLength === 0 && selectedFilesLength === 0) {\n setHasResetFiles(true);\n }\n }, [fileUploadsLength, selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput === false && imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n }, [imagesForInput]);\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n const uploadImagesHandler = () => {\n const imageToUpload = selectedImages.find((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return !uploadedImage;\n });\n // Check if the file size of the image exceeds the threshold of 100MB\n if (\n imageToUpload &&\n Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedImages(\n selectedImages.filter((selectedImage) => selectedImage.uri !== imageToUpload.uri),\n );\n } else {\n if (imageToUpload) uploadNewImage(imageToUpload);\n }\n };\n\n const removeImagesHandler = () => {\n const imagesToRemove = imageUploads.filter(\n (imageUpload) =>\n !selectedImages.find(\n (selectedImage) =>\n selectedImage.uri === imageUpload.file.uri || selectedImage.uri === imageUpload.url,\n ),\n );\n imagesToRemove.forEach((image) => removeImage(image.id));\n };\n\n useEffect(() => {\n if (imagesForInput) {\n if (selectedImagesLength > imageUploadsLength) {\n /** User selected an image in bottom sheet attachment picker */\n uploadImagesHandler();\n } else {\n /** User de-selected an image in bottom sheet attachment picker */\n removeImagesHandler();\n }\n }\n }, [selectedImagesLength]);\n\n useEffect(() => {\n if (selectedFilesLength > fileUploadsLength) {\n /** User selected a video in bottom sheet attachment picker */\n const fileToUpload = selectedFiles.find((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return !uploadedFile;\n });\n // Check if the file size exceeds the threshold of 100MB\n if (\n fileToUpload &&\n Number(fileToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedFiles(\n selectedFiles.filter((selectedFile) => selectedFile.uri !== fileToUpload.uri),\n );\n } else {\n if (fileToUpload) uploadNewFile(fileToUpload);\n }\n } else {\n /** User de-selected a video in bottom sheet attachment picker */\n const filesToRemove = fileUploads.filter(\n (fileUpload) =>\n !selectedFiles.find(\n (selectedFile) =>\n selectedFile.uri === fileUpload.file.uri || selectedFile.uri === fileUpload.url,\n ),\n );\n filesToRemove.forEach((file) => removeFile(file.id));\n }\n }, [selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput) {\n if (imageUploadsLength < selectedImagesLength) {\n /** User removed some image from seleted images within ImageUploadPreview. */\n const updatedSelectedImages = selectedImages.filter((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return uploadedImage;\n });\n setSelectedImages(updatedSelectedImages);\n } else if (imageUploadsLength > selectedImagesLength) {\n /**\n * User is editing some message which contains image attachments OR\n * image attachment is added from custom image picker (other than the default bottomsheet image picker)\n * using `uploadNewImage` function from `MessageInputContext`.\n **/\n setSelectedImages(\n imageUploads\n .map((imageUpload) => ({\n height: imageUpload.file.height,\n source: imageUpload.file.source,\n uri: imageUpload.url || imageUpload.file.uri,\n width: imageUpload.file.width,\n }))\n .filter(Boolean) as Asset[],\n );\n }\n }\n }, [imageUploadsLength]);\n\n useEffect(() => {\n if (fileUploadsLength < selectedFilesLength) {\n /** User removed some video from seleted files within ImageUploadPreview. */\n const updatedSelectedFiles = selectedFiles.filter((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return uploadedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n } else if (fileUploadsLength > selectedFilesLength) {\n /**\n * User is editing some message which contains video attachments OR\n * video attachment is added from custom image picker (other than the default bottom-sheet image picker)\n * using `uploadNewFile` function from `MessageInputContext`.\n **/\n setSelectedFiles(\n fileUploads.map((fileUpload) => ({\n duration: fileUpload.file.duration,\n mimeType: fileUpload.file.mimeType,\n name: fileUpload.file.name,\n size: fileUpload.file.size,\n uri: fileUpload.file.uri,\n })),\n );\n }\n }, [fileUploadsLength]);\n\n const editingExists = !!editing;\n useEffect(() => {\n if (editing && inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n\n /**\n * Make sure to test `initialValue` functionality, if you are modifying following condition.\n *\n * We have the following condition, to make sure - when user comes out of \"editing message\" state,\n * we wipe out all the state around message input such as text, mentioned users, image uploads etc.\n * But it also means, this condition will be fired up on first render, which may result in clearing\n * the initial value set on input box, through the prop - `initialValue`.\n * This prop generally gets used for the case of draft message functionality.\n */\n if (\n !editing &&\n (giphyActive ||\n fileUploads.length > 0 ||\n mentionedUsers.length > 0 ||\n imageUploads.length > 0 ||\n numberOfUploads > 0)\n ) {\n resetInput();\n }\n }, [editingExists]);\n\n const asyncIdsString = asyncIds.join();\n const asyncUploadsString = Object.values(asyncUploads)\n .map(({ state, url }) => `${state}${url}`)\n .join();\n useEffect(() => {\n if (Object.keys(asyncUploads).length) {\n /**\n * When successful image upload response occurs after hitting send,\n * send a follow up message with the image\n */\n sending.current = true;\n asyncIds.forEach((id) => sendMessageAsync(id));\n sending.current = false;\n }\n }, [asyncIdsString, asyncUploadsString, sendMessageAsync]);\n\n const getMembers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (members && Object.values(members).length) {\n Object.values(members).forEach((member) => {\n if (member.user) {\n result.push(member.user);\n }\n });\n }\n\n return result;\n };\n\n const getUsers = () => {\n const users = [...getMembers(), ...getWatchers()];\n\n // make sure we don't list users twice\n const uniqueUsers: { [key: string]: UserResponse<StreamChatGenerics> } = {};\n for (const user of users) {\n if (user && !uniqueUsers[user.id]) {\n uniqueUsers[user.id] = user;\n }\n }\n const usersArray = Object.values(uniqueUsers);\n\n return usersArray;\n };\n\n const getWatchers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (watchers && Object.values(watchers).length) {\n result.push(...Object.values(watchers));\n }\n\n return result;\n };\n\n const additionalTextInputContainerProps = {\n editable: disabled ? false : undefined,\n ...additionalTextInputProps,\n };\n\n const memoizedAdditionalTextInputProps = useMemo(\n () => ({\n ...additionalTextInputProps,\n onBlur: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n if (setFocused) setFocused(false);\n setShowMoreOptions(true);\n },\n onFocus: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onFocus) {\n additionalTextInputProps.onFocus(event);\n }\n if (setFocused) setFocused(true);\n },\n }),\n [additionalTextInputProps],\n );\n\n return (\n <>\n <View\n onLayout={({\n nativeEvent: {\n layout: { height: newHeight },\n },\n }) => setHeight(newHeight)}\n style={[styles.container, { backgroundColor: white, borderColor: border }, container]}\n >\n {editing && <InputEditingStateHeader />}\n {quotedMessage && <InputReplyStateHeader />}\n <View style={[styles.composerContainer, composerContainer]}>\n {Input ? (\n <Input\n additionalTextInputProps={additionalTextInputContainerProps}\n getUsers={getUsers}\n />\n ) : (\n <>\n <View style={[styles.optionsContainer, optionsContainer]}>\n {InputButtons && <InputButtons />}\n </View>\n <View\n style={[\n styles.inputBoxContainer,\n {\n borderColor: grey_whisper,\n paddingVertical: giphyActive ? 8 : 12,\n },\n inputBoxContainer,\n focused ? focusedInputBoxContainer : null,\n ]}\n >\n {((typeof editing !== 'boolean' && editing?.quoted_message) || quotedMessage) && (\n <View style={[styles.replyContainer, replyContainer]}>\n <Reply />\n </View>\n )}\n {imageUploads.length ? <ImageUploadPreview /> : null}\n {imageUploads.length && fileUploads.length ? (\n <View\n style={[\n styles.attachmentSeparator,\n {\n borderBottomColor: grey_whisper,\n marginHorizontal: giphyActive ? 8 : 12,\n },\n ]}\n />\n ) : null}\n {fileUploads.length ? <FileUploadPreview /> : null}\n {giphyActive ? (\n <InputGiphySearch disabled={!isOnline} />\n ) : (\n <View style={[styles.autoCompleteInputContainer, autoCompleteInputContainer]}>\n <AutoCompleteInput<StreamChatGenerics>\n additionalTextInputProps={memoizedAdditionalTextInputProps}\n cooldownActive={!!cooldownRemainingSeconds}\n />\n </View>\n )}\n </View>\n <View style={[styles.sendButtonContainer, sendButtonContainer]}>\n {cooldownRemainingSeconds ? (\n <CooldownTimer seconds={cooldownRemainingSeconds} />\n ) : (\n <SendButton\n disabled={\n disabled || sending.current || !isValidMessage() || (giphyActive && !isOnline)\n }\n />\n )}\n </View>\n </>\n )}\n </View>\n <ShowThreadMessageInChannelButton threadList={threadList} />\n </View>\n\n {triggerType && suggestions ? (\n <View\n style={[styles.suggestionsListContainer, suggestionListContainer, { bottom: height }]}\n >\n <AutoCompleteSuggestionList\n active={!!suggestions}\n data={suggestions.data}\n onSelect={suggestions.onSelect}\n queryText={suggestions.queryText}\n triggerType={triggerType}\n />\n </View>\n ) : null}\n {selectedPicker && (\n <View\n style={[\n {\n backgroundColor: white_smoke,\n height:\n (attachmentPickerBottomSheetHeight\n ? attachmentPickerBottomSheetHeight + (attachmentSelectionBarHeight ?? 52)\n : 360) - bottomInset,\n },\n attachmentSelectionBar,\n ]}\n >\n <AttachmentSelectionBar />\n </View>\n )}\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageInputPropsWithContext<StreamChatGenerics>,\n nextProps: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps: prevAdditionalTextInputProps,\n asyncUploads: prevAsyncUploads,\n disabled: prevDisabled,\n editing: prevEditing,\n fileUploads: prevFileUploads,\n giphyActive: prevGiphyActive,\n imageUploads: prevImageUploads,\n isOnline: prevIsOnline,\n isValidMessage: prevIsValidMessage,\n mentionedUsers: prevMentionedUsers,\n quotedMessage: prevQuotedMessage,\n sending: prevSending,\n showMoreOptions: prevShowMoreOptions,\n suggestions: prevSuggestions,\n t: prevT,\n thread: prevThread,\n threadList: prevThreadList,\n } = prevProps;\n const {\n additionalTextInputProps: nextAdditionalTextInputProps,\n asyncUploads: nextAsyncUploads,\n disabled: nextDisabled,\n editing: nextEditing,\n fileUploads: nextFileUploads,\n giphyActive: nextGiphyActive,\n imageUploads: nextImageUploads,\n isOnline: nextIsOnline,\n isValidMessage: nextIsValidMessage,\n mentionedUsers: nextMentionedUsers,\n quotedMessage: nextQuotedMessage,\n sending: nextSending,\n showMoreOptions: nextShowMoreOptions,\n suggestions: nextSuggestions,\n t: nextT,\n thread: nextThread,\n threadList: nextThreadList,\n } = nextProps;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const additionalTextInputPropsEven =\n prevAdditionalTextInputProps === nextAdditionalTextInputProps;\n if (!additionalTextInputPropsEven) return false;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const editingEqual = !!prevEditing === !!nextEditing;\n if (!editingEqual) return false;\n\n const imageUploadsEqual = prevImageUploads.length === nextImageUploads.length;\n if (!imageUploadsEqual) return false;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id\n : !!prevQuotedMessage === !!nextQuotedMessage;\n if (!quotedMessageEqual) return false;\n\n const sendingEqual = prevSending.current === nextSending.current;\n if (!sendingEqual) return false;\n\n const showMoreOptionsEqual = prevShowMoreOptions === nextShowMoreOptions;\n if (!showMoreOptionsEqual) return false;\n\n const isOnlineEqual = prevIsOnline === nextIsOnline;\n if (!isOnlineEqual) return false;\n\n const isValidMessageEqual = prevIsValidMessage() === nextIsValidMessage();\n if (!isValidMessageEqual) return false;\n\n const asyncUploadsEqual = Object.keys(prevAsyncUploads).every(\n (key) =>\n prevAsyncUploads[key].state === nextAsyncUploads[key].state &&\n prevAsyncUploads[key].url === nextAsyncUploads[key].url,\n );\n if (!asyncUploadsEqual) return false;\n\n const fileUploadsEqual = prevFileUploads.length === nextFileUploads.length;\n if (!fileUploadsEqual) return false;\n\n const mentionedUsersEqual = prevMentionedUsers.length === nextMentionedUsers.length;\n if (!mentionedUsersEqual) return false;\n\n const suggestionsEqual =\n !!prevSuggestions?.data && !!nextSuggestions?.data\n ? prevSuggestions.data.length === nextSuggestions.data.length &&\n prevSuggestions.data.every(({ name }, index) => name === nextSuggestions.data[index].name)\n : !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n const threadEqual =\n prevThread?.id === nextThread?.id &&\n prevThread?.text === nextThread?.text &&\n prevThread?.reply_count === nextThread?.reply_count;\n if (!threadEqual) return false;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageInput = React.memo(\n MessageInputWithContext,\n areEqual,\n) as typeof MessageInputWithContext;\n\nexport type MessageInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageInputPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for message input\n * It's a consumer of\n * [Channel Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/channel-context/),\n * [Chat Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/chat-context/),\n * [MessageInput Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/message-input-context/),\n * [Suggestions Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/suggestions-context/), and\n * [Translation Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/translation-context/)\n */\nexport const MessageInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputProps<StreamChatGenerics>,\n) => {\n const { isOnline } = useChatContext();\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n disabled = false,\n members,\n threadList,\n watchers,\n } = useChannelContext<StreamChatGenerics>();\n\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxNumberOfFiles,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n uploadNewFile,\n uploadNewImage,\n } = useMessageInputContext<StreamChatGenerics>();\n\n const { Reply } = useMessagesContext<StreamChatGenerics>();\n\n const {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n suggestions,\n triggerType,\n } = useSuggestionsContext<StreamChatGenerics>();\n\n const { thread } = useThreadContext<StreamChatGenerics>();\n\n const { t } = useTranslationContext();\n\n if (!ownCapabilities.sendMessage && SendMessageDisallowedIndicator) {\n return <SendMessageDisallowedIndicator />;\n }\n\n return (\n <MemoizedMessageInput\n {...{\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n t,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n }}\n {...props}\n />\n );\n};\n\nMessageInput.displayName = 'MessageInput{messageInput}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useCountdown2","_contexts","_AttachmentPickerContext","_ChannelContext","_MessageInputContext","_MessagesContext","_OwnCapabilitiesContext","_SuggestionsContext","_ThemeContext","_ThreadContext","_TranslationContext","_AttachmentSelectionBar","_AutoCompleteInput","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","styles","StyleSheet","create","attachmentSeparator","borderBottomWidth","marginBottom","autoCompleteInputContainer","alignItems","flexDirection","paddingLeft","paddingRight","composerContainer","container","borderTopWidth","padding","inputBoxContainer","borderRadius","borderWidth","flex","optionsContainer","paddingBottom","replyContainer","paddingHorizontal","sendButtonContainer","suggestionsListContainer","position","width","MessageInputWithContext","props","additionalTextInputProps","asyncIds","asyncUploads","AutoCompleteSuggestionList","closeAttachmentPicker","cooldownEndsAt","CooldownTimer","disabled","editing","FileUploadPreview","fileUploads","giphyActive","ImageUploadPreview","imageUploads","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isOnline","isValidMessage","maxNumberOfFiles","members","mentionedUsers","numberOfUploads","quotedMessage","removeFile","removeImage","Reply","resetInput","SendButton","sending","sendMessageAsync","setShowMoreOptions","ShowThreadMessageInChannelButton","suggestions","thread","threadList","triggerType","uploadNewFile","uploadNewImage","watchers","_useState","useState","_useState2","_slicedToArray2","height","setHeight","_useTranslationContex","useTranslationContext","t","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","border","grey_whisper","white","white_smoke","_useTheme$theme$messa","messageInput","attachmentSelectionBar","focusedInputBoxContainer","suggestionListContainer","_useAttachmentPickerC","useAttachmentPickerContext","attachmentPickerBottomSheetHeight","attachmentSelectionBarHeight","bottomInset","selectedFiles","selectedImages","selectedPicker","setMaxNumberOfFiles","setSelectedFiles","setSelectedImages","_useCountdown","useCountdown","cooldownRemainingSeconds","seconds","useEffect","_useState3","_useState4","hasResetImages","setHasResetImages","_useState5","_useState6","hasResetFiles","setHasResetFiles","_useState7","_useState8","focused","setFocused","selectedImagesLength","imageUploadsLength","selectedFilesLength","fileUploadsLength","imagesForInput","forEach","image","id","file","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","uploadImagesHandler","imageToUpload","find","selectedImage","uploadedImage","imageUpload","uri","url","Number","size","Alert","alert","filter","removeImagesHandler","imagesToRemove","fileToUpload","selectedFile","uploadedFile","fileUpload","filesToRemove","updatedSelectedImages","map","source","Boolean","updatedSelectedFiles","duration","mimeType","editingExists","current","focus","asyncIdsString","join","asyncUploadsString","values","_ref","state","keys","getMembers","result","member","user","push","getUsers","users","concat","_toConsumableArray2","getWatchers","uniqueUsers","_iterator","_step","usersArray","apply","additionalTextInputContainerProps","_extends2","editable","undefined","memoizedAdditionalTextInputProps","useMemo","onBlur","event","onFocus","createElement","Fragment","View","onLayout","_ref2","newHeight","nativeEvent","layout","style","backgroundColor","borderColor","__self","__source","fileName","lineNumber","columnNumber","paddingVertical","quoted_message","borderBottomColor","marginHorizontal","AutoCompleteInput","cooldownActive","bottom","active","data","onSelect","queryText","AttachmentSelectionBar","areEqual","prevProps","nextProps","prevAdditionalTextInputProps","prevAsyncUploads","prevDisabled","prevEditing","prevFileUploads","prevGiphyActive","prevImageUploads","prevIsOnline","prevIsValidMessage","prevMentionedUsers","prevQuotedMessage","prevSending","prevShowMoreOptions","showMoreOptions","prevSuggestions","prevT","prevThread","prevThreadList","nextAdditionalTextInputProps","nextAsyncUploads","nextDisabled","nextEditing","nextFileUploads","nextGiphyActive","nextImageUploads","nextIsOnline","nextIsValidMessage","nextMentionedUsers","nextQuotedMessage","nextSending","nextShowMoreOptions","nextSuggestions","nextT","nextThread","nextThreadList","tEqual","additionalTextInputPropsEven","disabledEqual","editingEqual","imageUploadsEqual","giphyActiveEqual","quotedMessageEqual","sendingEqual","showMoreOptionsEqual","isOnlineEqual","isValidMessageEqual","asyncUploadsEqual","every","fileUploadsEqual","mentionedUsersEqual","suggestionsEqual","_ref3","index","threadEqual","text","reply_count","threadListEqual","MemoizedMessageInput","React","memo","MessageInput","_useChatContext","useChatContext","ownCapabilities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","_useChannelContext$di","_useMessageInputConte","useMessageInputContext","clearEditingState","clearQuotedMessageState","SendMessageDisallowedIndicator","setGiphyActive","_useMessagesContext","useMessagesContext","_useSuggestionsContex","useSuggestionsContext","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","_useThreadContext","useThreadContext","_useTranslationContex2","sendMessage","exports","displayName"],"sources":["MessageInput.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Alert,\n NativeSyntheticEvent,\n StyleSheet,\n TextInputFocusEventData,\n View,\n} from 'react-native';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { useCountdown } from './hooks/useCountdown';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport type { Asset, DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentSelectionBar } from '../AttachmentPicker/components/AttachmentSelectionBar';\nimport { AutoCompleteInput } from '../AutoCompleteInput/AutoCompleteInput';\n\nconst styles = StyleSheet.create({\n attachmentSeparator: {\n borderBottomWidth: 1,\n marginBottom: 10,\n },\n autoCompleteInputContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 16,\n paddingRight: 16,\n },\n composerContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n container: {\n borderTopWidth: 1,\n padding: 10,\n },\n inputBoxContainer: {\n borderRadius: 20,\n borderWidth: 1,\n flex: 1,\n },\n optionsContainer: {\n flexDirection: 'row',\n paddingBottom: 10,\n paddingRight: 10,\n },\n replyContainer: { paddingBottom: 12, paddingHorizontal: 8 },\n sendButtonContainer: { paddingBottom: 10, paddingLeft: 10 },\n suggestionsListContainer: {\n position: 'absolute',\n width: '100%',\n },\n});\n\ntype MessageInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'isOnline'> &\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'disabled' | 'members' | 'threadList' | 'watchers'\n > &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'asyncIds'\n | 'asyncUploads'\n | 'cooldownEndsAt'\n | 'CooldownTimer'\n | 'clearEditingState'\n | 'clearQuotedMessageState'\n | 'closeAttachmentPicker'\n | 'editing'\n | 'FileUploadPreview'\n | 'fileUploads'\n | 'giphyActive'\n | 'ImageUploadPreview'\n | 'imageUploads'\n | 'Input'\n | 'inputBoxRef'\n | 'InputButtons'\n | 'InputEditingStateHeader'\n | 'InputGiphySearch'\n | 'InputReplyStateHeader'\n | 'isValidMessage'\n | 'maxNumberOfFiles'\n | 'mentionedUsers'\n | 'numberOfUploads'\n | 'quotedMessage'\n | 'resetInput'\n | 'SendButton'\n | 'sending'\n | 'sendMessageAsync'\n | 'setShowMoreOptions'\n | 'setGiphyActive'\n | 'showMoreOptions'\n | 'ShowThreadMessageInChannelButton'\n | 'removeFile'\n | 'removeImage'\n | 'uploadNewFile'\n | 'uploadNewImage'\n > &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Reply'> &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n | 'AutoCompleteSuggestionHeader'\n | 'AutoCompleteSuggestionItem'\n | 'AutoCompleteSuggestionList'\n | 'suggestions'\n | 'triggerType'\n > &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'> &\n Pick<TranslationContextValue, 't'>;\n\nconst MessageInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionList,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setShowMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n } = props;\n\n const [height, setHeight] = useState(0);\n const { t } = useTranslationContext();\n\n const {\n theme: {\n colors: { border, grey_whisper, white, white_smoke },\n messageInput: {\n attachmentSelectionBar,\n autoCompleteInputContainer,\n composerContainer,\n container,\n focusedInputBoxContainer,\n inputBoxContainer,\n optionsContainer,\n replyContainer,\n sendButtonContainer,\n suggestionsListContainer: { container: suggestionListContainer },\n },\n },\n } = useTheme();\n\n const {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setMaxNumberOfFiles,\n setSelectedFiles,\n setSelectedImages,\n } = useAttachmentPickerContext();\n\n const { seconds: cooldownRemainingSeconds } = useCountdown(cooldownEndsAt);\n\n /**\n * Mounting and un-mounting logic are un-related in following useEffect.\n * While mounting we want to pass maxNumberOfFiles (which is prop on Channel component)\n * to AttachmentPicker (on OverlayProvider)\n *\n * While un-mounting, we want to close the picker e.g., while navigating away.\n */\n useEffect(() => {\n setMaxNumberOfFiles(maxNumberOfFiles ?? 10);\n\n return closeAttachmentPicker;\n }, []);\n\n const [hasResetImages, setHasResetImages] = useState(false);\n const [hasResetFiles, setHasResetFiles] = useState(false);\n const [focused, setFocused] = useState(false);\n const selectedImagesLength = hasResetImages ? selectedImages.length : 0;\n const imageUploadsLength = hasResetImages ? imageUploads.length : 0;\n const selectedFilesLength = hasResetFiles ? selectedFiles.length : 0;\n const fileUploadsLength = hasResetFiles ? fileUploads.length : 0;\n const imagesForInput = (!!thread && !!threadList) || (!thread && !threadList);\n\n useEffect(() => {\n setSelectedImages([]);\n if (imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n return () => setSelectedImages([]);\n }, []);\n\n useEffect(() => {\n setSelectedFiles([]);\n if (fileUploads.length) {\n fileUploads.forEach((file) => removeFile(file.id));\n }\n return () => setSelectedFiles([]);\n }, []);\n\n useEffect(() => {\n if (hasResetImages === false && imageUploadsLength === 0 && selectedImagesLength === 0) {\n setHasResetImages(true);\n }\n }, [imageUploadsLength, selectedImagesLength]);\n\n useEffect(() => {\n if (hasResetFiles === false && fileUploadsLength === 0 && selectedFilesLength === 0) {\n setHasResetFiles(true);\n }\n }, [fileUploadsLength, selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput === false && imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n }, [imagesForInput]);\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n const uploadImagesHandler = () => {\n const imageToUpload = selectedImages.find((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return !uploadedImage;\n });\n // Check if the file size of the image exceeds the threshold of 100MB\n if (\n imageToUpload &&\n Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedImages(\n selectedImages.filter((selectedImage) => selectedImage.uri !== imageToUpload.uri),\n );\n } else {\n if (imageToUpload) uploadNewImage(imageToUpload);\n }\n };\n\n const removeImagesHandler = () => {\n const imagesToRemove = imageUploads.filter(\n (imageUpload) =>\n !selectedImages.find(\n (selectedImage) =>\n selectedImage.uri === imageUpload.file.uri || selectedImage.uri === imageUpload.url,\n ),\n );\n imagesToRemove.forEach((image) => removeImage(image.id));\n };\n\n useEffect(() => {\n if (imagesForInput) {\n if (selectedImagesLength > imageUploadsLength) {\n /** User selected an image in bottom sheet attachment picker */\n uploadImagesHandler();\n } else {\n /** User de-selected an image in bottom sheet attachment picker */\n removeImagesHandler();\n }\n }\n }, [selectedImagesLength]);\n\n useEffect(() => {\n if (selectedFilesLength > fileUploadsLength) {\n /** User selected a video in bottom sheet attachment picker */\n const fileToUpload = selectedFiles.find((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return !uploadedFile;\n });\n // Check if the file size exceeds the threshold of 100MB\n if (\n fileToUpload &&\n Number(fileToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedFiles(\n selectedFiles.filter((selectedFile) => selectedFile.uri !== fileToUpload.uri),\n );\n } else {\n if (fileToUpload) uploadNewFile(fileToUpload);\n }\n } else {\n /** User de-selected a video in bottom sheet attachment picker */\n const filesToRemove = fileUploads.filter(\n (fileUpload) =>\n !selectedFiles.find(\n (selectedFile) =>\n selectedFile.uri === fileUpload.file.uri || selectedFile.uri === fileUpload.url,\n ),\n );\n filesToRemove.forEach((file) => removeFile(file.id));\n }\n }, [selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput) {\n if (imageUploadsLength < selectedImagesLength) {\n /** User removed some image from seleted images within ImageUploadPreview. */\n const updatedSelectedImages = selectedImages.filter((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return uploadedImage;\n });\n setSelectedImages(updatedSelectedImages);\n } else if (imageUploadsLength > selectedImagesLength) {\n /**\n * User is editing some message which contains image attachments OR\n * image attachment is added from custom image picker (other than the default bottomsheet image picker)\n * using `uploadNewImage` function from `MessageInputContext`.\n **/\n setSelectedImages(\n imageUploads\n .map((imageUpload) => ({\n height: imageUpload.file.height,\n source: imageUpload.file.source,\n uri: imageUpload.url || imageUpload.file.uri,\n width: imageUpload.file.width,\n }))\n .filter(Boolean) as Asset[],\n );\n }\n }\n }, [imageUploadsLength]);\n\n useEffect(() => {\n if (fileUploadsLength < selectedFilesLength) {\n /** User removed some video from seleted files within ImageUploadPreview. */\n const updatedSelectedFiles = selectedFiles.filter((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return uploadedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n } else if (fileUploadsLength > selectedFilesLength) {\n /**\n * User is editing some message which contains video attachments OR\n * video attachment is added from custom image picker (other than the default bottom-sheet image picker)\n * using `uploadNewFile` function from `MessageInputContext`.\n **/\n setSelectedFiles(\n fileUploads.map((fileUpload) => ({\n duration: fileUpload.file.duration,\n mimeType: fileUpload.file.mimeType,\n name: fileUpload.file.name,\n size: fileUpload.file.size,\n uri: fileUpload.file.uri,\n })),\n );\n }\n }, [fileUploadsLength]);\n\n const editingExists = !!editing;\n useEffect(() => {\n if (editing && inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n\n /**\n * Make sure to test `initialValue` functionality, if you are modifying following condition.\n *\n * We have the following condition, to make sure - when user comes out of \"editing message\" state,\n * we wipe out all the state around message input such as text, mentioned users, image uploads etc.\n * But it also means, this condition will be fired up on first render, which may result in clearing\n * the initial value set on input box, through the prop - `initialValue`.\n * This prop generally gets used for the case of draft message functionality.\n */\n if (\n !editing &&\n (giphyActive ||\n fileUploads.length > 0 ||\n mentionedUsers.length > 0 ||\n imageUploads.length > 0 ||\n numberOfUploads > 0)\n ) {\n resetInput();\n }\n }, [editingExists]);\n\n const asyncIdsString = asyncIds.join();\n const asyncUploadsString = Object.values(asyncUploads)\n .map(({ state, url }) => `${state}${url}`)\n .join();\n useEffect(() => {\n if (Object.keys(asyncUploads).length) {\n /**\n * When successful image upload response occurs after hitting send,\n * send a follow up message with the image\n */\n sending.current = true;\n asyncIds.forEach((id) => sendMessageAsync(id));\n sending.current = false;\n }\n }, [asyncIdsString, asyncUploadsString, sendMessageAsync]);\n\n const getMembers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (members && Object.values(members).length) {\n Object.values(members).forEach((member) => {\n if (member.user) {\n result.push(member.user);\n }\n });\n }\n\n return result;\n };\n\n const getUsers = () => {\n const users = [...getMembers(), ...getWatchers()];\n\n // make sure we don't list users twice\n const uniqueUsers: { [key: string]: UserResponse<StreamChatGenerics> } = {};\n for (const user of users) {\n if (user && !uniqueUsers[user.id]) {\n uniqueUsers[user.id] = user;\n }\n }\n const usersArray = Object.values(uniqueUsers);\n\n return usersArray;\n };\n\n const getWatchers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (watchers && Object.values(watchers).length) {\n result.push(...Object.values(watchers));\n }\n\n return result;\n };\n\n const additionalTextInputContainerProps = {\n editable: disabled ? false : undefined,\n ...additionalTextInputProps,\n };\n\n const memoizedAdditionalTextInputProps = useMemo(\n () => ({\n ...additionalTextInputProps,\n onBlur: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n if (setFocused) setFocused(false);\n setShowMoreOptions(true);\n },\n onFocus: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onFocus) {\n additionalTextInputProps.onFocus(event);\n }\n if (setFocused) setFocused(true);\n },\n }),\n [additionalTextInputProps],\n );\n\n return (\n <>\n <View\n onLayout={({\n nativeEvent: {\n layout: { height: newHeight },\n },\n }) => setHeight(newHeight)}\n style={[styles.container, { backgroundColor: white, borderColor: border }, container]}\n >\n {editing && <InputEditingStateHeader />}\n {quotedMessage && <InputReplyStateHeader />}\n <View style={[styles.composerContainer, composerContainer]}>\n {Input ? (\n <Input\n additionalTextInputProps={additionalTextInputContainerProps}\n getUsers={getUsers}\n />\n ) : (\n <>\n <View style={[styles.optionsContainer, optionsContainer]}>\n {InputButtons && <InputButtons />}\n </View>\n <View\n style={[\n styles.inputBoxContainer,\n {\n borderColor: grey_whisper,\n paddingVertical: giphyActive ? 8 : 12,\n },\n inputBoxContainer,\n focused ? focusedInputBoxContainer : null,\n ]}\n >\n {((typeof editing !== 'boolean' && editing?.quoted_message) || quotedMessage) && (\n <View style={[styles.replyContainer, replyContainer]}>\n <Reply />\n </View>\n )}\n {imageUploads.length ? <ImageUploadPreview /> : null}\n {imageUploads.length && fileUploads.length ? (\n <View\n style={[\n styles.attachmentSeparator,\n {\n borderBottomColor: grey_whisper,\n marginHorizontal: giphyActive ? 8 : 12,\n },\n ]}\n />\n ) : null}\n {fileUploads.length ? <FileUploadPreview /> : null}\n {giphyActive ? (\n <InputGiphySearch disabled={!isOnline} />\n ) : (\n <View style={[styles.autoCompleteInputContainer, autoCompleteInputContainer]}>\n <AutoCompleteInput<StreamChatGenerics>\n additionalTextInputProps={memoizedAdditionalTextInputProps}\n cooldownActive={!!cooldownRemainingSeconds}\n />\n </View>\n )}\n </View>\n <View style={[styles.sendButtonContainer, sendButtonContainer]}>\n {cooldownRemainingSeconds ? (\n <CooldownTimer seconds={cooldownRemainingSeconds} />\n ) : (\n <SendButton\n disabled={\n disabled || sending.current || !isValidMessage() || (giphyActive && !isOnline)\n }\n />\n )}\n </View>\n </>\n )}\n </View>\n <ShowThreadMessageInChannelButton threadList={threadList} />\n </View>\n\n {triggerType && suggestions ? (\n <View\n style={[styles.suggestionsListContainer, { bottom: height }, suggestionListContainer]}\n >\n <AutoCompleteSuggestionList\n active={!!suggestions}\n data={suggestions.data}\n onSelect={suggestions.onSelect}\n queryText={suggestions.queryText}\n triggerType={triggerType}\n />\n </View>\n ) : null}\n {selectedPicker && (\n <View\n style={[\n {\n backgroundColor: white_smoke,\n height:\n (attachmentPickerBottomSheetHeight\n ? attachmentPickerBottomSheetHeight + (attachmentSelectionBarHeight ?? 52)\n : 360) - bottomInset,\n },\n attachmentSelectionBar,\n ]}\n >\n <AttachmentSelectionBar />\n </View>\n )}\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageInputPropsWithContext<StreamChatGenerics>,\n nextProps: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps: prevAdditionalTextInputProps,\n asyncUploads: prevAsyncUploads,\n disabled: prevDisabled,\n editing: prevEditing,\n fileUploads: prevFileUploads,\n giphyActive: prevGiphyActive,\n imageUploads: prevImageUploads,\n isOnline: prevIsOnline,\n isValidMessage: prevIsValidMessage,\n mentionedUsers: prevMentionedUsers,\n quotedMessage: prevQuotedMessage,\n sending: prevSending,\n showMoreOptions: prevShowMoreOptions,\n suggestions: prevSuggestions,\n t: prevT,\n thread: prevThread,\n threadList: prevThreadList,\n } = prevProps;\n const {\n additionalTextInputProps: nextAdditionalTextInputProps,\n asyncUploads: nextAsyncUploads,\n disabled: nextDisabled,\n editing: nextEditing,\n fileUploads: nextFileUploads,\n giphyActive: nextGiphyActive,\n imageUploads: nextImageUploads,\n isOnline: nextIsOnline,\n isValidMessage: nextIsValidMessage,\n mentionedUsers: nextMentionedUsers,\n quotedMessage: nextQuotedMessage,\n sending: nextSending,\n showMoreOptions: nextShowMoreOptions,\n suggestions: nextSuggestions,\n t: nextT,\n thread: nextThread,\n threadList: nextThreadList,\n } = nextProps;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const additionalTextInputPropsEven =\n prevAdditionalTextInputProps === nextAdditionalTextInputProps;\n if (!additionalTextInputPropsEven) return false;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const editingEqual = !!prevEditing === !!nextEditing;\n if (!editingEqual) return false;\n\n const imageUploadsEqual = prevImageUploads.length === nextImageUploads.length;\n if (!imageUploadsEqual) return false;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id\n : !!prevQuotedMessage === !!nextQuotedMessage;\n if (!quotedMessageEqual) return false;\n\n const sendingEqual = prevSending.current === nextSending.current;\n if (!sendingEqual) return false;\n\n const showMoreOptionsEqual = prevShowMoreOptions === nextShowMoreOptions;\n if (!showMoreOptionsEqual) return false;\n\n const isOnlineEqual = prevIsOnline === nextIsOnline;\n if (!isOnlineEqual) return false;\n\n const isValidMessageEqual = prevIsValidMessage() === nextIsValidMessage();\n if (!isValidMessageEqual) return false;\n\n const asyncUploadsEqual = Object.keys(prevAsyncUploads).every(\n (key) =>\n prevAsyncUploads[key].state === nextAsyncUploads[key].state &&\n prevAsyncUploads[key].url === nextAsyncUploads[key].url,\n );\n if (!asyncUploadsEqual) return false;\n\n const fileUploadsEqual = prevFileUploads.length === nextFileUploads.length;\n if (!fileUploadsEqual) return false;\n\n const mentionedUsersEqual = prevMentionedUsers.length === nextMentionedUsers.length;\n if (!mentionedUsersEqual) return false;\n\n const suggestionsEqual =\n !!prevSuggestions?.data && !!nextSuggestions?.data\n ? prevSuggestions.data.length === nextSuggestions.data.length &&\n prevSuggestions.data.every(({ name }, index) => name === nextSuggestions.data[index].name)\n : !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n const threadEqual =\n prevThread?.id === nextThread?.id &&\n prevThread?.text === nextThread?.text &&\n prevThread?.reply_count === nextThread?.reply_count;\n if (!threadEqual) return false;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageInput = React.memo(\n MessageInputWithContext,\n areEqual,\n) as typeof MessageInputWithContext;\n\nexport type MessageInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageInputPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for message input\n * It's a consumer of\n * [Channel Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/channel-context/),\n * [Chat Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/chat-context/),\n * [MessageInput Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/message-input-context/),\n * [Suggestions Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/suggestions-context/), and\n * [Translation Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/translation-context/)\n */\nexport const MessageInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputProps<StreamChatGenerics>,\n) => {\n const { isOnline } = useChatContext();\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n disabled = false,\n members,\n threadList,\n watchers,\n } = useChannelContext<StreamChatGenerics>();\n\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxNumberOfFiles,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n uploadNewFile,\n uploadNewImage,\n } = useMessageInputContext<StreamChatGenerics>();\n\n const { Reply } = useMessagesContext<StreamChatGenerics>();\n\n const {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n suggestions,\n triggerType,\n } = useSuggestionsContext<StreamChatGenerics>();\n\n const { thread } = useThreadContext<StreamChatGenerics>();\n\n const { t } = useTranslationContext();\n\n if (!ownCapabilities.sendMessage && SendMessageDisallowedIndicator) {\n return <SendMessageDisallowedIndicator />;\n }\n\n return (\n <MemoizedMessageInput\n {...{\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n t,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n }}\n {...props}\n />\n );\n};\n\nMessageInput.displayName = 'MessageInput{messageInput}';\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "1 respuesta",
3
- "1 Thread Reply": "1 respuesta de hilo",
4
- "Allow access to your Gallery": "Permitir acceso a tu galería",
5
- "Allow camera access in device settings": "Permitir el acceso a la cámara en la configuración del dispositivo",
2
+ "1 Reply": "",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Are you sure?": "",
@@ -13,11 +13,11 @@
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
16
- "Device camera is used to take photos or videos.": "La cámara del dispositivo se utiliza para tomar fotografías o vídeos.",
16
+ "Device camera is used to take photos or videos.": "",
17
17
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
18
18
  "Edit Message": "",
19
- "Editing Message": "",
20
- "Emoji matching": "",
19
+ "Editing Message": "Editando mensaje",
20
+ "Emoji matching": "Coincidencia de emoji",
21
21
  "Empty message...": "",
22
22
  "Error loading": "",
23
23
  "Error loading channel list...": "",
@@ -28,7 +28,7 @@
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
30
  "How about sending your first message to a friend?": "",
31
- "Instant Commands": "",
31
+ "Instant Commands": "Comandos instantáneos",
32
32
  "Let's start chatting!": "",
33
33
  "Links are disabled": "",
34
34
  "Loading channels...": "",
@@ -42,38 +42,38 @@
42
42
  "Not supported": "",
43
43
  "Nothing yet...": "",
44
44
  "Ok": "",
45
- "Only visible to you": "",
46
- "Open Settings": "Configuración abierta",
47
- "Photo": "",
48
- "Photos and Videos": "Fotos y videos",
45
+ "Only visible to you": "Solo visible para ti",
46
+ "Open Settings": "",
47
+ "Photo": "Foto",
48
+ "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
50
  "Pinned by": "",
51
- "Please enable access to your photos and videos so you can share them.": "Por favor, habilita el acceso a tus fotos y videos para poder compartirlos.",
52
- "Please select a channel first": "Por favor, selecciona primero un canal",
51
+ "Please enable access to your photos and videos so you can share them.": "",
52
+ "Please select a channel first": "",
53
53
  "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "Responder al mensaje",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "Buscar GIFs",
58
- "Select More Photos": "Seleccionar más fotos",
57
+ "Search GIFs": "",
58
+ "Select More Photos": "",
59
59
  "Send Anyway": "",
60
- "Send a message": "Enviar un mensaje",
60
+ "Send a message": "",
61
61
  "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "Modo lento ACTIVADO",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
66
- "Unknown User": "Usuario desconocido",
66
+ "Unknown User": "",
67
67
  "Unmute User": "",
68
68
  "Unpin from Conversation": "",
69
69
  "Unread Messages": "",
70
- "Video": "",
70
+ "Video": "Video",
71
71
  "You": "",
72
72
  "You can't send messages in this channel": "",
73
73
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} y {{ nonSelfUserLength }} más están escribiendo",
74
- "{{ index }} of {{ photoLength }}": "{{ index }} de {{ photoLength }}",
75
- "{{ replyCount }} Replies": "{{ replyCount }} Respuestas",
76
- "{{ replyCount }} Thread Replies": "{{ replyCount }} respuestas de hilo",
74
+ "{{ index }} of {{ photoLength }}": "",
75
+ "{{ replyCount }} Replies": "",
76
+ "{{ replyCount }} Thread Replies": "",
77
77
  "{{ user }} is typing": "{{ user }} está escribiendo",
78
78
  "🏙 Attachment...": ""
79
79
  }
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "1 Réponse",
3
- "1 Thread Reply": "Réponse à 1 fil",
4
- "Allow access to your Gallery": "Autoriser l'accès à votre galerie",
5
- "Allow camera access in device settings": "Autoriser l'accès à la caméra dans les paramètres de l'appareil",
2
+ "1 Reply": "",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Are you sure?": "",
@@ -13,11 +13,11 @@
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
16
- "Device camera is used to take photos or videos.": "L'appareil photo de l'appareil est utilisé pour prendre des photos ou des vidéos.",
16
+ "Device camera is used to take photos or videos.": "",
17
17
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
18
18
  "Edit Message": "",
19
- "Editing Message": "",
20
- "Emoji matching": "",
19
+ "Editing Message": "Édite un message",
20
+ "Emoji matching": "Correspondance Emoji",
21
21
  "Empty message...": "",
22
22
  "Error loading": "",
23
23
  "Error loading channel list...": "",
@@ -28,7 +28,7 @@
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
30
  "How about sending your first message to a friend?": "",
31
- "Instant Commands": "",
31
+ "Instant Commands": "Commandes Instantanées",
32
32
  "Let's start chatting!": "",
33
33
  "Links are disabled": "",
34
34
  "Loading channels...": "",
@@ -42,38 +42,38 @@
42
42
  "Not supported": "",
43
43
  "Nothing yet...": "",
44
44
  "Ok": "",
45
- "Only visible to you": "",
46
- "Open Settings": "Ouvrir les paramètres",
47
- "Photo": "",
48
- "Photos and Videos": "Photos et vidéos",
45
+ "Only visible to you": "Seulement visible par vous",
46
+ "Open Settings": "",
47
+ "Photo": "Photo",
48
+ "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
50
  "Pinned by": "",
51
- "Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accès à vos photos et vidéos afin de pouvoir les partager.",
52
- "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
+ "Please enable access to your photos and videos so you can share them.": "",
52
+ "Please select a channel first": "",
53
53
  "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "Répondre au message",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "Rechercher des GIF",
58
- "Select More Photos": "Sélectionner plus de photos",
57
+ "Search GIFs": "",
58
+ "Select More Photos": "",
59
59
  "Send Anyway": "",
60
- "Send a message": "Envoyer un message",
60
+ "Send a message": "",
61
61
  "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "Mode lent activé",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
66
- "Unknown User": "Utilisateur inconnu",
66
+ "Unknown User": "",
67
67
  "Unmute User": "",
68
68
  "Unpin from Conversation": "",
69
69
  "Unread Messages": "",
70
- "Video": "",
70
+ "Video": "Vidéo",
71
71
  "You": "",
72
72
  "You can't send messages in this channel": "",
73
73
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
74
- "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
75
- "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
76
- "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
+ "{{ index }} of {{ photoLength }}": "",
75
+ "{{ replyCount }} Replies": "",
76
+ "{{ replyCount }} Thread Replies": "",
77
77
  "{{ user }} is typing": "{{ user }} est en train d'écrire",
78
78
  "🏙 Attachment...": ""
79
79
  }
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "תגובה אחת",
3
- "1 Thread Reply": "תגובה אחת לשרשור",
4
- "Allow access to your Gallery": "אפשר גישה לגלריה שלך",
5
- "Allow camera access in device settings": "אפשר גישה למצלמה בהגדרות המכשיר",
2
+ "1 Reply": "",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Are you sure?": "",
@@ -13,11 +13,11 @@
13
13
  "Copy Message": "",
14
14
  "Delete": "",
15
15
  "Delete Message": "",
16
- "Device camera is used to take photos or videos.": "מצלמת המכשיר משמשת לצילום תמונות או סרטונים.",
16
+ "Device camera is used to take photos or videos.": "",
17
17
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
18
18
  "Edit Message": "",
19
- "Editing Message": "",
20
- "Emoji matching": "",
19
+ "Editing Message": "הודעה בעריכה",
20
+ "Emoji matching": "התאמת אמוג'י",
21
21
  "Empty message...": "",
22
22
  "Error loading": "",
23
23
  "Error loading channel list...": "",
@@ -28,7 +28,7 @@
28
28
  "Flag Message": "",
29
29
  "Flag action failed either due to a network issue or the message is already flagged": "",
30
30
  "How about sending your first message to a friend?": "",
31
- "Instant Commands": "",
31
+ "Instant Commands": "פעולות מיידיות",
32
32
  "Let's start chatting!": "",
33
33
  "Links are disabled": "",
34
34
  "Loading channels...": "",
@@ -42,38 +42,38 @@
42
42
  "Not supported": "",
43
43
  "Nothing yet...": "",
44
44
  "Ok": "",
45
- "Only visible to you": "",
46
- "Open Settings": "פתח את ההגדרות",
47
- "Photo": "",
48
- "Photos and Videos": "תמונות ווידאו",
45
+ "Only visible to you": "גלוי רק לך",
46
+ "Open Settings": "",
47
+ "Photo": "תמונה",
48
+ "Photos and Videos": "",
49
49
  "Pin to Conversation": "",
50
50
  "Pinned by": "",
51
- "Please enable access to your photos and videos so you can share them.": "אפשר/י גישה לתמונות ולסרטונים שלך כדי שתוכל/י לשתף אותם.",
52
- "Please select a channel first": "אנא בחר/י שיחה תחילה",
51
+ "Please enable access to your photos and videos so you can share them.": "",
52
+ "Please select a channel first": "",
53
53
  "Reconnecting...": "",
54
54
  "Reply": "",
55
- "Reply to Message": "השב/י להודעה",
55
+ "Reply to Message": "",
56
56
  "Resend": "",
57
- "Search GIFs": "חפש/י GIFs",
58
- "Select More Photos": "בחר עוד תמונות",
57
+ "Search GIFs": "",
58
+ "Select More Photos": "",
59
59
  "Send Anyway": "",
60
- "Send a message": "שלח/י הודעה",
60
+ "Send a message": "",
61
61
  "Sending links is not allowed in this conversation": "",
62
- "Slow mode ON": "מצב איטי מופעל",
62
+ "Slow mode ON": "",
63
63
  "The message has been reported to a moderator.": "",
64
64
  "Thread Reply": "",
65
65
  "Unblock User": "",
66
- "Unknown User": "משתמש לא ידוע",
66
+ "Unknown User": "",
67
67
  "Unmute User": "",
68
68
  "Unpin from Conversation": "",
69
69
  "Unread Messages": "",
70
- "Video": "",
70
+ "Video": "וִידֵאוֹ",
71
71
  "You": "",
72
72
  "You can't send messages in this channel": "",
73
73
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} ו-{{ nonSelfUserLength }} משתמש/ים אחר/ים מקלידים",
74
- "{{ index }} of {{ photoLength }}": "{{ index }} מתוך {{ photoLength }}",
75
- "{{ replyCount }} Replies": "{{ replyCount }} תגובות",
76
- "{{ replyCount }} Thread Replies": "{{ replyCount }} תגובות שרשור",
74
+ "{{ index }} of {{ photoLength }}": "",
75
+ "{{ replyCount }} Replies": "",
76
+ "{{ replyCount }} Thread Replies": "",
77
77
  "{{ user }} is typing": "{{ user }} מקליד/ה",
78
78
  "🏙 Attachment...": ""
79
79
  }