@planningcenter/chat-react-native 4.4.1-qa-staging.14 → 4.4.1-qa-staging.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"reply_shadow_message.js","names":["useNavigation","some","React","memo","Pressable","StyleSheet","useWindowDimensions","View","Animated","useAnimatedMessageBackgroundColor","useFontScale","useScalableNumberOfLines","useTheme","useConversationMessage","useLiveRelativeTime","assertKeysAreNumbers","pluralize","stripEmptyTextCharacters","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MAX_FONT_SIZE_MULTIPLIER","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","MESSAGE_BACKGROUND_OUTSET","platformFontWeightMedium","Avatar","Icon","Image","Text","TheirReplyConnector","MyReplyConnector","jsx","_jsx","jsxs","_jsxs","SPACE_BELOW_MESSAGE","ReplyShadowMessage","ReplyShadowMessageRow","t0","$","_c","conversation_id","inReplyScreen","messageId","replyRoot","isReplyShadowMessage","nextRendersAuthor","t1","t2","enabled","fetched","message","isLoading","t3","Symbol","for","ShadowMessageFallback","text","enrichedMessage","t4","ShadowMessageContent","deletedAt","author","attachments","styles","useStyles","colors","navigation","timestamp","createdAt","messageBubbleHeight","setMessageBubbleHeight","useState","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","scalableNumberOfLines","replyCount","replyCountText","isDeleted","messageText","handleNavigateToReplies","navigate","reply_root_id","replyRootId","id","reply_root_author_name","name","attachmentLabel","length","accessibilityLabel","androidRippleNeutral","color","background","style","avatar","avatarOpacity","avatarWrapper","mine","children","size","sourceUri","maxFontSizeMultiplier","fallbackIconName","t5","e","nativeEvent","layout","height","t6","MessageAttachmentImagery","t7","variant","t8","messageBubble","onLayout","t9","t10","messageMeta","t11","messageContent","t12","t13","t14","android_ripple","accessibilityHint","accessibilityRole","attachment","type","GiphyImage","ExpandedLinkImage","contentType","attributes","basicType","split","MessageAttachmentImage","MessageAttachmentIcon","iconName","title","giphy","url","fixedWidth","width","imageWidth","imageHeight","uri","image","imageWrapper","source","wrapperStyle","loaderSize","imageUrl","undefined","urlMedium","filename","metadata","attachmentIcon","fontScale","tabletWidth","borderColorDefaultBase","iconColorDefaultDim","interaction","textColorDefaultPlaceholder","create","gap","flexDirection","paddingHorizontal","position","left","right","top","bottom","flex","marginBottom","alignItems","opacity","alignSelf","borderColor","borderWidth","borderRadius","maxWidth","paddingVertical","flexShrink","justifyContent","fontWeight","aspectRatio","fontSize"],"sources":["../../../src/components/conversation/reply_shadow_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { some } from 'lodash'\nimport React, { memo } from 'react'\nimport { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport {\n useAnimatedMessageBackgroundColor,\n useFontScale,\n useScalableNumberOfLines,\n useTheme,\n} from '../../hooks'\nimport { useConversationMessage } from '../../hooks/use_conversation_message'\nimport { useLiveRelativeTime } from '../../hooks/use_live_relative_time'\nimport { MessageResource } from '../../types'\nimport {\n DenormalizedAttachmentResource,\n DenormalizedGiphyAttachmentResource,\n DenormalizedExpandedLinkAttachmentResource,\n DenormalizedMessageAttachmentResource,\n} from '../../types/resources/denormalized_attachment_resource'\nimport { assertKeysAreNumbers, pluralize } from '../../utils'\nimport { stripEmptyTextCharacters } from '../../utils/message_text'\nimport {\n CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n MAX_FONT_SIZE_MULTIPLIER,\n MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,\n MESSAGE_BACKGROUND_OUTSET,\n platformFontWeightMedium,\n} from '../../utils/styles'\nimport { Avatar, Icon, IconProps, Image, Text } from '../display'\nimport { TheirReplyConnector, MyReplyConnector } from './reply_connectors'\n\nconst SPACE_BELOW_MESSAGE = 12\n\ninterface ReplyShadowMessageProps extends MessageResource {\n messageId: string\n conversation_id: number\n inReplyScreen?: boolean\n isReplyShadowMessage: boolean\n nextRendersAuthor: boolean\n}\n\nexport const ReplyShadowMessage = memo(function ReplyShadowMessageRow({\n conversation_id,\n inReplyScreen,\n messageId,\n replyRoot,\n isReplyShadowMessage,\n nextRendersAuthor,\n}: ReplyShadowMessageProps) {\n const fetched = useConversationMessage({ conversation_id, messageId, enabled: !replyRoot })\n const message = replyRoot ?? fetched.message\n\n if (inReplyScreen) return null\n if (!message && fetched.isLoading) return <ShadowMessageFallback text=\"Loading...\" />\n if (!message) return <ShadowMessageFallback text=\"Message deleted\" />\n\n const enrichedMessage = {\n ...message,\n isReplyShadowMessage,\n nextRendersAuthor,\n }\n\n return <ShadowMessageContent conversation_id={conversation_id} {...enrichedMessage} />\n})\n\ninterface ShadowMessageContentProps extends MessageResource {\n conversation_id: number\n}\n\nfunction ShadowMessageContent({ conversation_id, ...message }: ShadowMessageContentProps) {\n const { deletedAt, author, attachments } = message\n const text = stripEmptyTextCharacters(message.text ?? '')\n const styles = useStyles(message)\n const { colors } = useTheme()\n const navigation = useNavigation()\n const timestamp = useLiveRelativeTime(message.createdAt)\n\n const [messageBubbleHeight, setMessageBubbleHeight] = React.useState(0)\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n const scalableNumberOfLines = useScalableNumberOfLines(2)\n const replyCountText = pluralize(message.replyCount, 'reply')\n const isDeleted = !!deletedAt\n const messageText = isDeleted ? 'Message deleted' : text\n\n const handleNavigateToReplies = () => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId ?? message.id,\n reply_root_author_name: message.author.name,\n })\n }\n\n const attachmentLabel = some(attachments) ? pluralize(attachments.length, 'attachment') : ''\n const accessibilityLabel = `${author?.name || ''} Reply Preview ${attachmentLabel} ${\n messageText || ''\n } ${timestamp} ${replyCountText}`\n\n return (\n <Pressable\n android_ripple={{ color: colors.androidRippleNeutral }}\n onPress={handleNavigateToReplies}\n onPressIn={handleMessagePressIn}\n onPressOut={handleMessagePressOut}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint=\"Navigate to reply screen for this message\"\n accessibilityRole=\"link\"\n >\n <View style={styles.message}>\n <Animated.View style={[styles.background, animatedBackgroundColor]} />\n {!message.mine && (\n <View>\n <View style={[styles.avatarWrapper, !isDeleted && styles.avatarOpacity]}>\n <Avatar\n size=\"xs\"\n sourceUri={message.author.avatar}\n style={styles.avatar}\n maxFontSizeMultiplier={1}\n fallbackIconName={isDeleted ? 'publishing.trash' : 'general.person'}\n showFallback={isDeleted}\n />\n </View>\n <TheirReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />\n </View>\n )}\n <View style={styles.messageContent}>\n <View\n style={styles.messageBubble}\n onLayout={e => setMessageBubbleHeight(e.nativeEvent.layout.height)}\n >\n <MessageAttachmentImagery attachments={attachments} />\n {text && (\n <Text\n variant=\"footnote\"\n style={styles.messageText}\n numberOfLines={scalableNumberOfLines}\n >\n {messageText}\n </Text>\n )}\n </View>\n <View style={styles.messageMeta}>\n <Text variant=\"footnote\" style={styles.replyCountText}>\n {replyCountText}\n </Text>\n </View>\n </View>\n {message.mine && (\n <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />\n )}\n </View>\n </Pressable>\n )\n}\n\nfunction MessageAttachmentImagery({\n attachments,\n}: {\n attachments: DenormalizedAttachmentResource[]\n}) {\n if (!attachments || attachments.length === 0) return null\n\n const attachment = attachments[0]\n\n if (attachment.type === 'giphy') {\n return <GiphyImage attachment={attachment} />\n }\n if (attachment.type === 'ExpandedLink') {\n return <ExpandedLinkImage attachment={attachment} />\n }\n if (attachment.type === 'MessageAttachment') {\n const contentType = attachment.attributes?.contentType\n const basicType = contentType?.split('/')[0]\n\n switch (basicType) {\n case 'image':\n return <MessageAttachmentImage attachment={attachment} />\n case 'video':\n return <MessageAttachmentIcon iconName=\"general.outlinedVideoFile\" />\n case 'audio':\n return <MessageAttachmentIcon iconName=\"general.outlinedMusicFile\" />\n case 'application':\n return <MessageAttachmentIcon iconName=\"general.outlinedGenericFile\" />\n default:\n return null\n }\n }\n\n return null\n}\n\nfunction GiphyImage({ attachment }: { attachment: DenormalizedGiphyAttachmentResource }) {\n const { title, giphy } = attachment\n const { url } = giphy.fixedWidth\n const { width, height } = assertKeysAreNumbers(giphy.fixedWidth)\n const styles = useStyles({ imageWidth: width, imageHeight: height })\n\n return (\n <Image\n source={{ uri: url }}\n wrapperStyle={styles.imageWrapper}\n style={styles.image}\n alt={title}\n loaderSize={16}\n />\n )\n}\n\nfunction ExpandedLinkImage({\n attachment,\n}: {\n attachment: DenormalizedExpandedLinkAttachmentResource\n}) {\n const { title = '', imageUrl, imageHeight, imageWidth } = attachment.attributes\n const styles = useStyles({ imageWidth, imageHeight })\n\n return (\n <Image\n source={{ uri: imageUrl }}\n wrapperStyle={styles.imageWrapper}\n style={styles.image}\n alt={title}\n loaderSize={16}\n />\n )\n}\n\nfunction MessageAttachmentImage({\n attachment,\n}: {\n attachment: DenormalizedMessageAttachmentResource\n}) {\n const { url, urlMedium, filename, metadata = {} } = attachment.attributes\n const styles = useStyles({ imageWidth: metadata.width, imageHeight: metadata.height })\n\n return (\n <Image\n source={{ uri: urlMedium || url }}\n style={styles.image}\n wrapperStyle={styles.imageWrapper}\n alt={filename}\n loaderSize={16}\n />\n )\n}\n\nfunction MessageAttachmentIcon({ iconName }: { iconName: IconProps['name'] }) {\n const styles = useStyles()\n return (\n <Icon\n name={iconName}\n style={styles.attachmentIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}\n />\n )\n}\n\n// TODO: The mine prop is not used yet, but in the future we will be adding a way to find the `mine` value for this fallback.\nfunction ShadowMessageFallback({ text, mine }: { text: string; mine?: boolean }) {\n const styles = useStyles({ mine })\n\n return (\n <View style={styles.message}>\n <View style={styles.messageContent}>\n <View style={styles.messageBubble}>\n <Text variant=\"footnote\" style={styles.messageText}>\n {text}\n </Text>\n </View>\n </View>\n </View>\n )\n}\n\ninterface StylesProps {\n imageWidth?: number\n imageHeight?: number\n mine?: boolean\n}\n\nconst useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}) => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })\n const { width } = useWindowDimensions()\n const tabletWidth = width >= 744 // Smallest iPad Mini's width\n\n return StyleSheet.create({\n message: {\n gap: 8,\n flexDirection: mine ? 'row-reverse' : 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n },\n background: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: -MESSAGE_BACKGROUND_OUTSET,\n bottom: SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET,\n },\n messageContent: {\n flex: 1,\n gap: 4,\n marginBottom: SPACE_BELOW_MESSAGE,\n },\n avatarWrapper: {\n width: MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,\n alignItems: 'center',\n },\n avatar: {\n marginBottom: 8,\n },\n avatarOpacity: {\n opacity: 0.5,\n },\n messageBubble: {\n flexDirection: 'row',\n alignSelf: mine ? 'flex-end' : 'flex-start',\n alignItems: 'center',\n gap: 8,\n borderColor: colors.borderColorDefaultBase,\n borderWidth: 1,\n borderRadius: 8,\n maxWidth: tabletWidth ? 360 : '80%',\n paddingVertical: 6,\n paddingHorizontal: 8,\n },\n messageText: {\n color: colors.textColorDefaultPlaceholder,\n flexShrink: 1,\n },\n messageMeta: {\n flexDirection: 'row',\n justifyContent: mine ? 'flex-end' : 'flex-start',\n },\n replyCountText: {\n color: colors.interaction,\n fontWeight: platformFontWeightMedium,\n },\n imageWrapper: {\n width: 32 * fontScale,\n aspectRatio: imageWidth / imageHeight,\n opacity: 0.5,\n },\n image: {\n borderRadius: 4,\n },\n attachmentIcon: {\n color: colors.iconColorDefaultDim,\n fontSize: 16,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"reply_shadow_message.js","names":["useNavigation","some","React","memo","Pressable","StyleSheet","useWindowDimensions","View","Animated","useAnimatedMessageBackgroundColor","useFontScale","useScalableNumberOfLines","useTheme","useConversationMessage","useLiveRelativeTime","assertKeysAreNumbers","pluralize","stripEmptyTextCharacters","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MAX_FONT_SIZE_MULTIPLIER","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","MESSAGE_BACKGROUND_OUTSET","platformFontWeightMedium","Avatar","Icon","Image","Text","TheirReplyConnector","MyReplyConnector","jsx","_jsx","jsxs","_jsxs","SPACE_BELOW_MESSAGE","SPACE_BELOW_PRESSABLE","ReplyShadowMessage","ReplyShadowMessageRow","t0","$","_c","conversation_id","inReplyScreen","messageId","replyRoot","isReplyShadowMessage","nextRendersAuthor","t1","t2","enabled","fetched","message","isLoading","t3","Symbol","for","ShadowMessageFallback","text","enrichedMessage","t4","ShadowMessageContent","deletedAt","author","attachments","styles","useStyles","colors","navigation","timestamp","createdAt","messageBubbleHeight","setMessageBubbleHeight","useState","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","scalableNumberOfLines","replyCount","replyCountText","isDeleted","messageText","handleNavigateToReplies","navigate","reply_root_id","replyRootId","id","reply_root_author_name","name","attachmentLabel","length","accessibilityLabel","androidRippleNeutral","color","style","absoluteFill","marginBottom","t5","t6","avatar","avatarOpacity","avatarWrapper","mine","children","size","sourceUri","maxFontSizeMultiplier","fallbackIconName","t7","e","nativeEvent","layout","height","t8","MessageAttachmentImagery","t9","variant","t10","messageBubble","onLayout","t11","t12","messageMeta","t13","messageContent","t14","t15","t16","pressable","android_ripple","accessibilityHint","accessibilityRole","attachment","type","GiphyImage","ExpandedLinkImage","contentType","attributes","basicType","split","MessageAttachmentImage","MessageAttachmentIcon","iconName","title","giphy","url","fixedWidth","width","imageWidth","imageHeight","uri","image","imageWrapper","source","wrapperStyle","loaderSize","imageUrl","undefined","urlMedium","filename","metadata","attachmentIcon","fontScale","tabletWidth","borderColorDefaultBase","iconColorDefaultDim","interaction","textColorDefaultPlaceholder","create","marginTop","paddingTop","gap","flexDirection","paddingHorizontal","flex","alignItems","opacity","alignSelf","borderColor","borderWidth","borderRadius","maxWidth","paddingVertical","flexShrink","justifyContent","fontWeight","aspectRatio","fontSize"],"sources":["../../../src/components/conversation/reply_shadow_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { some } from 'lodash'\nimport React, { memo } from 'react'\nimport { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport {\n useAnimatedMessageBackgroundColor,\n useFontScale,\n useScalableNumberOfLines,\n useTheme,\n} from '../../hooks'\nimport { useConversationMessage } from '../../hooks/use_conversation_message'\nimport { useLiveRelativeTime } from '../../hooks/use_live_relative_time'\nimport { MessageResource } from '../../types'\nimport {\n DenormalizedAttachmentResource,\n DenormalizedGiphyAttachmentResource,\n DenormalizedExpandedLinkAttachmentResource,\n DenormalizedMessageAttachmentResource,\n} from '../../types/resources/denormalized_attachment_resource'\nimport { assertKeysAreNumbers, pluralize } from '../../utils'\nimport { stripEmptyTextCharacters } from '../../utils/message_text'\nimport {\n CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n MAX_FONT_SIZE_MULTIPLIER,\n MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,\n MESSAGE_BACKGROUND_OUTSET,\n platformFontWeightMedium,\n} from '../../utils/styles'\nimport { Avatar, Icon, IconProps, Image, Text } from '../display'\nimport { TheirReplyConnector, MyReplyConnector } from './reply_connectors'\n\nconst SPACE_BELOW_MESSAGE = 12\nconst SPACE_BELOW_PRESSABLE = SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET\n\ninterface ReplyShadowMessageProps extends MessageResource {\n messageId: string\n conversation_id: number\n inReplyScreen?: boolean\n isReplyShadowMessage: boolean\n nextRendersAuthor: boolean\n}\n\nexport const ReplyShadowMessage = memo(function ReplyShadowMessageRow({\n conversation_id,\n inReplyScreen,\n messageId,\n replyRoot,\n isReplyShadowMessage,\n nextRendersAuthor,\n}: ReplyShadowMessageProps) {\n const fetched = useConversationMessage({ conversation_id, messageId, enabled: !replyRoot })\n const message = replyRoot ?? fetched.message\n\n if (inReplyScreen) return null\n if (!message && fetched.isLoading) return <ShadowMessageFallback text=\"Loading...\" />\n if (!message) return <ShadowMessageFallback text=\"Message deleted\" />\n\n const enrichedMessage = {\n ...message,\n isReplyShadowMessage,\n nextRendersAuthor,\n }\n\n return <ShadowMessageContent conversation_id={conversation_id} {...enrichedMessage} />\n})\n\ninterface ShadowMessageContentProps extends MessageResource {\n conversation_id: number\n}\n\nfunction ShadowMessageContent({ conversation_id, ...message }: ShadowMessageContentProps) {\n const { deletedAt, author, attachments } = message\n const text = stripEmptyTextCharacters(message.text ?? '')\n const styles = useStyles(message)\n const { colors } = useTheme()\n const navigation = useNavigation()\n const timestamp = useLiveRelativeTime(message.createdAt)\n\n const [messageBubbleHeight, setMessageBubbleHeight] = React.useState(0)\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n const scalableNumberOfLines = useScalableNumberOfLines(2)\n const replyCountText = pluralize(message.replyCount, 'reply')\n const isDeleted = !!deletedAt\n const messageText = isDeleted ? 'Message deleted' : text\n\n const handleNavigateToReplies = () => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId ?? message.id,\n reply_root_author_name: message.author.name,\n })\n }\n\n const attachmentLabel = some(attachments) ? pluralize(attachments.length, 'attachment') : ''\n const accessibilityLabel = `${author?.name || ''} Reply Preview ${attachmentLabel} ${\n messageText || ''\n } ${timestamp} ${replyCountText}`\n\n return (\n <Pressable\n style={styles.pressable}\n android_ripple={{ color: colors.androidRippleNeutral }}\n onPress={handleNavigateToReplies}\n onPressIn={handleMessagePressIn}\n onPressOut={handleMessagePressOut}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint=\"Navigate to reply screen for this message\"\n accessibilityRole=\"link\"\n >\n <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />\n <View style={[styles.message, { marginBottom: -SPACE_BELOW_PRESSABLE }]}>\n {!message.mine && (\n <View>\n <View style={[styles.avatarWrapper, !isDeleted && styles.avatarOpacity]}>\n <Avatar\n size=\"xs\"\n sourceUri={message.author.avatar}\n style={styles.avatar}\n maxFontSizeMultiplier={1}\n fallbackIconName={isDeleted ? 'publishing.trash' : 'general.person'}\n showFallback={isDeleted}\n />\n </View>\n <TheirReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />\n </View>\n )}\n <View style={styles.messageContent}>\n <View\n style={styles.messageBubble}\n onLayout={e => setMessageBubbleHeight(e.nativeEvent.layout.height)}\n >\n <MessageAttachmentImagery attachments={attachments} />\n {text && (\n <Text\n variant=\"footnote\"\n style={styles.messageText}\n numberOfLines={scalableNumberOfLines}\n >\n {messageText}\n </Text>\n )}\n </View>\n <View style={styles.messageMeta}>\n <Text variant=\"footnote\" style={styles.replyCountText}>\n {replyCountText}\n </Text>\n </View>\n </View>\n {message.mine && (\n <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />\n )}\n </View>\n </Pressable>\n )\n}\n\nfunction MessageAttachmentImagery({\n attachments,\n}: {\n attachments: DenormalizedAttachmentResource[]\n}) {\n if (!attachments || attachments.length === 0) return null\n\n const attachment = attachments[0]\n\n if (attachment.type === 'giphy') {\n return <GiphyImage attachment={attachment} />\n }\n if (attachment.type === 'ExpandedLink') {\n return <ExpandedLinkImage attachment={attachment} />\n }\n if (attachment.type === 'MessageAttachment') {\n const contentType = attachment.attributes?.contentType\n const basicType = contentType?.split('/')[0]\n\n switch (basicType) {\n case 'image':\n return <MessageAttachmentImage attachment={attachment} />\n case 'video':\n return <MessageAttachmentIcon iconName=\"general.outlinedVideoFile\" />\n case 'audio':\n return <MessageAttachmentIcon iconName=\"general.outlinedMusicFile\" />\n case 'application':\n return <MessageAttachmentIcon iconName=\"general.outlinedGenericFile\" />\n default:\n return null\n }\n }\n\n return null\n}\n\nfunction GiphyImage({ attachment }: { attachment: DenormalizedGiphyAttachmentResource }) {\n const { title, giphy } = attachment\n const { url } = giphy.fixedWidth\n const { width, height } = assertKeysAreNumbers(giphy.fixedWidth)\n const styles = useStyles({ imageWidth: width, imageHeight: height })\n\n return (\n <Image\n source={{ uri: url }}\n wrapperStyle={styles.imageWrapper}\n style={styles.image}\n alt={title}\n loaderSize={16}\n />\n )\n}\n\nfunction ExpandedLinkImage({\n attachment,\n}: {\n attachment: DenormalizedExpandedLinkAttachmentResource\n}) {\n const { title = '', imageUrl, imageHeight, imageWidth } = attachment.attributes\n const styles = useStyles({ imageWidth, imageHeight })\n\n return (\n <Image\n source={{ uri: imageUrl }}\n wrapperStyle={styles.imageWrapper}\n style={styles.image}\n alt={title}\n loaderSize={16}\n />\n )\n}\n\nfunction MessageAttachmentImage({\n attachment,\n}: {\n attachment: DenormalizedMessageAttachmentResource\n}) {\n const { url, urlMedium, filename, metadata = {} } = attachment.attributes\n const styles = useStyles({ imageWidth: metadata.width, imageHeight: metadata.height })\n\n return (\n <Image\n source={{ uri: urlMedium || url }}\n style={styles.image}\n wrapperStyle={styles.imageWrapper}\n alt={filename}\n loaderSize={16}\n />\n )\n}\n\nfunction MessageAttachmentIcon({ iconName }: { iconName: IconProps['name'] }) {\n const styles = useStyles()\n return (\n <Icon\n name={iconName}\n style={styles.attachmentIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}\n />\n )\n}\n\n// TODO: The mine prop is not used yet, but in the future we will be adding a way to find the `mine` value for this fallback.\nfunction ShadowMessageFallback({ text, mine }: { text: string; mine?: boolean }) {\n const styles = useStyles({ mine })\n\n return (\n <View style={styles.message}>\n <View style={styles.messageContent}>\n <View style={styles.messageBubble}>\n <Text variant=\"footnote\" style={styles.messageText}>\n {text}\n </Text>\n </View>\n </View>\n </View>\n )\n}\n\ninterface StylesProps {\n imageWidth?: number\n imageHeight?: number\n mine?: boolean\n}\n\nconst useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}) => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })\n const { width } = useWindowDimensions()\n const tabletWidth = width >= 744 // Smallest iPad Mini's width\n\n return StyleSheet.create({\n pressable: {\n marginTop: -MESSAGE_BACKGROUND_OUTSET,\n paddingTop: MESSAGE_BACKGROUND_OUTSET,\n marginBottom: SPACE_BELOW_PRESSABLE,\n },\n message: {\n gap: 8,\n flexDirection: mine ? 'row-reverse' : 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n },\n messageContent: {\n flex: 1,\n gap: 4,\n marginBottom: SPACE_BELOW_MESSAGE,\n },\n avatarWrapper: {\n width: MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,\n alignItems: 'center',\n },\n avatar: {\n marginBottom: 8,\n },\n avatarOpacity: {\n opacity: 0.5,\n },\n messageBubble: {\n flexDirection: 'row',\n alignSelf: mine ? 'flex-end' : 'flex-start',\n alignItems: 'center',\n gap: 8,\n borderColor: colors.borderColorDefaultBase,\n borderWidth: 1,\n borderRadius: 8,\n maxWidth: tabletWidth ? 360 : '80%',\n paddingVertical: 6,\n paddingHorizontal: 8,\n },\n messageText: {\n color: colors.textColorDefaultPlaceholder,\n flexShrink: 1,\n },\n messageMeta: {\n flexDirection: 'row',\n justifyContent: mine ? 'flex-end' : 'flex-start',\n },\n replyCountText: {\n color: colors.interaction,\n fontWeight: platformFontWeightMedium,\n },\n imageWrapper: {\n width: 32 * fontScale,\n aspectRatio: imageWidth / imageHeight,\n opacity: 0.5,\n },\n image: {\n borderRadius: 4,\n },\n attachmentIcon: {\n color: colors.iconColorDefaultDim,\n fontSize: 16,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/chat-react-native",
3
- "version": "4.4.1-qa-staging.14",
3
+ "version": "4.4.1-qa-staging.16",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@fortawesome/fontawesome-svg-core": "^7.2.0",
35
35
  "@fortawesome/react-native-fontawesome": "^0.3.2",
36
- "@planningcenter/emoji-keyboard": "4.4.1-qa-staging.14",
36
+ "@planningcenter/emoji-keyboard": "4.4.1-qa-staging.16",
37
37
  "lodash-inflection": "^1.5.0"
38
38
  },
39
39
  "peerDependencies": {
@@ -84,5 +84,5 @@
84
84
  "sf-symbols-typescript": "^2.2.0",
85
85
  "typescript": "~6.0.3"
86
86
  },
87
- "gitHead": "cae9a5592e733dfe3eb5453dfe1252b75878eff4"
87
+ "gitHead": "024bfab3e3bd8cb01e15383a51947e4551349be5"
88
88
  }
@@ -110,6 +110,7 @@ export const Message = memo(function MessageRow({
110
110
  : hasReactions || showMessageMeta || showReplyCountButton
111
111
  ? 8
112
112
  : 4
113
+ const spaceBelowPressable = messageBottomMargin - MESSAGE_BACKGROUND_OUTSET
113
114
 
114
115
  const messageIsReplyLabel = replyToReplyRootMessage ? 'Reply' : ''
115
116
  const attachmentLabel = some(attachments) ? pluralize(attachments.length, 'attachment') : ''
@@ -216,6 +217,7 @@ export const Message = memo(function MessageRow({
216
217
  return (
217
218
  <Pressable
218
219
  testID={`message-${message.id}`}
220
+ style={[styles.pressable, { marginBottom: spaceBelowPressable }]}
219
221
  onLongPress={isDeleting ? undefined : handleMessageLongPress}
220
222
  onPress={isDeleting ? undefined : handleMessagePress}
221
223
  onPressIn={isDeleting ? undefined : handleMessagePressIn}
@@ -228,14 +230,8 @@ export const Message = memo(function MessageRow({
228
230
  onAccessibilityAction={isReplyRootMessage ? handleAccessibilityAction : undefined}
229
231
  disabled={isDeletedReplyRootMessage || isDeleting}
230
232
  >
231
- <View style={styles.message}>
232
- <Animated.View
233
- style={[
234
- styles.background,
235
- { bottom: messageBottomMargin - MESSAGE_BACKGROUND_OUTSET },
236
- animatedBackgroundColor,
237
- ]}
238
- />
233
+ <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
234
+ <View style={[styles.message, { marginBottom: -spaceBelowPressable }]}>
239
235
  {!message.mine && (
240
236
  <View>
241
237
  {renderAuthor ? (
@@ -373,18 +369,16 @@ const useMessageStyles = (mine: boolean, isDeleting: boolean) => {
373
369
  const messageBubbleBackgroundColor = mine ? myMessageBackgroundColor : colors.fillColorNeutral070
374
370
 
375
371
  return StyleSheet.create({
372
+ pressable: {
373
+ marginTop: -MESSAGE_BACKGROUND_OUTSET,
374
+ paddingTop: MESSAGE_BACKGROUND_OUTSET,
375
+ },
376
376
  message: {
377
377
  gap: 8,
378
378
  flexDirection: mine ? 'row-reverse' : 'row',
379
379
  paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
380
380
  opacity: isDeleting ? 0.5 : 1,
381
381
  },
382
- background: {
383
- position: 'absolute',
384
- left: 0,
385
- right: 0,
386
- top: -MESSAGE_BACKGROUND_OUTSET,
387
- },
388
382
  messageContent: {
389
383
  flex: 1,
390
384
  gap: 4,
@@ -31,6 +31,7 @@ import { Avatar, Icon, IconProps, Image, Text } from '../display'
31
31
  import { TheirReplyConnector, MyReplyConnector } from './reply_connectors'
32
32
 
33
33
  const SPACE_BELOW_MESSAGE = 12
34
+ const SPACE_BELOW_PRESSABLE = SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET
34
35
 
35
36
  interface ReplyShadowMessageProps extends MessageResource {
36
37
  messageId: string
@@ -99,6 +100,7 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
99
100
 
100
101
  return (
101
102
  <Pressable
103
+ style={styles.pressable}
102
104
  android_ripple={{ color: colors.androidRippleNeutral }}
103
105
  onPress={handleNavigateToReplies}
104
106
  onPressIn={handleMessagePressIn}
@@ -107,8 +109,8 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
107
109
  accessibilityHint="Navigate to reply screen for this message"
108
110
  accessibilityRole="link"
109
111
  >
110
- <View style={styles.message}>
111
- <Animated.View style={[styles.background, animatedBackgroundColor]} />
112
+ <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
113
+ <View style={[styles.message, { marginBottom: -SPACE_BELOW_PRESSABLE }]}>
112
114
  {!message.mine && (
113
115
  <View>
114
116
  <View style={[styles.avatarWrapper, !isDeleted && styles.avatarOpacity]}>
@@ -286,18 +288,16 @@ const useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}
286
288
  const tabletWidth = width >= 744 // Smallest iPad Mini's width
287
289
 
288
290
  return StyleSheet.create({
291
+ pressable: {
292
+ marginTop: -MESSAGE_BACKGROUND_OUTSET,
293
+ paddingTop: MESSAGE_BACKGROUND_OUTSET,
294
+ marginBottom: SPACE_BELOW_PRESSABLE,
295
+ },
289
296
  message: {
290
297
  gap: 8,
291
298
  flexDirection: mine ? 'row-reverse' : 'row',
292
299
  paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
293
300
  },
294
- background: {
295
- position: 'absolute',
296
- left: 0,
297
- right: 0,
298
- top: -MESSAGE_BACKGROUND_OUTSET,
299
- bottom: SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET,
300
- },
301
301
  messageContent: {
302
302
  flex: 1,
303
303
  gap: 4,