stream-chat-react-native-core 5.23.0-beta.4 → 5.23.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/AutoCompleteInput/AutoCompleteInput.js +2 -11
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +51 -28
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -0
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +62 -62
- package/lib/commonjs/i18n/hi.json +62 -62
- package/lib/commonjs/i18n/it.json +62 -62
- package/lib/commonjs/i18n/nl.json +62 -62
- package/lib/commonjs/i18n/ru.json +62 -62
- package/lib/commonjs/i18n/tr.json +62 -62
- package/lib/commonjs/utils/utils.js +2 -2
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -11
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +51 -28
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +1 -0
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +62 -62
- package/lib/module/i18n/hi.json +62 -62
- package/lib/module/i18n/it.json +62 -62
- package/lib/module/i18n/nl.json +62 -62
- package/lib/module/i18n/ru.json +62 -62
- package/lib/module/i18n/tr.json +62 -62
- package/lib/module/utils/utils.js +2 -2
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +62 -62
- package/lib/typescript/i18n/hi.json +62 -62
- package/lib/typescript/i18n/it.json +62 -62
- package/lib/typescript/i18n/nl.json +62 -62
- package/lib/typescript/i18n/ru.json +62 -62
- package/lib/typescript/i18n/tr.json +62 -62
- package/package.json +1 -1
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +0 -10
- package/src/components/MessageInput/MessageInput.tsx +33 -3
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
- package/src/contexts/themeContext/utils/theme.ts +2 -0
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +62 -62
- package/src/i18n/hi.json +62 -62
- package/src/i18n/it.json +62 -62
- package/src/i18n/nl.json +62 -62
- package/src/i18n/ru.json +62 -62
- package/src/i18n/tr.json +62 -62
- package/src/utils/utils.ts +3 -2
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_throttle","_interopRequireDefault","_ChannelContext","_MessageInputContext","_SuggestionsContext","_ThemeContext","_TranslationContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","inputBox","flex","fontSize","includeFontPadding","padding","paddingTop","textAlignVertical","computeCaretPosition","token","startOfTokenPosition","length","isCommand","text","split","AutoCompleteInputWithContext","props","additionalTextInputProps","autoCompleteSuggestionsLimit","closeSuggestions","_props$cooldownActive","cooldownActive","giphyActive","giphyEnabled","maxMessageLength","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","numberOfLines","onChange","openSuggestions","setGiphyActive","setInputBoxRef","setShowMoreOptions","t","triggerSettings","updateSuggestionsContext","updateSuggestions","isTrackingStarted","useRef","selectionEnd","_useState","useState","_useState2","_slicedToArray2","textHeight","setTextHeight","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","messageInput","handleChange","newText","fromUpdate","arguments","undefined","handleSuggestionsThrottled","useEffect","startTracking","trigger","triggerSetting","current","type","stopTracking","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_ref","query","_triggerSetting","_triggerSetting2","wrap","_callee$","_context","prev","next","isMentionTrigger","dataProvider","data","queryCallback","onSelect","item","onSelectSuggestion","queryText","limit","isCommandTrigger","stop","_x","apply","handleSelectionChange","_ref3","end","nativeEvent","selection","_ref4","newTokenString","isSuggestionCommand","output","isEmojiTrigger","isSuggestionEmoji","isSuggestionUser","textToModify","slice","lastIndexOf","newCaretPosition","modifiedText","substring","replace","startsWith","callback","handleCommand","_ref5","_callee2","actualToken","_callee2$","_context2","abrupt","trim","_x2","handleMentions","_ref6","tokenMatch","lastToken","handleMentionsTrigger","keys","find","handleEmojis","_ref7","handleEmojisTrigger","handleSuggestions","_ref8","_callee3","mentionTokenMatch","emojiTokenMatch","_callee3$","_context3","test","sent","match","_x3","placeholderText","throttle","leading","createElement","TextInput","_extends2","autoFocus","maxLength","multiline","onChangeText","onContentSizeChange","_ref9","height","contentSize","onSelectionChange","placeholder","placeholderTextColor","ref","style","color","maxHeight","textAlign","I18nManager","isRTL","testID","value","onBlur","event","__self","__source","fileName","lineNumber","columnNumber","areEqual","prevProps","nextProps","prevCooldownActive","prevGiphyActive","prevT","prevText","nextCooldownActive","nextGiphyActive","nextT","nextText","giphyActiveEqual","tEqual","textEqual","cooldownActiveEqual","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","_useChannelContext","useChannelContext","_useMessageInputConte","useMessageInputContext","_useSuggestionsContex","useSuggestionsContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["AutoCompleteInput.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { I18nManager, StyleSheet, TextInput, TextInputProps } from 'react-native';\n\nimport throttle from 'lodash/throttle';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { isCommandTrigger, isEmojiTrigger, isMentionTrigger } from '../../utils/utils';\n\nimport type { Trigger } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n inputBox: {\n flex: 1,\n fontSize: 14,\n includeFontPadding: false, // for android vertical text centering\n padding: 0, // removal of default text input padding on android\n paddingTop: 0, // removal of iOS top padding for weird centering\n textAlignVertical: 'center', // for android vertical text centering\n },\n});\n\nconst computeCaretPosition = (token: string, startOfTokenPosition: number) =>\n startOfTokenPosition + token.length;\n\nconst isCommand = (text: string) => text[0] === '/' && text.split(' ').length <= 1;\n\ntype AutoCompleteInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'giphyEnabled'> &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'autoCompleteSuggestionsLimit'\n | 'giphyActive'\n | 'maxMessageLength'\n | 'mentionAllAppUsersEnabled'\n | 'mentionAllAppUsersQuery'\n | 'numberOfLines'\n | 'onChange'\n | 'setGiphyActive'\n | 'setInputBoxRef'\n | 'setShowMoreOptions'\n | 'text'\n | 'triggerSettings'\n > &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'closeSuggestions' | 'openSuggestions' | 'updateSuggestions'\n > &\n Pick<TranslationContextValue, 't'> & {\n /**\n * This is currently passed in from MessageInput to avoid rerenders\n * that would happen if we put this in the MessageInputContext\n */\n cooldownActive?: boolean;\n };\n\nexport type AutoCompleteInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<AutoCompleteInputPropsWithContext<StreamChatGenerics>>;\n\nconst AutoCompleteInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n cooldownActive = false,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions: updateSuggestionsContext,\n } = props;\n\n const isTrackingStarted = useRef(false);\n const selectionEnd = useRef(0);\n const [textHeight, setTextHeight] = useState(0);\n\n const {\n theme: {\n colors: { black, grey },\n messageInput: { inputBox },\n },\n } = useTheme();\n\n const handleChange = (newText: string, fromUpdate = false) => {\n if (!fromUpdate) {\n onChange(newText);\n } else {\n handleSuggestionsThrottled(newText);\n }\n };\n\n useEffect(() => {\n handleChange(text, true);\n }, [text]);\n\n const startTracking = (trigger: Trigger) => {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n isTrackingStarted.current = true;\n const { type } = triggerSetting;\n openSuggestions(type);\n }\n };\n\n const stopTracking = () => {\n isTrackingStarted.current = false;\n closeSuggestions();\n };\n\n const updateSuggestions = async ({\n query,\n trigger,\n }: {\n query: Suggestion['name'];\n trigger: Trigger;\n }) => {\n if (isMentionTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionUser<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query === queryCallback) {\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n }\n },\n {\n limit: autoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n },\n );\n }\n } else if (isCommandTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionCommand<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n },\n {\n limit: autoCompleteSuggestionsLimit,\n },\n );\n }\n } else {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(query as Emoji['name'], text, (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n });\n }\n }\n };\n\n const handleSelectionChange: TextInputProps['onSelectionChange'] = ({\n nativeEvent: {\n selection: { end },\n },\n }) => {\n selectionEnd.current = end;\n };\n\n const onSelectSuggestion = ({\n item,\n trigger,\n }: {\n item: Suggestion<StreamChatGenerics>;\n trigger: Trigger;\n }) => {\n if (!trigger || !triggerSettings[trigger]) {\n return;\n }\n\n let newTokenString = '';\n if (isCommandTrigger(trigger) && isSuggestionCommand(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isEmojiTrigger(trigger) && isSuggestionEmoji(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n\n const textToModify = text.slice(0, selectionEnd.current);\n\n const startOfTokenPosition = textToModify.lastIndexOf(trigger, selectionEnd.current);\n\n const newCaretPosition = computeCaretPosition(newTokenString, startOfTokenPosition);\n\n const modifiedText = `${textToModify.substring(0, startOfTokenPosition)}${newTokenString}`;\n\n stopTracking();\n\n const newText = text.replace(textToModify, modifiedText);\n\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n onChange(newText.slice(7)); // 7 because of '/giphy ' length\n setGiphyActive(true);\n } else {\n onChange(newText);\n }\n\n selectionEnd.current = newCaretPosition || 0;\n\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n triggerSetting.callback(item);\n }\n }\n };\n\n const handleCommand = async (text: string) => {\n if (!isCommand(text)) {\n return false;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('/');\n }\n const actualToken = text.trim().slice(1);\n await updateSuggestions({ query: actualToken, trigger: '/' });\n\n return true;\n };\n\n const handleMentions = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1];\n const handleMentionsTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleMentionsTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('@');\n }\n\n updateSuggestions({ query: actualToken, trigger: '@' });\n };\n\n const handleEmojis = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1].trim();\n const handleEmojisTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleEmojisTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking(':');\n }\n\n updateSuggestions({ query: actualToken, trigger: ':' });\n };\n\n const handleSuggestions = async (text: string) => {\n if (\n /\\s/.test(text.slice(selectionEnd.current - 1, selectionEnd.current)) &&\n isTrackingStarted.current\n ) {\n stopTracking();\n } else if (!(await handleCommand(text))) {\n const mentionTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?@[^\\s@]*\\s?[^\\s@]*$/g);\n if (mentionTokenMatch) {\n handleMentions({ tokenMatch: mentionTokenMatch });\n } else {\n const emojiTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?:\\w{2,}[^\\s]*\\s?[^\\s]*$/g);\n handleEmojis({ tokenMatch: emojiTokenMatch });\n }\n }\n };\n\n const placeholderText = giphyActive\n ? t('Search GIFs')\n : cooldownActive\n ? t('Slow mode ON')\n : t('Send a message');\n\n const handleSuggestionsThrottled = throttle(handleSuggestions, 100, {\n leading: false,\n });\n\n return (\n <TextInput\n autoFocus={giphyActive}\n maxLength={maxMessageLength}\n multiline\n onChangeText={(newText) => {\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n handleChange(newText.slice(7)); // 7 because of '/giphy' length\n setGiphyActive(true);\n } else {\n handleChange(newText);\n }\n }}\n onContentSizeChange={({\n nativeEvent: {\n contentSize: { height },\n },\n }) => {\n if (!textHeight) {\n setTextHeight(height);\n }\n }}\n onSelectionChange={handleSelectionChange}\n placeholder={placeholderText}\n placeholderTextColor={grey}\n ref={setInputBoxRef}\n style={[\n styles.inputBox,\n {\n color: black,\n maxHeight: (textHeight || 17) * numberOfLines,\n textAlign: I18nManager.isRTL ? 'right' : 'left',\n },\n inputBox,\n ]}\n testID='auto-complete-text-input'\n value={text}\n {...additionalTextInputProps}\n onBlur={(event) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n setShowMoreOptions(true);\n }}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n cooldownActive: prevCooldownActive,\n giphyActive: prevGiphyActive,\n t: prevT,\n text: prevText,\n } = prevProps;\n const {\n cooldownActive: nextCooldownActive,\n giphyActive: nextGiphyActive,\n t: nextT,\n text: nextText,\n } = nextProps;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const textEqual = prevText === nextText;\n if (!textEqual) return false;\n\n const cooldownActiveEqual = prevCooldownActive === nextCooldownActive;\n if (!cooldownActiveEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteInput = React.memo(\n AutoCompleteInputWithContext,\n areEqual,\n) as typeof AutoCompleteInputWithContext;\n\nexport const AutoCompleteInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputProps<StreamChatGenerics>,\n) => {\n const { giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n giphyActive,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n text,\n triggerSettings,\n } = useMessageInputContext<StreamChatGenerics>();\n const { closeSuggestions, openSuggestions, updateSuggestions } =\n useSuggestionsContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedAutoCompleteInput\n {...{\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions,\n }}\n {...props}\n />\n );\n};\n\nAutoCompleteInput.displayName = 'AutoCompleteInput{messageInput{inputBox}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_throttle","_interopRequireDefault","_ChannelContext","_MessageInputContext","_SuggestionsContext","_ThemeContext","_TranslationContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","inputBox","flex","fontSize","includeFontPadding","padding","paddingTop","textAlignVertical","computeCaretPosition","token","startOfTokenPosition","length","isCommand","text","split","AutoCompleteInputWithContext","props","additionalTextInputProps","autoCompleteSuggestionsLimit","closeSuggestions","_props$cooldownActive","cooldownActive","giphyActive","giphyEnabled","maxMessageLength","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","numberOfLines","onChange","openSuggestions","setGiphyActive","setInputBoxRef","t","triggerSettings","updateSuggestionsContext","updateSuggestions","isTrackingStarted","useRef","selectionEnd","_useState","useState","_useState2","_slicedToArray2","textHeight","setTextHeight","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","messageInput","handleChange","newText","fromUpdate","arguments","undefined","handleSuggestionsThrottled","useEffect","startTracking","trigger","triggerSetting","current","type","stopTracking","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_ref","query","_triggerSetting","_triggerSetting2","wrap","_callee$","_context","prev","next","isMentionTrigger","dataProvider","data","queryCallback","onSelect","item","onSelectSuggestion","queryText","limit","isCommandTrigger","stop","_x","apply","handleSelectionChange","_ref3","end","nativeEvent","selection","_ref4","newTokenString","isSuggestionCommand","output","isEmojiTrigger","isSuggestionEmoji","isSuggestionUser","textToModify","slice","lastIndexOf","newCaretPosition","modifiedText","substring","replace","startsWith","callback","handleCommand","_ref5","_callee2","actualToken","_callee2$","_context2","abrupt","trim","_x2","handleMentions","_ref6","tokenMatch","lastToken","handleMentionsTrigger","keys","find","handleEmojis","_ref7","handleEmojisTrigger","handleSuggestions","_ref8","_callee3","mentionTokenMatch","emojiTokenMatch","_callee3$","_context3","test","sent","match","_x3","placeholderText","throttle","leading","createElement","TextInput","_extends2","autoFocus","maxLength","multiline","onChangeText","onContentSizeChange","_ref9","height","contentSize","onSelectionChange","placeholder","placeholderTextColor","ref","style","color","maxHeight","textAlign","I18nManager","isRTL","testID","value","__self","__source","fileName","lineNumber","columnNumber","areEqual","prevProps","nextProps","prevCooldownActive","prevGiphyActive","prevT","prevText","nextCooldownActive","nextGiphyActive","nextT","nextText","giphyActiveEqual","tEqual","textEqual","cooldownActiveEqual","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","_useChannelContext","useChannelContext","_useMessageInputConte","useMessageInputContext","_useSuggestionsContex","useSuggestionsContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["AutoCompleteInput.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { I18nManager, StyleSheet, TextInput, TextInputProps } from 'react-native';\n\nimport throttle from 'lodash/throttle';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { isCommandTrigger, isEmojiTrigger, isMentionTrigger } from '../../utils/utils';\n\nimport type { Trigger } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n inputBox: {\n flex: 1,\n fontSize: 14,\n includeFontPadding: false, // for android vertical text centering\n padding: 0, // removal of default text input padding on android\n paddingTop: 0, // removal of iOS top padding for weird centering\n textAlignVertical: 'center', // for android vertical text centering\n },\n});\n\nconst computeCaretPosition = (token: string, startOfTokenPosition: number) =>\n startOfTokenPosition + token.length;\n\nconst isCommand = (text: string) => text[0] === '/' && text.split(' ').length <= 1;\n\ntype AutoCompleteInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'giphyEnabled'> &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'autoCompleteSuggestionsLimit'\n | 'giphyActive'\n | 'maxMessageLength'\n | 'mentionAllAppUsersEnabled'\n | 'mentionAllAppUsersQuery'\n | 'numberOfLines'\n | 'onChange'\n | 'setGiphyActive'\n | 'setInputBoxRef'\n | 'text'\n | 'triggerSettings'\n > &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'closeSuggestions' | 'openSuggestions' | 'updateSuggestions'\n > &\n Pick<TranslationContextValue, 't'> & {\n /**\n * This is currently passed in from MessageInput to avoid rerenders\n * that would happen if we put this in the MessageInputContext\n */\n cooldownActive?: boolean;\n };\n\nexport type AutoCompleteInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<AutoCompleteInputPropsWithContext<StreamChatGenerics>>;\n\nconst AutoCompleteInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n cooldownActive = false,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n t,\n text,\n triggerSettings,\n updateSuggestions: updateSuggestionsContext,\n } = props;\n\n const isTrackingStarted = useRef(false);\n const selectionEnd = useRef(0);\n const [textHeight, setTextHeight] = useState(0);\n\n const {\n theme: {\n colors: { black, grey },\n messageInput: { inputBox },\n },\n } = useTheme();\n\n const handleChange = (newText: string, fromUpdate = false) => {\n if (!fromUpdate) {\n onChange(newText);\n } else {\n handleSuggestionsThrottled(newText);\n }\n };\n\n useEffect(() => {\n handleChange(text, true);\n }, [text]);\n\n const startTracking = (trigger: Trigger) => {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n isTrackingStarted.current = true;\n const { type } = triggerSetting;\n openSuggestions(type);\n }\n };\n\n const stopTracking = () => {\n isTrackingStarted.current = false;\n closeSuggestions();\n };\n\n const updateSuggestions = async ({\n query,\n trigger,\n }: {\n query: Suggestion['name'];\n trigger: Trigger;\n }) => {\n if (isMentionTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionUser<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query === queryCallback) {\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n }\n },\n {\n limit: autoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n },\n );\n }\n } else if (isCommandTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionCommand<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n },\n {\n limit: autoCompleteSuggestionsLimit,\n },\n );\n }\n } else {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(query as Emoji['name'], text, (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n });\n }\n }\n };\n\n const handleSelectionChange: TextInputProps['onSelectionChange'] = ({\n nativeEvent: {\n selection: { end },\n },\n }) => {\n selectionEnd.current = end;\n };\n\n const onSelectSuggestion = ({\n item,\n trigger,\n }: {\n item: Suggestion<StreamChatGenerics>;\n trigger: Trigger;\n }) => {\n if (!trigger || !triggerSettings[trigger]) {\n return;\n }\n\n let newTokenString = '';\n if (isCommandTrigger(trigger) && isSuggestionCommand(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isEmojiTrigger(trigger) && isSuggestionEmoji(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n\n const textToModify = text.slice(0, selectionEnd.current);\n\n const startOfTokenPosition = textToModify.lastIndexOf(trigger, selectionEnd.current);\n\n const newCaretPosition = computeCaretPosition(newTokenString, startOfTokenPosition);\n\n const modifiedText = `${textToModify.substring(0, startOfTokenPosition)}${newTokenString}`;\n\n stopTracking();\n\n const newText = text.replace(textToModify, modifiedText);\n\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n onChange(newText.slice(7)); // 7 because of '/giphy ' length\n setGiphyActive(true);\n } else {\n onChange(newText);\n }\n\n selectionEnd.current = newCaretPosition || 0;\n\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n triggerSetting.callback(item);\n }\n }\n };\n\n const handleCommand = async (text: string) => {\n if (!isCommand(text)) {\n return false;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('/');\n }\n const actualToken = text.trim().slice(1);\n await updateSuggestions({ query: actualToken, trigger: '/' });\n\n return true;\n };\n\n const handleMentions = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1];\n const handleMentionsTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleMentionsTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('@');\n }\n\n updateSuggestions({ query: actualToken, trigger: '@' });\n };\n\n const handleEmojis = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1].trim();\n const handleEmojisTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleEmojisTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking(':');\n }\n\n updateSuggestions({ query: actualToken, trigger: ':' });\n };\n\n const handleSuggestions = async (text: string) => {\n if (\n /\\s/.test(text.slice(selectionEnd.current - 1, selectionEnd.current)) &&\n isTrackingStarted.current\n ) {\n stopTracking();\n } else if (!(await handleCommand(text))) {\n const mentionTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?@[^\\s@]*\\s?[^\\s@]*$/g);\n if (mentionTokenMatch) {\n handleMentions({ tokenMatch: mentionTokenMatch });\n } else {\n const emojiTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?:\\w{2,}[^\\s]*\\s?[^\\s]*$/g);\n handleEmojis({ tokenMatch: emojiTokenMatch });\n }\n }\n };\n\n const placeholderText = giphyActive\n ? t('Search GIFs')\n : cooldownActive\n ? t('Slow mode ON')\n : t('Send a message');\n\n const handleSuggestionsThrottled = throttle(handleSuggestions, 100, {\n leading: false,\n });\n\n return (\n <TextInput\n autoFocus={giphyActive}\n maxLength={maxMessageLength}\n multiline\n onChangeText={(newText) => {\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n handleChange(newText.slice(7)); // 7 because of '/giphy' length\n setGiphyActive(true);\n } else {\n handleChange(newText);\n }\n }}\n onContentSizeChange={({\n nativeEvent: {\n contentSize: { height },\n },\n }) => {\n if (!textHeight) {\n setTextHeight(height);\n }\n }}\n onSelectionChange={handleSelectionChange}\n placeholder={placeholderText}\n placeholderTextColor={grey}\n ref={setInputBoxRef}\n style={[\n styles.inputBox,\n {\n color: black,\n maxHeight: (textHeight || 17) * numberOfLines,\n textAlign: I18nManager.isRTL ? 'right' : 'left',\n },\n inputBox,\n ]}\n testID='auto-complete-text-input'\n value={text}\n {...additionalTextInputProps}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n cooldownActive: prevCooldownActive,\n giphyActive: prevGiphyActive,\n t: prevT,\n text: prevText,\n } = prevProps;\n const {\n cooldownActive: nextCooldownActive,\n giphyActive: nextGiphyActive,\n t: nextT,\n text: nextText,\n } = nextProps;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const textEqual = prevText === nextText;\n if (!textEqual) return false;\n\n const cooldownActiveEqual = prevCooldownActive === nextCooldownActive;\n if (!cooldownActiveEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteInput = React.memo(\n AutoCompleteInputWithContext,\n areEqual,\n) as typeof AutoCompleteInputWithContext;\n\nexport const AutoCompleteInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputProps<StreamChatGenerics>,\n) => {\n const { giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n giphyActive,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n setGiphyActive,\n setInputBoxRef,\n text,\n triggerSettings,\n } = useMessageInputContext<StreamChatGenerics>();\n const { closeSuggestions, openSuggestions, updateSuggestions } =\n useSuggestionsContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedAutoCompleteInput\n {...{\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n t,\n text,\n triggerSettings,\n updateSuggestions,\n }}\n {...props}\n />\n );\n};\n\nAutoCompleteInput.displayName = 'AutoCompleteInput{messageInput{inputBox}}';\n"],"mappings":"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"}
|
|
@@ -114,6 +114,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
114
114
|
SendButton = props.SendButton,
|
|
115
115
|
sending = props.sending,
|
|
116
116
|
sendMessageAsync = props.sendMessageAsync,
|
|
117
|
+
setShowMoreOptions = props.setShowMoreOptions,
|
|
117
118
|
ShowThreadMessageInChannelButton = props.ShowThreadMessageInChannelButton,
|
|
118
119
|
suggestions = props.suggestions,
|
|
119
120
|
thread = props.thread,
|
|
@@ -140,6 +141,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
140
141
|
autoCompleteInputContainer = _useTheme$theme$messa.autoCompleteInputContainer,
|
|
141
142
|
composerContainer = _useTheme$theme$messa.composerContainer,
|
|
142
143
|
container = _useTheme$theme$messa.container,
|
|
144
|
+
focusedInputBoxContainer = _useTheme$theme$messa.focusedInputBoxContainer,
|
|
143
145
|
inputBoxContainer = _useTheme$theme$messa.inputBoxContainer,
|
|
144
146
|
optionsContainer = _useTheme$theme$messa.optionsContainer,
|
|
145
147
|
replyContainer = _useTheme$theme$messa.replyContainer,
|
|
@@ -169,6 +171,10 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
169
171
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
170
172
|
hasResetFiles = _useState6[0],
|
|
171
173
|
setHasResetFiles = _useState6[1];
|
|
174
|
+
var _useState7 = (0, _react.useState)(false),
|
|
175
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
176
|
+
focused = _useState8[0],
|
|
177
|
+
setFocused = _useState8[1];
|
|
172
178
|
var selectedImagesLength = hasResetImages ? selectedImages.length : 0;
|
|
173
179
|
var imageUploadsLength = hasResetImages ? imageUploads.length : 0;
|
|
174
180
|
var selectedFilesLength = hasResetFiles ? selectedFiles.length : 0;
|
|
@@ -381,6 +387,23 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
381
387
|
var additionalTextInputContainerProps = (0, _extends2["default"])({
|
|
382
388
|
editable: disabled ? false : undefined
|
|
383
389
|
}, additionalTextInputProps);
|
|
390
|
+
var memoizedAdditionalTextInputProps = (0, _react.useMemo)(function () {
|
|
391
|
+
return (0, _extends2["default"])({}, additionalTextInputProps, {
|
|
392
|
+
onBlur: function onBlur(event) {
|
|
393
|
+
if (additionalTextInputProps != null && additionalTextInputProps.onBlur) {
|
|
394
|
+
additionalTextInputProps == null ? void 0 : additionalTextInputProps.onBlur(event);
|
|
395
|
+
}
|
|
396
|
+
if (setFocused) setFocused(false);
|
|
397
|
+
setShowMoreOptions(true);
|
|
398
|
+
},
|
|
399
|
+
onFocus: function onFocus(event) {
|
|
400
|
+
if (additionalTextInputProps != null && additionalTextInputProps.onFocus) {
|
|
401
|
+
additionalTextInputProps.onFocus(event);
|
|
402
|
+
}
|
|
403
|
+
if (setFocused) setFocused(true);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
}, [additionalTextInputProps]);
|
|
384
407
|
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
385
408
|
onLayout: function onLayout(_ref2) {
|
|
386
409
|
var newHeight = _ref2.nativeEvent.layout.height;
|
|
@@ -393,21 +416,21 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
393
416
|
__self: _this,
|
|
394
417
|
__source: {
|
|
395
418
|
fileName: _jsxFileName,
|
|
396
|
-
lineNumber:
|
|
419
|
+
lineNumber: 547,
|
|
397
420
|
columnNumber: 7
|
|
398
421
|
}
|
|
399
422
|
}, editing && _react["default"].createElement(InputEditingStateHeader, {
|
|
400
423
|
__self: _this,
|
|
401
424
|
__source: {
|
|
402
425
|
fileName: _jsxFileName,
|
|
403
|
-
lineNumber:
|
|
426
|
+
lineNumber: 555,
|
|
404
427
|
columnNumber: 21
|
|
405
428
|
}
|
|
406
429
|
}), quotedMessage && _react["default"].createElement(InputReplyStateHeader, {
|
|
407
430
|
__self: _this,
|
|
408
431
|
__source: {
|
|
409
432
|
fileName: _jsxFileName,
|
|
410
|
-
lineNumber:
|
|
433
|
+
lineNumber: 556,
|
|
411
434
|
columnNumber: 27
|
|
412
435
|
}
|
|
413
436
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -415,7 +438,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
415
438
|
__self: _this,
|
|
416
439
|
__source: {
|
|
417
440
|
fileName: _jsxFileName,
|
|
418
|
-
lineNumber:
|
|
441
|
+
lineNumber: 557,
|
|
419
442
|
columnNumber: 9
|
|
420
443
|
}
|
|
421
444
|
}, Input ? _react["default"].createElement(Input, {
|
|
@@ -424,7 +447,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
424
447
|
__self: _this,
|
|
425
448
|
__source: {
|
|
426
449
|
fileName: _jsxFileName,
|
|
427
|
-
lineNumber:
|
|
450
|
+
lineNumber: 559,
|
|
428
451
|
columnNumber: 13
|
|
429
452
|
}
|
|
430
453
|
}) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
@@ -432,25 +455,25 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
432
455
|
__self: _this,
|
|
433
456
|
__source: {
|
|
434
457
|
fileName: _jsxFileName,
|
|
435
|
-
lineNumber:
|
|
458
|
+
lineNumber: 565,
|
|
436
459
|
columnNumber: 15
|
|
437
460
|
}
|
|
438
461
|
}, InputButtons && _react["default"].createElement(InputButtons, {
|
|
439
462
|
__self: _this,
|
|
440
463
|
__source: {
|
|
441
464
|
fileName: _jsxFileName,
|
|
442
|
-
lineNumber:
|
|
465
|
+
lineNumber: 566,
|
|
443
466
|
columnNumber: 34
|
|
444
467
|
}
|
|
445
468
|
})), _react["default"].createElement(_reactNative.View, {
|
|
446
469
|
style: [styles.inputBoxContainer, {
|
|
447
470
|
borderColor: grey_whisper,
|
|
448
471
|
paddingVertical: giphyActive ? 8 : 12
|
|
449
|
-
}, inputBoxContainer],
|
|
472
|
+
}, inputBoxContainer, focused ? focusedInputBoxContainer : null],
|
|
450
473
|
__self: _this,
|
|
451
474
|
__source: {
|
|
452
475
|
fileName: _jsxFileName,
|
|
453
|
-
lineNumber:
|
|
476
|
+
lineNumber: 568,
|
|
454
477
|
columnNumber: 15
|
|
455
478
|
}
|
|
456
479
|
}, (typeof editing !== 'boolean' && (editing == null ? void 0 : editing.quoted_message) || quotedMessage) && _react["default"].createElement(_reactNative.View, {
|
|
@@ -458,21 +481,21 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
458
481
|
__self: _this,
|
|
459
482
|
__source: {
|
|
460
483
|
fileName: _jsxFileName,
|
|
461
|
-
lineNumber:
|
|
484
|
+
lineNumber: 580,
|
|
462
485
|
columnNumber: 19
|
|
463
486
|
}
|
|
464
487
|
}, _react["default"].createElement(Reply, {
|
|
465
488
|
__self: _this,
|
|
466
489
|
__source: {
|
|
467
490
|
fileName: _jsxFileName,
|
|
468
|
-
lineNumber:
|
|
491
|
+
lineNumber: 581,
|
|
469
492
|
columnNumber: 21
|
|
470
493
|
}
|
|
471
494
|
})), imageUploads.length ? _react["default"].createElement(ImageUploadPreview, {
|
|
472
495
|
__self: _this,
|
|
473
496
|
__source: {
|
|
474
497
|
fileName: _jsxFileName,
|
|
475
|
-
lineNumber:
|
|
498
|
+
lineNumber: 584,
|
|
476
499
|
columnNumber: 40
|
|
477
500
|
}
|
|
478
501
|
}) : null, imageUploads.length && fileUploads.length ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -483,14 +506,14 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
483
506
|
__self: _this,
|
|
484
507
|
__source: {
|
|
485
508
|
fileName: _jsxFileName,
|
|
486
|
-
lineNumber:
|
|
509
|
+
lineNumber: 586,
|
|
487
510
|
columnNumber: 19
|
|
488
511
|
}
|
|
489
512
|
}) : null, fileUploads.length ? _react["default"].createElement(FileUploadPreview, {
|
|
490
513
|
__self: _this,
|
|
491
514
|
__source: {
|
|
492
515
|
fileName: _jsxFileName,
|
|
493
|
-
lineNumber:
|
|
516
|
+
lineNumber: 596,
|
|
494
517
|
columnNumber: 39
|
|
495
518
|
}
|
|
496
519
|
}) : null, giphyActive ? _react["default"].createElement(InputGiphySearch, {
|
|
@@ -498,7 +521,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
498
521
|
__self: _this,
|
|
499
522
|
__source: {
|
|
500
523
|
fileName: _jsxFileName,
|
|
501
|
-
lineNumber:
|
|
524
|
+
lineNumber: 598,
|
|
502
525
|
columnNumber: 19
|
|
503
526
|
}
|
|
504
527
|
}) : _react["default"].createElement(_reactNative.View, {
|
|
@@ -506,16 +529,16 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
506
529
|
__self: _this,
|
|
507
530
|
__source: {
|
|
508
531
|
fileName: _jsxFileName,
|
|
509
|
-
lineNumber:
|
|
532
|
+
lineNumber: 600,
|
|
510
533
|
columnNumber: 19
|
|
511
534
|
}
|
|
512
535
|
}, _react["default"].createElement(_AutoCompleteInput.AutoCompleteInput, {
|
|
513
|
-
additionalTextInputProps:
|
|
536
|
+
additionalTextInputProps: memoizedAdditionalTextInputProps,
|
|
514
537
|
cooldownActive: !!cooldownRemainingSeconds,
|
|
515
538
|
__self: _this,
|
|
516
539
|
__source: {
|
|
517
540
|
fileName: _jsxFileName,
|
|
518
|
-
lineNumber:
|
|
541
|
+
lineNumber: 601,
|
|
519
542
|
columnNumber: 21
|
|
520
543
|
}
|
|
521
544
|
}))), _react["default"].createElement(_reactNative.View, {
|
|
@@ -523,7 +546,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
523
546
|
__self: _this,
|
|
524
547
|
__source: {
|
|
525
548
|
fileName: _jsxFileName,
|
|
526
|
-
lineNumber:
|
|
549
|
+
lineNumber: 608,
|
|
527
550
|
columnNumber: 15
|
|
528
551
|
}
|
|
529
552
|
}, cooldownRemainingSeconds ? _react["default"].createElement(CooldownTimer, {
|
|
@@ -531,7 +554,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
531
554
|
__self: _this,
|
|
532
555
|
__source: {
|
|
533
556
|
fileName: _jsxFileName,
|
|
534
|
-
lineNumber:
|
|
557
|
+
lineNumber: 610,
|
|
535
558
|
columnNumber: 19
|
|
536
559
|
}
|
|
537
560
|
}) : _react["default"].createElement(SendButton, {
|
|
@@ -539,7 +562,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
539
562
|
__self: _this,
|
|
540
563
|
__source: {
|
|
541
564
|
fileName: _jsxFileName,
|
|
542
|
-
lineNumber:
|
|
565
|
+
lineNumber: 612,
|
|
543
566
|
columnNumber: 19
|
|
544
567
|
}
|
|
545
568
|
})))), _react["default"].createElement(ShowThreadMessageInChannelButton, {
|
|
@@ -547,7 +570,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
547
570
|
__self: _this,
|
|
548
571
|
__source: {
|
|
549
572
|
fileName: _jsxFileName,
|
|
550
|
-
lineNumber:
|
|
573
|
+
lineNumber: 622,
|
|
551
574
|
columnNumber: 9
|
|
552
575
|
}
|
|
553
576
|
})), triggerType && suggestions ? _react["default"].createElement(_reactNative.View, {
|
|
@@ -558,7 +581,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
558
581
|
__self: _this,
|
|
559
582
|
__source: {
|
|
560
583
|
fileName: _jsxFileName,
|
|
561
|
-
lineNumber:
|
|
584
|
+
lineNumber: 626,
|
|
562
585
|
columnNumber: 9
|
|
563
586
|
}
|
|
564
587
|
}, _react["default"].createElement(AutoCompleteSuggestionList, {
|
|
@@ -570,7 +593,7 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
570
593
|
__self: _this,
|
|
571
594
|
__source: {
|
|
572
595
|
fileName: _jsxFileName,
|
|
573
|
-
lineNumber:
|
|
596
|
+
lineNumber: 633,
|
|
574
597
|
columnNumber: 11
|
|
575
598
|
}
|
|
576
599
|
})) : null, selectedPicker && _react["default"].createElement(_reactNative.View, {
|
|
@@ -581,14 +604,14 @@ var MessageInputWithContext = function MessageInputWithContext(props) {
|
|
|
581
604
|
__self: _this,
|
|
582
605
|
__source: {
|
|
583
606
|
fileName: _jsxFileName,
|
|
584
|
-
lineNumber:
|
|
607
|
+
lineNumber: 643,
|
|
585
608
|
columnNumber: 9
|
|
586
609
|
}
|
|
587
610
|
}, _react["default"].createElement(_AttachmentSelectionBar.AttachmentSelectionBar, {
|
|
588
611
|
__self: _this,
|
|
589
612
|
__source: {
|
|
590
613
|
fileName: _jsxFileName,
|
|
591
|
-
lineNumber:
|
|
614
|
+
lineNumber: 655,
|
|
592
615
|
columnNumber: 11
|
|
593
616
|
}
|
|
594
617
|
})));
|
|
@@ -735,7 +758,7 @@ var MessageInput = function MessageInput(props) {
|
|
|
735
758
|
__self: _this,
|
|
736
759
|
__source: {
|
|
737
760
|
fileName: _jsxFileName,
|
|
738
|
-
lineNumber:
|
|
761
|
+
lineNumber: 861,
|
|
739
762
|
columnNumber: 12
|
|
740
763
|
}
|
|
741
764
|
});
|
|
@@ -794,7 +817,7 @@ var MessageInput = function MessageInput(props) {
|
|
|
794
817
|
__self: _this,
|
|
795
818
|
__source: {
|
|
796
819
|
fileName: _jsxFileName,
|
|
797
|
-
lineNumber:
|
|
820
|
+
lineNumber: 865,
|
|
798
821
|
columnNumber: 5
|
|
799
822
|
}
|
|
800
823
|
}));
|