stream-chat-react-native-core 3.9.2 → 3.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +4 -3
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/ChannelList/Skeleton.js +14 -13
  4. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  5. package/lib/commonjs/components/Message/Message.js +1 -1
  6. package/lib/commonjs/components/Message/Message.js.map +1 -1
  7. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +89 -13
  8. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  9. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  10. package/lib/commonjs/version.json +1 -1
  11. package/lib/module/components/Attachment/Attachment.js +4 -3
  12. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  13. package/lib/module/components/ChannelList/Skeleton.js +14 -13
  14. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  15. package/lib/module/components/Message/Message.js +1 -1
  16. package/lib/module/components/Message/Message.js.map +1 -1
  17. package/lib/module/components/Message/MessageSimple/utils/renderText.js +89 -13
  18. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  19. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  20. package/lib/module/version.json +1 -1
  21. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +2 -1
  22. package/package.json +1 -1
  23. package/src/components/Attachment/Attachment.tsx +2 -2
  24. package/src/components/ChannelList/Skeleton.tsx +2 -1
  25. package/src/components/Message/Message.tsx +1 -1
  26. package/src/components/Message/MessageSimple/utils/renderText.tsx +66 -23
  27. package/src/contexts/themeContext/utils/theme.ts +2 -1
  28. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemText","flex","mentions","fontWeight","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","urls","urlInfo","displayLink","encoded","replace","length","omission","markdown","protocol","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","withinLink","link","React","createElement","Text","key","style","suppressHighlighting","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","customRules","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text } from 'react-native';\nimport anchorme from 'anchorme';\nimport truncate from 'lodash/truncate';\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n} from 'simple-markdown';\n\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemText: {\n flex: 0,\n },\n mentions: {\n fontWeight: '700',\n },\n // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = anchorme(newText, {\n list: true,\n });\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) =>\n onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n state.withinLink = true;\n const link = React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.autolink,\n suppressHighlighting: true,\n },\n output(node.content, state),\n );\n state.withinLink = false;\n return link;\n };\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.mentions,\n },\n Array.isArray(node.content) ? node.content[0]?.content || '' : output(node.content, state),\n );\n };\n\n const customRules = {\n link: { react },\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n"]}
1
+ {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","urls","urlInfo","displayLink","encoded","replace","length","omission","markdown","protocol","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","key","withinLink","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","listLevels","sub","top","customListAtLevel","level","items","map","item","index","withinList","type","isTopLevelText","includes","ordered","start","isSublist","sublist","customRules","link","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text, View } from 'react-native';\nimport anchorme from 'anchorme';\nimport truncate from 'lodash/truncate';\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n SingleASTNode,\n} from 'simple-markdown';\n\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = anchorme(newText, {\n list: true,\n });\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) =>\n onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content) ? node.content[0].content || '' : output(node.content, state)}\n </Text>\n );\n };\n\n const listLevels = {\n sub: 'sub',\n top: 'top',\n };\n\n /**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n * */\n const customListAtLevel =\n (level: keyof typeof listLevels): ReactNodeOutput =>\n (node, output, { ...state }) => {\n const items = node.items.map((item: Array<SingleASTNode>, index: number) => {\n const withinList = item.length > 1 && item[1].type === 'list';\n const content = output(item, { ...state, withinList });\n\n const isTopLevelText =\n ['text', 'paragraph', 'strong'].includes(item[0].type) && withinList === false;\n\n return (\n <View key={index} style={styles.listRow}>\n <Text style={styles.listItemNumber}>\n {node.ordered ? `${node.start + index}. ` : `\\u2022`}\n </Text>\n <Text style={[styles.listItemText, isTopLevelText && { marginBottom: 0 }]}>\n {content}\n </Text>\n </View>\n );\n });\n\n const isSublist = level === 'sub';\n return (\n <View key={state.key} style={[isSublist ? styles.list : styles.sublist]}>\n {items}\n </View>\n );\n };\n\n const customRules = {\n link: { react },\n list: { react: customListAtLevel('top') },\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: customListAtLevel('sub') },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["theme.ts"],"names":["DEFAULT_STATUS_ICON_SIZE","Colors","accent_blue","accent_green","accent_red","bg_gradient_end","bg_gradient_start","black","blue_alice","border","grey","grey_gainsboro","grey_whisper","icon_background","modal_shadow","overlay","overlay_dark","shadow_icon","targetedMessageBackground","transparent","white","white_smoke","white_snow","defaultTheme","attachmentPicker","bottomSheetContentContainer","errorButtonText","errorContainer","errorText","image","imageOverlay","imageOverlaySelectedComponent","check","attachmentSelectionBar","container","icon","avatar","BASE_AVATAR_SIZE","borderRadius","height","width","presenceIndicator","cx","cy","r","strokeWidth","presenceIndicatorContainer","channel","selectChannel","channelListFooterLoadingIndicator","channelListHeaderErrorIndicator","channelListLoadingIndicator","channelListMessenger","flatList","flatListContent","channelListSkeleton","animationTime","background","gradientStart","stopOpacity","gradientStop","channelPreview","checkAllIcon","checkIcon","contentContainer","date","message","fontWeight","row","title","unreadContainer","unreadText","colors","dateHeader","text","emptyStateIndicator","channelContainer","channelDetails","channelTitle","groupAvatar","resizeMode","iconBadge","iconInner","unreadCount","iconSquare","imageGallery","blurType","footer","centerContainer","imageCountText","innerContainer","leftContainer","rightContainer","grid","gridAvatar","gridAvatarWrapper","gridImage","handle","handleText","header","dateText","usernameText","inlineDateSeparator","loadingDots","loadingDot","spacing","loadingErrorIndicator","retryText","loadingIndicator","loadingText","messageInput","attachButton","attachButtonContainer","autoCompleteInputContainer","commandsButton","commandsButtonContainer","composerContainer","editingBoxContainer","editingBoxHeader","editingBoxHeaderTitle","fileUploadPreview","dismiss","fileContainer","fileContentContainer","filenameText","fileSizeText","fileTextContainer","giphyContainer","giphyText","imageUploadPreview","itemContainer","upload","inputBox","inputBoxContainer","moreOptionsButton","optionsContainer","replyContainer","sendButton","sendButtonContainer","showThreadMessageInChannelButton","checkBoxActive","checkBoxInactive","suggestions","command","args","iconContainer","commandsHeader","maxHeight","emoji","emojisHeader","item","mention","avatarSize","column","name","tag","suggestionsListContainer","uploadProgressIndicator","messageList","errorNotification","errorNotificationText","inlineUnreadIndicator","listContainer","messageSystem","line","textContainer","scrollToBottomButton","touchable","unreadCountNotificationContainer","unreadCountNotificationText","wrapper","typingIndicatorContainer","messageSimple","actions","button","buttonText","avatarWrapper","leftAlign","marginRight","rightAlign","marginLeft","spacer","card","authorName","authorNameContainer","authorNameFooter","authorNameFooterContainer","authorNameMask","cover","description","noURI","borderLeftWidth","paddingLeft","content","borderRadiusL","borderRadiusS","containerInner","deletedContainer","deletedContainerInner","deletedMetaText","paddingHorizontal","deletedText","em","fontSize","fontStyle","paddingRight","paddingTop","errorIcon","errorIconContainer","bottom","position","right","eyeIcon","markdown","messageUser","metaContainer","flexDirection","marginTop","metaText","replyBorder","onlyEmojiMarkdown","file","details","fileSize","fileAttachmentGroup","gallery","galleryContainer","galleryItemColumn","halfSize","imageContainer","moreImagesContainer","moreImagesText","size","giphy","cancel","cancelContainer","giphyMask","selectionContainer","selector","send","sendContainer","shuffleButton","reactionList","middleIcon","radius","reactionBubble","reactionBubbleBackground","reactionSize","strokeSize","replies","avatarContainerMultiple","avatarContainerSingle","leftAvatarsContainer","leftCurve","messageRepliesText","rightAvatarsContainer","rightCurve","status","readByCount","statusContainer","timeIcon","targetedMessageUnderlay","padding","reactions","avatarContainer","avatarName","flatListContainer","reactionsList","reaction","reply","fileAttachmentContainer","imageAttachment","markdownStyles","messageContainer","screenPadding","spinner","thread","newThread","typingIndicator"],"mappings":"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","sourcesContent":["import { vh } from '../../../utils/utils';\n\nimport type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\nimport type { CircleProps, StopProps } from 'react-native-svg';\n\nimport type { IconProps } from '../../../icons/utils/base';\n\nexport const DEFAULT_STATUS_ICON_SIZE = 16;\n\nexport const Colors = {\n accent_blue: '#005FFF',\n accent_green: '#20E070',\n accent_red: '#FF3742',\n bg_gradient_end: '#F7F7F7',\n bg_gradient_start: '#FCFCFC',\n black: '#000000',\n blue_alice: '#E9F2FF',\n border: '#00000014', // 14 = 8% opacity; top: x=0, y=-1; bottom: x=0, y=1\n grey: '#7A7A7A',\n grey_gainsboro: '#DBDBDB',\n grey_whisper: '#ECEBEB',\n icon_background: '#FFFFFF',\n modal_shadow: '#00000099', // 99 = 60% opacity; x=0, y= 1, radius=4\n overlay: '#00000033', // 33 = 20% opacity\n overlay_dark: '#00000099', // 99 = 60% opacity\n shadow_icon: '#00000040', // 40 = 25% opacity; x=0, y=0, radius=4\n targetedMessageBackground: '#FBF4DD', // dark mode = #302D22\n transparent: 'transparent',\n white: '#FFFFFF',\n white_smoke: '#F2F2F2',\n white_snow: '#FCFCFC',\n};\n\nexport type MarkdownStyle = Partial<{\n autolink: TextStyle;\n blockQuoteBar: ViewStyle;\n blockQuoteSection: ViewStyle;\n blockQuoteSectionBar: ViewStyle;\n blockQuoteText: TextStyle | ViewStyle;\n br: TextStyle;\n codeBlock: TextStyle;\n del: TextStyle;\n em: TextStyle;\n heading: TextStyle;\n heading1: TextStyle;\n heading2: TextStyle;\n heading3: TextStyle;\n heading4: TextStyle;\n heading5: TextStyle;\n heading6: TextStyle;\n hr: ViewStyle;\n image: ImageStyle;\n inlineCode: TextStyle;\n list: ViewStyle;\n listItem: ViewStyle;\n listItemBullet: TextStyle;\n listItemNumber: TextStyle;\n listItemText: TextStyle;\n listRow: ViewStyle;\n mailTo: TextStyle;\n mentions: TextStyle;\n newline: TextStyle;\n noMargin: TextStyle;\n paragraph: TextStyle;\n paragraphCenter: TextStyle;\n paragraphWithImage: ViewStyle;\n strong: TextStyle;\n sublist: ViewStyle;\n table: ViewStyle;\n tableHeader: ViewStyle;\n tableHeaderCell: TextStyle;\n tableRow: ViewStyle;\n tableRowCell: ViewStyle;\n tableRowLast: ViewStyle;\n text: TextStyle;\n u: TextStyle;\n view: ViewStyle;\n}>;\n\nexport type Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: ViewStyle;\n errorButtonText: TextStyle;\n errorContainer: ViewStyle;\n errorText: TextStyle;\n image: ViewStyle;\n imageOverlay: ViewStyle;\n imageOverlaySelectedComponent: {\n check: ViewStyle;\n };\n };\n attachmentSelectionBar: {\n container: ViewStyle;\n icon: ViewStyle;\n };\n avatar: {\n BASE_AVATAR_SIZE: number;\n container: ViewStyle;\n image: ImageStyle;\n presenceIndicator: CircleProps;\n presenceIndicatorContainer: ViewStyle;\n };\n channel: {\n selectChannel: TextStyle;\n };\n channelListFooterLoadingIndicator: {\n container: ViewStyle;\n };\n channelListHeaderErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n };\n channelListLoadingIndicator: {\n container: ViewStyle;\n };\n channelListMessenger: {\n flatList: ViewStyle;\n flatListContent: ViewStyle;\n };\n channelListSkeleton: {\n animationTime: number;\n background: ViewStyle;\n container: ViewStyle;\n gradientStart: StopProps;\n gradientStop: StopProps;\n height: number;\n };\n channelPreview: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n container: ViewStyle;\n contentContainer: ViewStyle;\n date: TextStyle;\n message: TextStyle & {\n fontWeight: TextStyle['fontWeight'];\n };\n row: ViewStyle;\n title: TextStyle;\n unreadContainer: ViewStyle;\n unreadText: TextStyle;\n };\n colors: typeof Colors & { [key: string]: string };\n dateHeader: {\n container: ViewStyle;\n text: TextStyle;\n };\n emptyStateIndicator: {\n channelContainer: ViewStyle;\n channelDetails: TextStyle;\n channelTitle: TextStyle;\n };\n groupAvatar: {\n container: ViewStyle;\n image: ImageStyle;\n };\n iconBadge: {\n icon: ViewStyle;\n iconInner: ViewStyle;\n unreadCount: TextStyle;\n };\n iconSquare: {\n container: ViewStyle;\n image: ImageStyle;\n };\n imageGallery: {\n blurType: 'light' | 'dark';\n footer: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n imageCountText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n };\n grid: {\n contentContainer: ViewStyle;\n gridAvatar: ImageStyle;\n gridAvatarWrapper: ViewStyle;\n gridImage: ViewStyle;\n handle: ViewStyle;\n handleText: TextStyle;\n overlay: ViewStyle;\n };\n header: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n dateText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n usernameText: TextStyle;\n };\n backgroundColor?: string;\n };\n inlineDateSeparator: {\n container: ViewStyle;\n text: TextStyle;\n };\n loadingDots: {\n container: ViewStyle;\n loadingDot: ViewStyle;\n spacing: number;\n };\n loadingErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n retryText: TextStyle;\n };\n loadingIndicator: {\n container: ViewStyle;\n loadingText: TextStyle;\n };\n messageInput: {\n attachButton: ViewStyle;\n attachButtonContainer: ViewStyle;\n attachmentSelectionBar: ViewStyle;\n autoCompleteInputContainer: ViewStyle;\n commandsButton: ViewStyle;\n commandsButtonContainer: ViewStyle;\n composerContainer: ViewStyle;\n container: ViewStyle;\n editingBoxContainer: ViewStyle;\n editingBoxHeader: ViewStyle;\n editingBoxHeaderTitle: TextStyle;\n fileUploadPreview: {\n dismiss: ViewStyle;\n fileContainer: ViewStyle;\n fileContentContainer: ViewStyle;\n filenameText: TextStyle;\n fileSizeText: TextStyle;\n fileTextContainer: ViewStyle;\n flatList: ViewStyle;\n };\n giphyContainer: ViewStyle;\n giphyText: TextStyle;\n imageUploadPreview: {\n dismiss: ViewStyle;\n flatList: ViewStyle;\n itemContainer: ViewStyle;\n upload: ImageStyle;\n };\n inputBox: TextStyle;\n inputBoxContainer: ViewStyle;\n moreOptionsButton: ViewStyle;\n optionsContainer: ViewStyle;\n replyContainer: ViewStyle;\n sendButton: ViewStyle;\n sendButtonContainer: ViewStyle;\n showThreadMessageInChannelButton: {\n check: IconProps;\n checkBoxActive: ViewStyle;\n checkBoxInactive: ViewStyle;\n container: ViewStyle;\n innerContainer: ViewStyle;\n text: TextStyle;\n };\n suggestions: {\n command: {\n args: TextStyle;\n container: ViewStyle;\n iconContainer: ViewStyle;\n title: TextStyle;\n };\n commandsHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n container: ViewStyle & {\n maxHeight: number;\n };\n emoji: {\n container: ViewStyle;\n text: TextStyle;\n };\n emojisHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n item: ViewStyle;\n mention: {\n avatarSize: number;\n column: ViewStyle;\n container: ViewStyle;\n name: TextStyle;\n tag: TextStyle;\n };\n };\n suggestionsListContainer: ViewStyle;\n uploadProgressIndicator: {\n container: ViewStyle;\n overlay: ViewStyle;\n };\n };\n messageList: {\n container: ViewStyle;\n contentContainer: ViewStyle;\n errorNotification: ViewStyle;\n errorNotificationText: TextStyle;\n inlineUnreadIndicator: {\n container: ViewStyle;\n text: TextStyle;\n };\n listContainer: ViewStyle;\n messageSystem: {\n container: ViewStyle;\n dateText: TextStyle;\n line: ViewStyle;\n text: TextStyle;\n textContainer: ViewStyle;\n };\n scrollToBottomButton: {\n container: ViewStyle;\n touchable: ViewStyle;\n unreadCountNotificationContainer: ViewStyle;\n unreadCountNotificationText: TextStyle;\n wrapper: ViewStyle;\n };\n typingIndicatorContainer: ViewStyle;\n };\n messageSimple: {\n actions: {\n button: ViewStyle & {\n defaultBackgroundColor?: ViewStyle['backgroundColor'];\n defaultBorderColor?: ViewStyle['borderColor'];\n primaryBackgroundColor?: ViewStyle['backgroundColor'];\n primaryBorderColor?: ViewStyle['borderColor'];\n };\n buttonText: TextStyle & {\n defaultColor?: TextStyle['color'];\n primaryColor?: TextStyle['color'];\n };\n container: ViewStyle;\n };\n avatarWrapper: {\n container: ViewStyle;\n leftAlign: ViewStyle;\n rightAlign: ViewStyle;\n spacer: ViewStyle;\n };\n card: {\n authorName: TextStyle;\n authorNameContainer: ViewStyle;\n authorNameFooter: TextStyle;\n authorNameFooterContainer: ViewStyle;\n authorNameMask: ViewStyle;\n container: ViewStyle;\n cover: ImageStyle;\n footer: ViewStyle & {\n description: TextStyle;\n title: TextStyle;\n };\n noURI: ViewStyle;\n };\n container: ViewStyle;\n content: {\n container: ViewStyle & {\n borderRadiusL: ViewStyle['borderBottomLeftRadius' | 'borderTopLeftRadius'];\n borderRadiusS: ViewStyle['borderBottomRightRadius' | 'borderTopRightRadius'];\n };\n containerInner: ViewStyle;\n deletedContainer: ViewStyle;\n deletedContainerInner: ViewStyle;\n deletedMetaText: TextStyle;\n deletedText: MarkdownStyle;\n errorContainer: ViewStyle;\n errorIcon: IconProps;\n errorIconContainer: ViewStyle;\n eyeIcon: IconProps;\n /**\n * Available options for styling text:\n * https://github.com/andangrd/react-native-markdown-package/blob/master/styles.js\n */\n markdown: MarkdownStyle;\n messageUser: TextStyle;\n metaContainer: ViewStyle;\n metaText: TextStyle;\n replyBorder: ViewStyle;\n replyContainer: ViewStyle;\n textContainer: ViewStyle & {\n onlyEmojiMarkdown: MarkdownStyle;\n };\n wrapper: ViewStyle;\n };\n file: {\n container: ViewStyle;\n details: ViewStyle;\n fileSize: TextStyle;\n icon: IconProps;\n title: TextStyle;\n };\n fileAttachmentGroup: {\n container: ViewStyle;\n };\n gallery: {\n galleryContainer: ViewStyle;\n galleryItemColumn: ViewStyle;\n halfSize: ViewStyle['height'];\n image: ImageStyle;\n imageContainer: ViewStyle;\n moreImagesContainer: ViewStyle;\n moreImagesText: TextStyle;\n size: ViewStyle['height'];\n width: ViewStyle['width'];\n };\n giphy: {\n cancel: TextStyle;\n cancelContainer: ViewStyle;\n container: ViewStyle;\n giphy: ImageStyle;\n giphyContainer: ViewStyle;\n giphyMask: ViewStyle;\n giphyText: TextStyle;\n selectionContainer: ViewStyle;\n selector: ViewStyle;\n send: TextStyle;\n sendContainer: ViewStyle;\n shuffleButton: ViewStyle;\n title: TextStyle;\n };\n reactionList: {\n container: ViewStyle;\n middleIcon: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n reactionSize: number;\n strokeSize: number;\n };\n replies: {\n avatar: ViewStyle;\n avatarContainerMultiple: ViewStyle;\n avatarContainerSingle: ViewStyle;\n container: ViewStyle;\n leftAvatarsContainer: ViewStyle;\n leftCurve: ViewStyle;\n messageRepliesText: TextStyle;\n rightAvatarsContainer: ViewStyle;\n rightCurve: ViewStyle;\n avatarSize?: number;\n };\n status: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n readByCount: TextStyle;\n statusContainer: ViewStyle;\n timeIcon: IconProps;\n };\n targetedMessageUnderlay: ViewStyle;\n };\n overlay: {\n padding: number;\n reactions: {\n avatarContainer: ViewStyle;\n avatarName: TextStyle;\n avatarSize: number;\n container: ViewStyle;\n flatListContainer: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n title: TextStyle;\n };\n reactionsList: {\n radius: number;\n reaction: ViewStyle;\n reactionList: ViewStyle;\n reactionSize: number;\n };\n };\n reply: {\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n markdownStyles: MarkdownStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n };\n screenPadding: number;\n spinner: ViewStyle;\n thread: {\n newThread: ViewStyle & {\n text: TextStyle;\n backgroundGradientStart?: string;\n backgroundGradientStop?: string;\n };\n };\n typingIndicator: {\n container: ViewStyle;\n text: TextStyle & {\n fontSize: TextStyle['fontSize'];\n };\n };\n};\n\nexport const defaultTheme: Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: {},\n errorButtonText: {},\n errorContainer: {},\n errorText: {},\n image: {},\n imageOverlay: {},\n imageOverlaySelectedComponent: {\n check: {},\n },\n },\n attachmentSelectionBar: {\n container: {},\n icon: {},\n },\n avatar: {\n BASE_AVATAR_SIZE: 32,\n container: {},\n image: {\n borderRadius: 16,\n height: 32,\n width: 32,\n },\n presenceIndicator: {\n cx: 6,\n cy: 6,\n r: 5,\n strokeWidth: 2,\n },\n presenceIndicatorContainer: {},\n },\n channel: {\n selectChannel: {},\n },\n channelListFooterLoadingIndicator: {\n container: {},\n },\n channelListHeaderErrorIndicator: {\n container: {},\n errorText: {},\n },\n channelListLoadingIndicator: {\n container: {},\n },\n channelListMessenger: {\n flatList: {},\n flatListContent: {},\n },\n channelListSkeleton: {\n animationTime: 1800, // in milliseconds\n background: {},\n container: {},\n gradientStart: {\n stopOpacity: 0,\n },\n gradientStop: {\n stopOpacity: 0.5,\n },\n height: 64,\n },\n channelPreview: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n container: {},\n contentContainer: {},\n date: {},\n message: {\n fontWeight: '400',\n },\n row: {},\n title: {},\n unreadContainer: {},\n unreadText: {},\n },\n colors: {\n ...Colors,\n },\n dateHeader: {\n container: {},\n text: {},\n },\n emptyStateIndicator: {\n channelContainer: {},\n channelDetails: {},\n channelTitle: {},\n },\n groupAvatar: {\n container: {},\n image: {\n resizeMode: 'cover',\n },\n },\n iconBadge: {\n icon: {},\n iconInner: {},\n unreadCount: {},\n },\n iconSquare: {\n container: {},\n image: {},\n },\n imageGallery: {\n blurType: 'light',\n footer: {\n centerContainer: {},\n container: {},\n imageCountText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n },\n grid: {\n contentContainer: {},\n gridAvatar: {},\n gridAvatarWrapper: {},\n gridImage: {},\n handle: {},\n handleText: {},\n overlay: {},\n },\n header: {\n centerContainer: {},\n container: {},\n dateText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n usernameText: {},\n },\n },\n inlineDateSeparator: {\n container: {},\n text: {},\n },\n loadingDots: {\n container: {},\n loadingDot: {},\n spacing: 4,\n },\n loadingErrorIndicator: {\n container: {},\n errorText: {},\n retryText: {},\n },\n loadingIndicator: {\n container: {},\n loadingText: {},\n },\n messageInput: {\n attachButton: {},\n attachButtonContainer: {},\n attachmentSelectionBar: {},\n autoCompleteInputContainer: {},\n commandsButton: {},\n commandsButtonContainer: {},\n composerContainer: {},\n container: {},\n editingBoxContainer: {},\n editingBoxHeader: {},\n editingBoxHeaderTitle: {},\n fileUploadPreview: {\n dismiss: {},\n fileContainer: {},\n fileContentContainer: {},\n filenameText: {},\n fileSizeText: {},\n fileTextContainer: {},\n flatList: {},\n },\n giphyContainer: {},\n giphyText: {},\n imageUploadPreview: {\n dismiss: {},\n flatList: {},\n itemContainer: {},\n upload: {},\n },\n inputBox: {},\n inputBoxContainer: {},\n moreOptionsButton: {},\n optionsContainer: {},\n replyContainer: {},\n sendButton: {},\n sendButtonContainer: {},\n showThreadMessageInChannelButton: {\n check: {},\n checkBoxActive: {},\n checkBoxInactive: {},\n container: {},\n innerContainer: {},\n text: {},\n },\n suggestions: {\n command: {\n args: {},\n container: {},\n iconContainer: {},\n title: {},\n },\n commandsHeader: {\n container: {},\n title: {},\n },\n container: {\n maxHeight: vh(25),\n },\n emoji: {\n container: {},\n text: {},\n },\n emojisHeader: {\n container: {},\n title: {},\n },\n item: {},\n mention: {\n avatarSize: 40,\n column: {},\n container: {},\n name: {},\n tag: {},\n },\n },\n suggestionsListContainer: {},\n uploadProgressIndicator: {\n container: {},\n overlay: {},\n },\n },\n messageList: {\n container: {},\n contentContainer: {},\n errorNotification: {},\n errorNotificationText: {},\n inlineUnreadIndicator: {\n container: {},\n text: {},\n },\n listContainer: {},\n messageSystem: {\n container: {},\n dateText: {},\n line: {},\n text: {},\n textContainer: {},\n },\n scrollToBottomButton: {\n container: {},\n touchable: {},\n unreadCountNotificationContainer: {},\n unreadCountNotificationText: {},\n wrapper: {},\n },\n typingIndicatorContainer: {},\n },\n messageSimple: {\n actions: {\n button: {},\n buttonText: {},\n container: {},\n },\n avatarWrapper: {\n container: {},\n leftAlign: {\n marginRight: 8,\n },\n rightAlign: {\n marginLeft: 8,\n },\n spacer: {\n height: 28,\n width: 32, // same as BASE_AVATAR_SIZE\n },\n },\n card: {\n authorName: {},\n authorNameContainer: {},\n authorNameFooter: {},\n authorNameFooterContainer: {},\n authorNameMask: {},\n container: {},\n cover: {},\n footer: {\n description: {},\n title: {\n fontWeight: '700',\n },\n },\n noURI: {\n borderLeftWidth: 2,\n paddingLeft: 8,\n },\n },\n container: {},\n content: {\n container: {\n borderRadiusL: 16,\n borderRadiusS: 0,\n },\n containerInner: {},\n deletedContainer: {},\n deletedContainerInner: {},\n deletedMetaText: {\n paddingHorizontal: 10,\n },\n deletedText: {\n em: {\n fontSize: 15,\n fontStyle: 'italic',\n fontWeight: '400',\n },\n },\n errorContainer: {\n paddingRight: 12,\n paddingTop: 0,\n },\n errorIcon: {\n height: 20,\n width: 20,\n },\n errorIconContainer: {\n bottom: -2,\n position: 'absolute',\n right: -12,\n },\n eyeIcon: {\n height: 16,\n width: 16,\n },\n markdown: {},\n messageUser: {\n fontSize: 12,\n fontWeight: '700',\n paddingRight: 6,\n },\n metaContainer: {\n flexDirection: 'row',\n marginTop: 4,\n },\n metaText: {\n fontSize: 12,\n },\n replyBorder: {},\n replyContainer: {},\n textContainer: {\n onlyEmojiMarkdown: { text: { fontSize: 50 } },\n },\n wrapper: {},\n },\n file: {\n container: {},\n details: {},\n fileSize: {},\n icon: {},\n title: {},\n },\n fileAttachmentGroup: {\n container: {},\n },\n gallery: {\n galleryContainer: {},\n galleryItemColumn: {},\n halfSize: 100,\n image: {},\n imageContainer: {},\n moreImagesContainer: {},\n moreImagesText: {},\n size: 200,\n width: 250,\n },\n giphy: {\n cancel: {},\n cancelContainer: {},\n container: {},\n giphy: {},\n giphyContainer: {},\n giphyMask: {},\n giphyText: {},\n selectionContainer: {},\n selector: {},\n send: {},\n sendContainer: {},\n shuffleButton: {},\n title: {},\n },\n reactionList: {\n container: {},\n middleIcon: {},\n radius: 2, // not recommended to change this\n reactionBubble: {},\n reactionBubbleBackground: {},\n reactionSize: 24,\n strokeSize: 1, // not recommended to change this\n },\n replies: {\n avatar: {},\n avatarContainerMultiple: {},\n avatarContainerSingle: {},\n container: {},\n leftAvatarsContainer: {},\n leftCurve: {},\n messageRepliesText: {},\n rightAvatarsContainer: {},\n rightCurve: {},\n },\n status: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n readByCount: {},\n statusContainer: {},\n timeIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n },\n targetedMessageUnderlay: {},\n },\n overlay: {\n padding: 8,\n reactions: {\n avatarContainer: {},\n avatarName: {},\n avatarSize: 64,\n container: {},\n flatListContainer: {},\n radius: 2,\n reactionBubble: {},\n reactionBubbleBackground: {},\n title: {},\n },\n reactionsList: {\n radius: 2.5,\n reaction: {},\n reactionList: {},\n reactionSize: 24,\n },\n },\n reply: {\n container: {},\n fileAttachmentContainer: {},\n imageAttachment: {},\n markdownStyles: {},\n messageContainer: {},\n textContainer: {},\n },\n screenPadding: 8,\n spinner: {},\n thread: {\n newThread: {\n text: {},\n },\n },\n typingIndicator: {\n container: {},\n text: {\n fontSize: 14,\n },\n },\n};\n"]}
1
+ {"version":3,"sources":["theme.ts"],"names":["DEFAULT_STATUS_ICON_SIZE","Colors","accent_blue","accent_green","accent_red","bg_gradient_end","bg_gradient_start","black","blue_alice","border","grey","grey_gainsboro","grey_whisper","icon_background","modal_shadow","overlay","overlay_dark","shadow_icon","targetedMessageBackground","transparent","white","white_smoke","white_snow","defaultTheme","attachmentPicker","bottomSheetContentContainer","errorButtonText","errorContainer","errorText","image","imageOverlay","imageOverlaySelectedComponent","check","attachmentSelectionBar","container","icon","avatar","BASE_AVATAR_SIZE","borderRadius","height","width","presenceIndicator","cx","cy","r","strokeWidth","presenceIndicatorContainer","channel","selectChannel","channelListFooterLoadingIndicator","channelListHeaderErrorIndicator","channelListLoadingIndicator","channelListMessenger","flatList","flatListContent","channelListSkeleton","animationTime","background","gradientStart","stopOpacity","gradientStop","channelPreview","checkAllIcon","checkIcon","contentContainer","date","message","fontWeight","row","title","unreadContainer","unreadText","colors","dateHeader","text","emptyStateIndicator","channelContainer","channelDetails","channelTitle","groupAvatar","resizeMode","iconBadge","iconInner","unreadCount","iconSquare","imageGallery","blurType","footer","centerContainer","imageCountText","innerContainer","leftContainer","rightContainer","grid","gridAvatar","gridAvatarWrapper","gridImage","handle","handleText","header","dateText","usernameText","inlineDateSeparator","loadingDots","loadingDot","spacing","loadingErrorIndicator","retryText","loadingIndicator","loadingText","messageInput","attachButton","attachButtonContainer","autoCompleteInputContainer","commandsButton","commandsButtonContainer","composerContainer","editingBoxContainer","editingBoxHeader","editingBoxHeaderTitle","fileUploadPreview","dismiss","fileContainer","fileContentContainer","filenameText","fileSizeText","fileTextContainer","giphyContainer","giphyText","imageUploadPreview","itemContainer","upload","inputBox","inputBoxContainer","moreOptionsButton","optionsContainer","replyContainer","sendButton","sendButtonContainer","showThreadMessageInChannelButton","checkBoxActive","checkBoxInactive","suggestions","command","args","iconContainer","commandsHeader","maxHeight","emoji","emojisHeader","item","mention","avatarSize","column","name","tag","suggestionsListContainer","uploadProgressIndicator","messageList","errorNotification","errorNotificationText","inlineUnreadIndicator","listContainer","messageSystem","line","textContainer","scrollToBottomButton","touchable","unreadCountNotificationContainer","unreadCountNotificationText","wrapper","typingIndicatorContainer","messageSimple","actions","button","buttonText","avatarWrapper","leftAlign","marginRight","rightAlign","marginLeft","spacer","card","authorName","authorNameContainer","authorNameFooter","authorNameFooterContainer","authorNameMask","cover","description","noURI","borderLeftWidth","paddingLeft","content","borderRadiusL","borderRadiusS","containerInner","deletedContainer","deletedContainerInner","deletedMetaText","paddingHorizontal","deletedText","em","fontSize","fontStyle","paddingRight","paddingTop","errorIcon","errorIconContainer","bottom","position","right","eyeIcon","markdown","messageUser","metaContainer","flexDirection","marginTop","metaText","replyBorder","onlyEmojiMarkdown","file","details","fileSize","fileAttachmentGroup","gallery","galleryContainer","galleryItemColumn","halfSize","imageContainer","moreImagesContainer","moreImagesText","size","giphy","cancel","cancelContainer","giphyMask","selectionContainer","selector","send","sendContainer","shuffleButton","reactionList","middleIcon","radius","reactionBubble","reactionBubbleBackground","reactionSize","strokeSize","replies","avatarContainerMultiple","avatarContainerSingle","leftAvatarsContainer","leftCurve","messageRepliesText","rightAvatarsContainer","rightCurve","status","readByCount","statusContainer","timeIcon","targetedMessageUnderlay","padding","reactions","avatarContainer","avatarName","flatListContainer","reactionsList","reaction","reply","fileAttachmentContainer","imageAttachment","markdownStyles","messageContainer","screenPadding","spinner","thread","newThread","typingIndicator"],"mappings":"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","sourcesContent":["import { vh } from '../../../utils/utils';\n\nimport type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\nimport type { CircleProps, Color, StopProps } from 'react-native-svg';\n\nimport type { IconProps } from '../../../icons/utils/base';\n\nexport const DEFAULT_STATUS_ICON_SIZE = 16;\n\nexport const Colors = {\n accent_blue: '#005FFF',\n accent_green: '#20E070',\n accent_red: '#FF3742',\n bg_gradient_end: '#F7F7F7',\n bg_gradient_start: '#FCFCFC',\n black: '#000000',\n blue_alice: '#E9F2FF',\n border: '#00000014', // 14 = 8% opacity; top: x=0, y=-1; bottom: x=0, y=1\n grey: '#7A7A7A',\n grey_gainsboro: '#DBDBDB',\n grey_whisper: '#ECEBEB',\n icon_background: '#FFFFFF',\n modal_shadow: '#00000099', // 99 = 60% opacity; x=0, y= 1, radius=4\n overlay: '#00000033', // 33 = 20% opacity\n overlay_dark: '#00000099', // 99 = 60% opacity\n shadow_icon: '#00000040', // 40 = 25% opacity; x=0, y=0, radius=4\n targetedMessageBackground: '#FBF4DD', // dark mode = #302D22\n transparent: 'transparent',\n white: '#FFFFFF',\n white_smoke: '#F2F2F2',\n white_snow: '#FCFCFC',\n};\n\nexport type MarkdownStyle = Partial<{\n autolink: TextStyle;\n blockQuoteBar: ViewStyle;\n blockQuoteSection: ViewStyle;\n blockQuoteSectionBar: ViewStyle;\n blockQuoteText: TextStyle | ViewStyle;\n br: TextStyle;\n codeBlock: TextStyle;\n del: TextStyle;\n em: TextStyle;\n heading: TextStyle;\n heading1: TextStyle;\n heading2: TextStyle;\n heading3: TextStyle;\n heading4: TextStyle;\n heading5: TextStyle;\n heading6: TextStyle;\n hr: ViewStyle;\n image: ImageStyle;\n inlineCode: TextStyle;\n list: ViewStyle;\n listItem: ViewStyle;\n listItemBullet: TextStyle;\n listItemNumber: TextStyle;\n listItemText: TextStyle;\n listRow: ViewStyle;\n mailTo: TextStyle;\n mentions: TextStyle;\n newline: TextStyle;\n noMargin: TextStyle;\n paragraph: TextStyle;\n paragraphCenter: TextStyle;\n paragraphWithImage: ViewStyle;\n strong: TextStyle;\n sublist: ViewStyle;\n table: ViewStyle;\n tableHeader: ViewStyle;\n tableHeaderCell: TextStyle;\n tableRow: ViewStyle;\n tableRowCell: ViewStyle;\n tableRowLast: ViewStyle;\n text: TextStyle;\n u: TextStyle;\n view: ViewStyle;\n}>;\n\nexport type Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: ViewStyle;\n errorButtonText: TextStyle;\n errorContainer: ViewStyle;\n errorText: TextStyle;\n image: ViewStyle;\n imageOverlay: ViewStyle;\n imageOverlaySelectedComponent: {\n check: ViewStyle;\n };\n };\n attachmentSelectionBar: {\n container: ViewStyle;\n icon: ViewStyle;\n };\n avatar: {\n BASE_AVATAR_SIZE: number;\n container: ViewStyle;\n image: ImageStyle;\n presenceIndicator: CircleProps;\n presenceIndicatorContainer: ViewStyle;\n };\n channel: {\n selectChannel: TextStyle;\n };\n channelListFooterLoadingIndicator: {\n container: ViewStyle;\n };\n channelListHeaderErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n };\n channelListLoadingIndicator: {\n container: ViewStyle;\n };\n channelListMessenger: {\n flatList: ViewStyle;\n flatListContent: ViewStyle;\n };\n channelListSkeleton: {\n animationTime: number;\n background: ViewStyle;\n container: ViewStyle;\n gradientStart: StopProps;\n gradientStop: StopProps;\n height: number;\n maskFillColor?: Color;\n };\n channelPreview: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n container: ViewStyle;\n contentContainer: ViewStyle;\n date: TextStyle;\n message: TextStyle & {\n fontWeight: TextStyle['fontWeight'];\n };\n row: ViewStyle;\n title: TextStyle;\n unreadContainer: ViewStyle;\n unreadText: TextStyle;\n };\n colors: typeof Colors & { [key: string]: string };\n dateHeader: {\n container: ViewStyle;\n text: TextStyle;\n };\n emptyStateIndicator: {\n channelContainer: ViewStyle;\n channelDetails: TextStyle;\n channelTitle: TextStyle;\n };\n groupAvatar: {\n container: ViewStyle;\n image: ImageStyle;\n };\n iconBadge: {\n icon: ViewStyle;\n iconInner: ViewStyle;\n unreadCount: TextStyle;\n };\n iconSquare: {\n container: ViewStyle;\n image: ImageStyle;\n };\n imageGallery: {\n blurType: 'light' | 'dark';\n footer: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n imageCountText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n };\n grid: {\n contentContainer: ViewStyle;\n gridAvatar: ImageStyle;\n gridAvatarWrapper: ViewStyle;\n gridImage: ViewStyle;\n handle: ViewStyle;\n handleText: TextStyle;\n overlay: ViewStyle;\n };\n header: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n dateText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n usernameText: TextStyle;\n };\n backgroundColor?: string;\n };\n inlineDateSeparator: {\n container: ViewStyle;\n text: TextStyle;\n };\n loadingDots: {\n container: ViewStyle;\n loadingDot: ViewStyle;\n spacing: number;\n };\n loadingErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n retryText: TextStyle;\n };\n loadingIndicator: {\n container: ViewStyle;\n loadingText: TextStyle;\n };\n messageInput: {\n attachButton: ViewStyle;\n attachButtonContainer: ViewStyle;\n attachmentSelectionBar: ViewStyle;\n autoCompleteInputContainer: ViewStyle;\n commandsButton: ViewStyle;\n commandsButtonContainer: ViewStyle;\n composerContainer: ViewStyle;\n container: ViewStyle;\n editingBoxContainer: ViewStyle;\n editingBoxHeader: ViewStyle;\n editingBoxHeaderTitle: TextStyle;\n fileUploadPreview: {\n dismiss: ViewStyle;\n fileContainer: ViewStyle;\n fileContentContainer: ViewStyle;\n filenameText: TextStyle;\n fileSizeText: TextStyle;\n fileTextContainer: ViewStyle;\n flatList: ViewStyle;\n };\n giphyContainer: ViewStyle;\n giphyText: TextStyle;\n imageUploadPreview: {\n dismiss: ViewStyle;\n flatList: ViewStyle;\n itemContainer: ViewStyle;\n upload: ImageStyle;\n };\n inputBox: TextStyle;\n inputBoxContainer: ViewStyle;\n moreOptionsButton: ViewStyle;\n optionsContainer: ViewStyle;\n replyContainer: ViewStyle;\n sendButton: ViewStyle;\n sendButtonContainer: ViewStyle;\n showThreadMessageInChannelButton: {\n check: IconProps;\n checkBoxActive: ViewStyle;\n checkBoxInactive: ViewStyle;\n container: ViewStyle;\n innerContainer: ViewStyle;\n text: TextStyle;\n };\n suggestions: {\n command: {\n args: TextStyle;\n container: ViewStyle;\n iconContainer: ViewStyle;\n title: TextStyle;\n };\n commandsHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n container: ViewStyle & {\n maxHeight: number;\n };\n emoji: {\n container: ViewStyle;\n text: TextStyle;\n };\n emojisHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n item: ViewStyle;\n mention: {\n avatarSize: number;\n column: ViewStyle;\n container: ViewStyle;\n name: TextStyle;\n tag: TextStyle;\n };\n };\n suggestionsListContainer: ViewStyle;\n uploadProgressIndicator: {\n container: ViewStyle;\n overlay: ViewStyle;\n };\n };\n messageList: {\n container: ViewStyle;\n contentContainer: ViewStyle;\n errorNotification: ViewStyle;\n errorNotificationText: TextStyle;\n inlineUnreadIndicator: {\n container: ViewStyle;\n text: TextStyle;\n };\n listContainer: ViewStyle;\n messageSystem: {\n container: ViewStyle;\n dateText: TextStyle;\n line: ViewStyle;\n text: TextStyle;\n textContainer: ViewStyle;\n };\n scrollToBottomButton: {\n container: ViewStyle;\n touchable: ViewStyle;\n unreadCountNotificationContainer: ViewStyle;\n unreadCountNotificationText: TextStyle;\n wrapper: ViewStyle;\n };\n typingIndicatorContainer: ViewStyle;\n };\n messageSimple: {\n actions: {\n button: ViewStyle & {\n defaultBackgroundColor?: ViewStyle['backgroundColor'];\n defaultBorderColor?: ViewStyle['borderColor'];\n primaryBackgroundColor?: ViewStyle['backgroundColor'];\n primaryBorderColor?: ViewStyle['borderColor'];\n };\n buttonText: TextStyle & {\n defaultColor?: TextStyle['color'];\n primaryColor?: TextStyle['color'];\n };\n container: ViewStyle;\n };\n avatarWrapper: {\n container: ViewStyle;\n leftAlign: ViewStyle;\n rightAlign: ViewStyle;\n spacer: ViewStyle;\n };\n card: {\n authorName: TextStyle;\n authorNameContainer: ViewStyle;\n authorNameFooter: TextStyle;\n authorNameFooterContainer: ViewStyle;\n authorNameMask: ViewStyle;\n container: ViewStyle;\n cover: ImageStyle;\n footer: ViewStyle & {\n description: TextStyle;\n title: TextStyle;\n };\n noURI: ViewStyle;\n };\n container: ViewStyle;\n content: {\n container: ViewStyle & {\n borderRadiusL: ViewStyle['borderBottomLeftRadius' | 'borderTopLeftRadius'];\n borderRadiusS: ViewStyle['borderBottomRightRadius' | 'borderTopRightRadius'];\n };\n containerInner: ViewStyle;\n deletedContainer: ViewStyle;\n deletedContainerInner: ViewStyle;\n deletedMetaText: TextStyle;\n deletedText: MarkdownStyle;\n errorContainer: ViewStyle;\n errorIcon: IconProps;\n errorIconContainer: ViewStyle;\n eyeIcon: IconProps;\n /**\n * Available options for styling text:\n * https://github.com/andangrd/react-native-markdown-package/blob/master/styles.js\n */\n markdown: MarkdownStyle;\n messageUser: TextStyle;\n metaContainer: ViewStyle;\n metaText: TextStyle;\n replyBorder: ViewStyle;\n replyContainer: ViewStyle;\n textContainer: ViewStyle & {\n onlyEmojiMarkdown: MarkdownStyle;\n };\n wrapper: ViewStyle;\n };\n file: {\n container: ViewStyle;\n details: ViewStyle;\n fileSize: TextStyle;\n icon: IconProps;\n title: TextStyle;\n };\n fileAttachmentGroup: {\n container: ViewStyle;\n };\n gallery: {\n galleryContainer: ViewStyle;\n galleryItemColumn: ViewStyle;\n halfSize: ViewStyle['height'];\n image: ImageStyle;\n imageContainer: ViewStyle;\n moreImagesContainer: ViewStyle;\n moreImagesText: TextStyle;\n size: ViewStyle['height'];\n width: ViewStyle['width'];\n };\n giphy: {\n cancel: TextStyle;\n cancelContainer: ViewStyle;\n container: ViewStyle;\n giphy: ImageStyle;\n giphyContainer: ViewStyle;\n giphyMask: ViewStyle;\n giphyText: TextStyle;\n selectionContainer: ViewStyle;\n selector: ViewStyle;\n send: TextStyle;\n sendContainer: ViewStyle;\n shuffleButton: ViewStyle;\n title: TextStyle;\n };\n reactionList: {\n container: ViewStyle;\n middleIcon: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n reactionSize: number;\n strokeSize: number;\n };\n replies: {\n avatar: ViewStyle;\n avatarContainerMultiple: ViewStyle;\n avatarContainerSingle: ViewStyle;\n container: ViewStyle;\n leftAvatarsContainer: ViewStyle;\n leftCurve: ViewStyle;\n messageRepliesText: TextStyle;\n rightAvatarsContainer: ViewStyle;\n rightCurve: ViewStyle;\n avatarSize?: number;\n };\n status: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n readByCount: TextStyle;\n statusContainer: ViewStyle;\n timeIcon: IconProps;\n };\n targetedMessageUnderlay: ViewStyle;\n };\n overlay: {\n padding: number;\n reactions: {\n avatarContainer: ViewStyle;\n avatarName: TextStyle;\n avatarSize: number;\n container: ViewStyle;\n flatListContainer: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n title: TextStyle;\n };\n reactionsList: {\n radius: number;\n reaction: ViewStyle;\n reactionList: ViewStyle;\n reactionSize: number;\n };\n };\n reply: {\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n markdownStyles: MarkdownStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n };\n screenPadding: number;\n spinner: ViewStyle;\n thread: {\n newThread: ViewStyle & {\n text: TextStyle;\n backgroundGradientStart?: string;\n backgroundGradientStop?: string;\n };\n };\n typingIndicator: {\n container: ViewStyle;\n text: TextStyle & {\n fontSize: TextStyle['fontSize'];\n };\n };\n};\n\nexport const defaultTheme: Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: {},\n errorButtonText: {},\n errorContainer: {},\n errorText: {},\n image: {},\n imageOverlay: {},\n imageOverlaySelectedComponent: {\n check: {},\n },\n },\n attachmentSelectionBar: {\n container: {},\n icon: {},\n },\n avatar: {\n BASE_AVATAR_SIZE: 32,\n container: {},\n image: {\n borderRadius: 16,\n height: 32,\n width: 32,\n },\n presenceIndicator: {\n cx: 6,\n cy: 6,\n r: 5,\n strokeWidth: 2,\n },\n presenceIndicatorContainer: {},\n },\n channel: {\n selectChannel: {},\n },\n channelListFooterLoadingIndicator: {\n container: {},\n },\n channelListHeaderErrorIndicator: {\n container: {},\n errorText: {},\n },\n channelListLoadingIndicator: {\n container: {},\n },\n channelListMessenger: {\n flatList: {},\n flatListContent: {},\n },\n channelListSkeleton: {\n animationTime: 1800, // in milliseconds\n background: {},\n container: {},\n gradientStart: {\n stopOpacity: 0,\n },\n gradientStop: {\n stopOpacity: 0.5,\n },\n height: 64,\n },\n channelPreview: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n container: {},\n contentContainer: {},\n date: {},\n message: {\n fontWeight: '400',\n },\n row: {},\n title: {},\n unreadContainer: {},\n unreadText: {},\n },\n colors: {\n ...Colors,\n },\n dateHeader: {\n container: {},\n text: {},\n },\n emptyStateIndicator: {\n channelContainer: {},\n channelDetails: {},\n channelTitle: {},\n },\n groupAvatar: {\n container: {},\n image: {\n resizeMode: 'cover',\n },\n },\n iconBadge: {\n icon: {},\n iconInner: {},\n unreadCount: {},\n },\n iconSquare: {\n container: {},\n image: {},\n },\n imageGallery: {\n blurType: 'light',\n footer: {\n centerContainer: {},\n container: {},\n imageCountText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n },\n grid: {\n contentContainer: {},\n gridAvatar: {},\n gridAvatarWrapper: {},\n gridImage: {},\n handle: {},\n handleText: {},\n overlay: {},\n },\n header: {\n centerContainer: {},\n container: {},\n dateText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n usernameText: {},\n },\n },\n inlineDateSeparator: {\n container: {},\n text: {},\n },\n loadingDots: {\n container: {},\n loadingDot: {},\n spacing: 4,\n },\n loadingErrorIndicator: {\n container: {},\n errorText: {},\n retryText: {},\n },\n loadingIndicator: {\n container: {},\n loadingText: {},\n },\n messageInput: {\n attachButton: {},\n attachButtonContainer: {},\n attachmentSelectionBar: {},\n autoCompleteInputContainer: {},\n commandsButton: {},\n commandsButtonContainer: {},\n composerContainer: {},\n container: {},\n editingBoxContainer: {},\n editingBoxHeader: {},\n editingBoxHeaderTitle: {},\n fileUploadPreview: {\n dismiss: {},\n fileContainer: {},\n fileContentContainer: {},\n filenameText: {},\n fileSizeText: {},\n fileTextContainer: {},\n flatList: {},\n },\n giphyContainer: {},\n giphyText: {},\n imageUploadPreview: {\n dismiss: {},\n flatList: {},\n itemContainer: {},\n upload: {},\n },\n inputBox: {},\n inputBoxContainer: {},\n moreOptionsButton: {},\n optionsContainer: {},\n replyContainer: {},\n sendButton: {},\n sendButtonContainer: {},\n showThreadMessageInChannelButton: {\n check: {},\n checkBoxActive: {},\n checkBoxInactive: {},\n container: {},\n innerContainer: {},\n text: {},\n },\n suggestions: {\n command: {\n args: {},\n container: {},\n iconContainer: {},\n title: {},\n },\n commandsHeader: {\n container: {},\n title: {},\n },\n container: {\n maxHeight: vh(25),\n },\n emoji: {\n container: {},\n text: {},\n },\n emojisHeader: {\n container: {},\n title: {},\n },\n item: {},\n mention: {\n avatarSize: 40,\n column: {},\n container: {},\n name: {},\n tag: {},\n },\n },\n suggestionsListContainer: {},\n uploadProgressIndicator: {\n container: {},\n overlay: {},\n },\n },\n messageList: {\n container: {},\n contentContainer: {},\n errorNotification: {},\n errorNotificationText: {},\n inlineUnreadIndicator: {\n container: {},\n text: {},\n },\n listContainer: {},\n messageSystem: {\n container: {},\n dateText: {},\n line: {},\n text: {},\n textContainer: {},\n },\n scrollToBottomButton: {\n container: {},\n touchable: {},\n unreadCountNotificationContainer: {},\n unreadCountNotificationText: {},\n wrapper: {},\n },\n typingIndicatorContainer: {},\n },\n messageSimple: {\n actions: {\n button: {},\n buttonText: {},\n container: {},\n },\n avatarWrapper: {\n container: {},\n leftAlign: {\n marginRight: 8,\n },\n rightAlign: {\n marginLeft: 8,\n },\n spacer: {\n height: 28,\n width: 32, // same as BASE_AVATAR_SIZE\n },\n },\n card: {\n authorName: {},\n authorNameContainer: {},\n authorNameFooter: {},\n authorNameFooterContainer: {},\n authorNameMask: {},\n container: {},\n cover: {},\n footer: {\n description: {},\n title: {\n fontWeight: '700',\n },\n },\n noURI: {\n borderLeftWidth: 2,\n paddingLeft: 8,\n },\n },\n container: {},\n content: {\n container: {\n borderRadiusL: 16,\n borderRadiusS: 0,\n },\n containerInner: {},\n deletedContainer: {},\n deletedContainerInner: {},\n deletedMetaText: {\n paddingHorizontal: 10,\n },\n deletedText: {\n em: {\n fontSize: 15,\n fontStyle: 'italic',\n fontWeight: '400',\n },\n },\n errorContainer: {\n paddingRight: 12,\n paddingTop: 0,\n },\n errorIcon: {\n height: 20,\n width: 20,\n },\n errorIconContainer: {\n bottom: -2,\n position: 'absolute',\n right: -12,\n },\n eyeIcon: {\n height: 16,\n width: 16,\n },\n markdown: {},\n messageUser: {\n fontSize: 12,\n fontWeight: '700',\n paddingRight: 6,\n },\n metaContainer: {\n flexDirection: 'row',\n marginTop: 4,\n },\n metaText: {\n fontSize: 12,\n },\n replyBorder: {},\n replyContainer: {},\n textContainer: {\n onlyEmojiMarkdown: { text: { fontSize: 50 } },\n },\n wrapper: {},\n },\n file: {\n container: {},\n details: {},\n fileSize: {},\n icon: {},\n title: {},\n },\n fileAttachmentGroup: {\n container: {},\n },\n gallery: {\n galleryContainer: {},\n galleryItemColumn: {},\n halfSize: 100,\n image: {},\n imageContainer: {},\n moreImagesContainer: {},\n moreImagesText: {},\n size: 200,\n width: 250,\n },\n giphy: {\n cancel: {},\n cancelContainer: {},\n container: {},\n giphy: {},\n giphyContainer: {},\n giphyMask: {},\n giphyText: {},\n selectionContainer: {},\n selector: {},\n send: {},\n sendContainer: {},\n shuffleButton: {},\n title: {},\n },\n reactionList: {\n container: {},\n middleIcon: {},\n radius: 2, // not recommended to change this\n reactionBubble: {},\n reactionBubbleBackground: {},\n reactionSize: 24,\n strokeSize: 1, // not recommended to change this\n },\n replies: {\n avatar: {},\n avatarContainerMultiple: {},\n avatarContainerSingle: {},\n container: {},\n leftAvatarsContainer: {},\n leftCurve: {},\n messageRepliesText: {},\n rightAvatarsContainer: {},\n rightCurve: {},\n },\n status: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n readByCount: {},\n statusContainer: {},\n timeIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n },\n targetedMessageUnderlay: {},\n },\n overlay: {\n padding: 8,\n reactions: {\n avatarContainer: {},\n avatarName: {},\n avatarSize: 64,\n container: {},\n flatListContainer: {},\n radius: 2,\n reactionBubble: {},\n reactionBubbleBackground: {},\n title: {},\n },\n reactionsList: {\n radius: 2.5,\n reaction: {},\n reactionList: {},\n reactionSize: 24,\n },\n },\n reply: {\n container: {},\n fileAttachmentContainer: {},\n imageAttachment: {},\n markdownStyles: {},\n messageContainer: {},\n textContainer: {},\n },\n screenPadding: 8,\n spinner: {},\n thread: {\n newThread: {\n text: {},\n },\n },\n typingIndicator: {\n container: {},\n text: {\n fontSize: 14,\n },\n },\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.9.2"
2
+ "version": "3.10.1"
3
3
  }
@@ -1,5 +1,5 @@
1
1
  import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
2
- import type { CircleProps, StopProps } from 'react-native-svg';
2
+ import type { CircleProps, Color, StopProps } from 'react-native-svg';
3
3
  import type { IconProps } from '../../../icons/utils/base';
4
4
  export declare const DEFAULT_STATUS_ICON_SIZE = 16;
5
5
  export declare const Colors: {
@@ -117,6 +117,7 @@ export declare type Theme = {
117
117
  gradientStart: StopProps;
118
118
  gradientStop: StopProps;
119
119
  height: number;
120
+ maskFillColor?: Color;
120
121
  };
121
122
  channelPreview: {
122
123
  checkAllIcon: IconProps;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "3.9.2",
4
+ "version": "3.10.1",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -84,10 +84,10 @@ const AttachmentWithContext = <
84
84
  return <FileAttachment attachment={attachment} />;
85
85
  }
86
86
 
87
- if (attachment.type === 'video' && attachment.asset_url && attachment.image_url) {
87
+ if (attachment.type === 'video' && attachment.asset_url) {
88
88
  return (
89
89
  // TODO: Put in video component
90
- <Card {...attachment} />
90
+ <FileAttachment attachment={attachment} />
91
91
  );
92
92
  }
93
93
 
@@ -41,6 +41,7 @@ export const Skeleton: React.FC = () => {
41
41
  gradientStart,
42
42
  gradientStop,
43
43
  height = 64,
44
+ maskFillColor,
44
45
  },
45
46
  colors: { border, grey_gainsboro, white_snow },
46
47
  },
@@ -138,7 +139,7 @@ export const Skeleton: React.FC = () => {
138
139
  </Svg>
139
140
  </Animated.View>
140
141
  <Svg height={height} width={width}>
141
- <Path d={d.value} fill={white_snow} />
142
+ <Path d={d.value} fill={maskFillColor || white_snow} />
142
143
  </Svg>
143
144
  </View>
144
145
  );
@@ -468,7 +468,7 @@ const MessageWithContext = <
468
468
  !message.deleted_at && Array.isArray(message.attachments)
469
469
  ? message.attachments.reduce(
470
470
  (acc, cur) => {
471
- if (cur.type === 'file') {
471
+ if (cur.type === 'file' || cur.type === 'video') {
472
472
  acc.files.push(cur);
473
473
  acc.other = []; // remove other attachments if a file exists
474
474
  } else if (cur.type === 'image' && !cur.title_link && !cur.og_scrape_url) {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GestureResponderEvent, Linking, Text } from 'react-native';
2
+ import { GestureResponderEvent, Linking, Text, View } from 'react-native';
3
3
  import anchorme from 'anchorme';
4
4
  import truncate from 'lodash/truncate';
5
5
  // @ts-expect-error
@@ -11,6 +11,7 @@ import {
11
11
  ParseFunction,
12
12
  parseInline,
13
13
  ReactNodeOutput,
14
+ SingleASTNode,
14
15
  } from 'simple-markdown';
15
16
 
16
17
  import type { MessageType } from '../../../MessageList/hooks/useMessageList';
@@ -38,9 +39,15 @@ const defaultMarkdownStyles: MarkdownStyle = {
38
39
  marginBottom: 8,
39
40
  marginTop: 8,
40
41
  },
42
+ listItemNumber: {
43
+ fontWeight: 'bold',
44
+ },
41
45
  listItemText: {
42
46
  flex: 0,
43
47
  },
48
+ listRow: {
49
+ flexDirection: 'row',
50
+ },
44
51
  mentions: {
45
52
  fontWeight: '700',
46
53
  },
@@ -182,20 +189,17 @@ export const renderText = <
182
189
  }
183
190
  };
184
191
 
185
- state.withinLink = true;
186
- const link = React.createElement(
187
- Text,
188
- {
189
- key: state.key,
190
- onLongPress,
191
- onPress,
192
- style: styles.autolink,
193
- suppressHighlighting: true,
194
- },
195
- output(node.content, state),
192
+ return (
193
+ <Text
194
+ key={state.key}
195
+ onLongPress={onLongPress}
196
+ onPress={onPress}
197
+ style={styles.autolink}
198
+ suppressHighlighting={true}
199
+ >
200
+ {output(node.content, { ...state, withinLink: true })}
201
+ </Text>
196
202
  );
197
- state.withinLink = false;
198
- return link;
199
203
  };
200
204
 
201
205
  const mentionedUsers = Array.isArray(mentioned_users)
@@ -230,22 +234,61 @@ export const renderText = <
230
234
  }
231
235
  };
232
236
 
233
- return React.createElement(
234
- Text,
235
- {
236
- key: state.key,
237
- onLongPress,
238
- onPress,
239
- style: styles.mentions,
240
- },
241
- Array.isArray(node.content) ? node.content[0]?.content || '' : output(node.content, state),
237
+ return (
238
+ <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>
239
+ {Array.isArray(node.content) ? node.content[0].content || '' : output(node.content, state)}
240
+ </Text>
242
241
  );
243
242
  };
244
243
 
244
+ const listLevels = {
245
+ sub: 'sub',
246
+ top: 'top',
247
+ };
248
+
249
+ /**
250
+ * For lists and sublists, the default behavior of the markdown library we use is
251
+ * to always renumber any list, so all ordered lists start from 1.
252
+ *
253
+ * This custom rule overrides this behavior both for top level lists and sublists,
254
+ * in order to start the numbering from the number of the first list item provided.
255
+ * */
256
+ const customListAtLevel =
257
+ (level: keyof typeof listLevels): ReactNodeOutput =>
258
+ (node, output, { ...state }) => {
259
+ const items = node.items.map((item: Array<SingleASTNode>, index: number) => {
260
+ const withinList = item.length > 1 && item[1].type === 'list';
261
+ const content = output(item, { ...state, withinList });
262
+
263
+ const isTopLevelText =
264
+ ['text', 'paragraph', 'strong'].includes(item[0].type) && withinList === false;
265
+
266
+ return (
267
+ <View key={index} style={styles.listRow}>
268
+ <Text style={styles.listItemNumber}>
269
+ {node.ordered ? `${node.start + index}. ` : `\u2022`}
270
+ </Text>
271
+ <Text style={[styles.listItemText, isTopLevelText && { marginBottom: 0 }]}>
272
+ {content}
273
+ </Text>
274
+ </View>
275
+ );
276
+ });
277
+
278
+ const isSublist = level === 'sub';
279
+ return (
280
+ <View key={state.key} style={[isSublist ? styles.list : styles.sublist]}>
281
+ {items}
282
+ </View>
283
+ );
284
+ };
285
+
245
286
  const customRules = {
246
287
  link: { react },
288
+ list: { react: customListAtLevel('top') },
247
289
  // we have no react rendering support for reflinks
248
290
  reflink: { match: () => null },
291
+ sublist: { react: customListAtLevel('sub') },
249
292
  ...(mentionedUsers
250
293
  ? {
251
294
  mentions: {
@@ -1,7 +1,7 @@
1
1
  import { vh } from '../../../utils/utils';
2
2
 
3
3
  import type { ImageStyle, TextStyle, ViewStyle } from 'react-native';
4
- import type { CircleProps, StopProps } from 'react-native-svg';
4
+ import type { CircleProps, Color, StopProps } from 'react-native-svg';
5
5
 
6
6
  import type { IconProps } from '../../../icons/utils/base';
7
7
 
@@ -124,6 +124,7 @@ export type Theme = {
124
124
  gradientStart: StopProps;
125
125
  gradientStop: StopProps;
126
126
  height: number;
127
+ maskFillColor?: Color;
127
128
  };
128
129
  channelPreview: {
129
130
  checkAllIcon: IconProps;
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.9.2"
2
+ "version": "3.10.1"
3
3
  }