@planningcenter/chat-react-native 4.5.0-rc.0 → 4.5.0-rc.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.
@@ -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","platformFontWeightMedium","Avatar","Icon","Image","Text","TheirReplyConnector","MyReplyConnector","jsx","_jsx","jsxs","_jsxs","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","avatar","avatarOpacity","avatarWrapper","mine","children","style","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","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 platformFontWeightMedium,\n} from '../../utils/styles'\nimport { Avatar, Icon, IconProps, Image, Text } from '../display'\nimport { TheirReplyConnector, MyReplyConnector } from './reply_connectors'\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 <Animated.View style={[styles.message, 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 </Animated.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 messageContent: {\n flex: 1,\n gap: 4,\n marginBottom: 12,\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":[]}
@@ -2,6 +2,7 @@ export declare const MAX_FONT_SIZE_MULTIPLIER = 1.5;
2
2
  export declare const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2;
3
3
  export declare const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16;
4
4
  export declare const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32;
5
+ export declare const MESSAGE_BACKGROUND_OUTSET = 2;
5
6
  export declare const platformFontWeightMedium: "500" | "700" | undefined;
6
7
  export declare const platformFontWeightBold: "600" | "700" | undefined;
7
8
  export declare const platformPressedOpacityStyle: {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utils/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,iCAAiC,MAAM,CAAA;AAEpD,eAAO,MAAM,4CAA4C,KAAK,CAAA;AAC9D,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAEpD,eAAO,MAAM,wBAAwB,2BAGnC,CAAA;AAEF,eAAO,MAAM,sBAAsB,2BAGjC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;aAGtC,CAAA"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utils/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,iCAAiC,MAAM,CAAA;AAEpD,eAAO,MAAM,4CAA4C,KAAK,CAAA;AAC9D,eAAO,MAAM,kCAAkC,KAAK,CAAA;AACpD,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAE1C,eAAO,MAAM,wBAAwB,2BAGnC,CAAA;AAEF,eAAO,MAAM,sBAAsB,2BAGjC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;aAGtC,CAAA"}
@@ -5,7 +5,7 @@ export const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2; // Use in headers, footers
5
5
 
6
6
  export const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16; // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
7
7
  export const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32; // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
8
-
8
+ export const MESSAGE_BACKGROUND_OUTSET = 2;
9
9
  export const platformFontWeightMedium = Platform.select({
10
10
  ios: tokens.fontWeightMedium,
11
11
  android: tokens.fontWeightBold
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["Platform","tokens","MAX_FONT_SIZE_MULTIPLIER","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","platformFontWeightMedium","select","ios","fontWeightMedium","android","fontWeightBold","platformFontWeightBold","fontWeightSemiBold","platformPressedOpacityStyle","opacity"],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import { Platform } from 'react-native'\nimport { tokens } from '../vendor/tapestry/tokens'\n\nexport const MAX_FONT_SIZE_MULTIPLIER = 1.5\nexport const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers, toolbars, etc.\n\nexport const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\n\nexport const platformFontWeightMedium = Platform.select({\n ios: tokens.fontWeightMedium,\n android: tokens.fontWeightBold,\n})\n\nexport const platformFontWeightBold = Platform.select({\n ios: tokens.fontWeightSemiBold,\n android: tokens.fontWeightBold,\n})\n\nexport const platformPressedOpacityStyle = Platform.select({\n ios: { opacity: 0.5 },\n android: { opacity: 1 },\n})\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,2BAA2B;AAElD,OAAO,MAAMC,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,GAAG,EAAC;;AAErD,OAAO,MAAMC,4CAA4C,GAAG,EAAE,EAAC;AAC/D,OAAO,MAAMC,kCAAkC,GAAG,EAAE,EAAC;;AAErD,OAAO,MAAMC,wBAAwB,GAAGN,QAAQ,CAACO,MAAM,CAAC;EACtDC,GAAG,EAAEP,MAAM,CAACQ,gBAAgB;EAC5BC,OAAO,EAAET,MAAM,CAACU;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMC,sBAAsB,GAAGZ,QAAQ,CAACO,MAAM,CAAC;EACpDC,GAAG,EAAEP,MAAM,CAACY,kBAAkB;EAC9BH,OAAO,EAAET,MAAM,CAACU;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMG,2BAA2B,GAAGd,QAAQ,CAACO,MAAM,CAAC;EACzDC,GAAG,EAAE;IAAEO,OAAO,EAAE;EAAI,CAAC;EACrBL,OAAO,EAAE;IAAEK,OAAO,EAAE;EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"styles.js","names":["Platform","tokens","MAX_FONT_SIZE_MULTIPLIER","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","MESSAGE_BACKGROUND_OUTSET","platformFontWeightMedium","select","ios","fontWeightMedium","android","fontWeightBold","platformFontWeightBold","fontWeightSemiBold","platformPressedOpacityStyle","opacity"],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import { Platform } from 'react-native'\nimport { tokens } from '../vendor/tapestry/tokens'\n\nexport const MAX_FONT_SIZE_MULTIPLIER = 1.5\nexport const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers, toolbars, etc.\n\nexport const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_BACKGROUND_OUTSET = 2\n\nexport const platformFontWeightMedium = Platform.select({\n ios: tokens.fontWeightMedium,\n android: tokens.fontWeightBold,\n})\n\nexport const platformFontWeightBold = Platform.select({\n ios: tokens.fontWeightSemiBold,\n android: tokens.fontWeightBold,\n})\n\nexport const platformPressedOpacityStyle = Platform.select({\n ios: { opacity: 0.5 },\n android: { opacity: 1 },\n})\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,2BAA2B;AAElD,OAAO,MAAMC,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,GAAG,EAAC;;AAErD,OAAO,MAAMC,4CAA4C,GAAG,EAAE,EAAC;AAC/D,OAAO,MAAMC,kCAAkC,GAAG,EAAE,EAAC;AACrD,OAAO,MAAMC,yBAAyB,GAAG,CAAC;AAE1C,OAAO,MAAMC,wBAAwB,GAAGP,QAAQ,CAACQ,MAAM,CAAC;EACtDC,GAAG,EAAER,MAAM,CAACS,gBAAgB;EAC5BC,OAAO,EAAEV,MAAM,CAACW;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMC,sBAAsB,GAAGb,QAAQ,CAACQ,MAAM,CAAC;EACpDC,GAAG,EAAER,MAAM,CAACa,kBAAkB;EAC9BH,OAAO,EAAEV,MAAM,CAACW;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMG,2BAA2B,GAAGf,QAAQ,CAACQ,MAAM,CAAC;EACzDC,GAAG,EAAE;IAAEO,OAAO,EAAE;EAAI,CAAC;EACrBL,OAAO,EAAE;IAAEK,OAAO,EAAE;EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/chat-react-native",
3
- "version": "4.5.0-rc.0",
3
+ "version": "4.5.0-rc.1",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -84,5 +84,5 @@
84
84
  "sf-symbols-typescript": "^2.2.0",
85
85
  "typescript": "~6.0.3"
86
86
  },
87
- "gitHead": "08df2339a5e63e78ae722597c62d4d2d5fdda98c"
87
+ "gitHead": "856c408a4a998b4ce9b499ea42769c2b4f071adb"
88
88
  }
@@ -30,6 +30,7 @@ import { Haptic } from '../../utils/native_adapters'
30
30
  import {
31
31
  CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
32
32
  MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
33
+ MESSAGE_BACKGROUND_OUTSET,
33
34
  platformFontWeightMedium,
34
35
  } from '../../utils/styles'
35
36
  import { ComponentErrorBoundary } from '../page/component_error_boundary'
@@ -109,6 +110,7 @@ export const Message = memo(function MessageRow({
109
110
  : hasReactions || showMessageMeta || showReplyCountButton
110
111
  ? 8
111
112
  : 4
113
+ const spaceBelowPressable = messageBottomMargin - MESSAGE_BACKGROUND_OUTSET
112
114
 
113
115
  const messageIsReplyLabel = replyToReplyRootMessage ? 'Reply' : ''
114
116
  const attachmentLabel = some(attachments) ? pluralize(attachments.length, 'attachment') : ''
@@ -215,6 +217,7 @@ export const Message = memo(function MessageRow({
215
217
  return (
216
218
  <Pressable
217
219
  testID={`message-${message.id}`}
220
+ style={[styles.pressable, { marginBottom: spaceBelowPressable }]}
218
221
  onLongPress={isDeleting ? undefined : handleMessageLongPress}
219
222
  onPress={isDeleting ? undefined : handleMessagePress}
220
223
  onPressIn={isDeleting ? undefined : handleMessagePressIn}
@@ -227,7 +230,8 @@ export const Message = memo(function MessageRow({
227
230
  onAccessibilityAction={isReplyRootMessage ? handleAccessibilityAction : undefined}
228
231
  disabled={isDeletedReplyRootMessage || isDeleting}
229
232
  >
230
- <Animated.View style={[styles.message, animatedBackgroundColor]}>
233
+ <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
234
+ <View style={[styles.message, { marginBottom: -spaceBelowPressable }]}>
231
235
  {!message.mine && (
232
236
  <View>
233
237
  {renderAuthor ? (
@@ -351,7 +355,7 @@ export const Message = memo(function MessageRow({
351
355
  {message.mine && (
352
356
  <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />
353
357
  )}
354
- </Animated.View>
358
+ </View>
355
359
  </Pressable>
356
360
  )
357
361
  })
@@ -365,6 +369,10 @@ const useMessageStyles = (mine: boolean, isDeleting: boolean) => {
365
369
  const messageBubbleBackgroundColor = mine ? myMessageBackgroundColor : colors.fillColorNeutral070
366
370
 
367
371
  return StyleSheet.create({
372
+ pressable: {
373
+ marginTop: -MESSAGE_BACKGROUND_OUTSET,
374
+ paddingTop: MESSAGE_BACKGROUND_OUTSET,
375
+ },
368
376
  message: {
369
377
  gap: 8,
370
378
  flexDirection: mine ? 'row-reverse' : 'row',
@@ -24,11 +24,15 @@ import {
24
24
  CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
25
25
  MAX_FONT_SIZE_MULTIPLIER,
26
26
  MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
27
+ MESSAGE_BACKGROUND_OUTSET,
27
28
  platformFontWeightMedium,
28
29
  } from '../../utils/styles'
29
30
  import { Avatar, Icon, IconProps, Image, Text } from '../display'
30
31
  import { TheirReplyConnector, MyReplyConnector } from './reply_connectors'
31
32
 
33
+ const SPACE_BELOW_MESSAGE = 12
34
+ const SPACE_BELOW_PRESSABLE = SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET
35
+
32
36
  interface ReplyShadowMessageProps extends MessageResource {
33
37
  messageId: string
34
38
  conversation_id: number
@@ -96,6 +100,7 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
96
100
 
97
101
  return (
98
102
  <Pressable
103
+ style={styles.pressable}
99
104
  android_ripple={{ color: colors.androidRippleNeutral }}
100
105
  onPress={handleNavigateToReplies}
101
106
  onPressIn={handleMessagePressIn}
@@ -104,7 +109,8 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
104
109
  accessibilityHint="Navigate to reply screen for this message"
105
110
  accessibilityRole="link"
106
111
  >
107
- <Animated.View style={[styles.message, animatedBackgroundColor]}>
112
+ <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
113
+ <View style={[styles.message, { marginBottom: -SPACE_BELOW_PRESSABLE }]}>
108
114
  {!message.mine && (
109
115
  <View>
110
116
  <View style={[styles.avatarWrapper, !isDeleted && styles.avatarOpacity]}>
@@ -145,7 +151,7 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
145
151
  {message.mine && (
146
152
  <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />
147
153
  )}
148
- </Animated.View>
154
+ </View>
149
155
  </Pressable>
150
156
  )
151
157
  }
@@ -282,6 +288,11 @@ const useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}
282
288
  const tabletWidth = width >= 744 // Smallest iPad Mini's width
283
289
 
284
290
  return StyleSheet.create({
291
+ pressable: {
292
+ marginTop: -MESSAGE_BACKGROUND_OUTSET,
293
+ paddingTop: MESSAGE_BACKGROUND_OUTSET,
294
+ marginBottom: SPACE_BELOW_PRESSABLE,
295
+ },
285
296
  message: {
286
297
  gap: 8,
287
298
  flexDirection: mine ? 'row-reverse' : 'row',
@@ -290,7 +301,7 @@ const useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}
290
301
  messageContent: {
291
302
  flex: 1,
292
303
  gap: 4,
293
- marginBottom: 12,
304
+ marginBottom: SPACE_BELOW_MESSAGE,
294
305
  },
295
306
  avatarWrapper: {
296
307
  width: MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
@@ -6,6 +6,7 @@ export const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers,
6
6
 
7
7
  export const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
8
8
  export const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
9
+ export const MESSAGE_BACKGROUND_OUTSET = 2
9
10
 
10
11
  export const platformFontWeightMedium = Platform.select({
11
12
  ios: tokens.fontWeightMedium,