@planningcenter/chat-react-native 4.5.0-rc.0 → 4.5.0-rc.2

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 (24) hide show
  1. package/build/components/conversation/message.d.ts.map +1 -1
  2. package/build/components/conversation/message.js +193 -145
  3. package/build/components/conversation/message.js.map +1 -1
  4. package/build/components/conversation/reply_shadow_message.d.ts.map +1 -1
  5. package/build/components/conversation/reply_shadow_message.js +135 -107
  6. package/build/components/conversation/reply_shadow_message.js.map +1 -1
  7. package/build/components/display/filter_dropdown.d.ts +6 -1
  8. package/build/components/display/filter_dropdown.d.ts.map +1 -1
  9. package/build/components/display/filter_dropdown.js +55 -35
  10. package/build/components/display/filter_dropdown.js.map +1 -1
  11. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -1
  12. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +138 -94
  13. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -1
  14. package/build/utils/styles.d.ts +1 -0
  15. package/build/utils/styles.d.ts.map +1 -1
  16. package/build/utils/styles.js +1 -1
  17. package/build/utils/styles.js.map +1 -1
  18. package/package.json +2 -2
  19. package/src/components/conversation/message.tsx +10 -2
  20. package/src/components/conversation/reply_shadow_message.tsx +14 -3
  21. package/src/components/display/filter_dropdown.tsx +7 -1
  22. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +45 -0
  23. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +38 -12
  24. package/src/utils/styles.ts +1 -0
@@ -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":[]}
@@ -9,6 +9,11 @@ export interface FilterDropdownProps {
9
9
  onMoreFilters: () => void;
10
10
  triggerLabel: string;
11
11
  showMoreFilters?: boolean;
12
+ /**
13
+ * Widest the trigger may render, in points. Hosts that measure the trigger at its intrinsic
14
+ * width need this for the label to truncate.
15
+ */
16
+ maxWidth?: number;
12
17
  }
13
- export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, showMoreFilters, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, showMoreFilters, maxWidth, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
14
19
  //# sourceMappingURL=filter_dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAsB,GACvB,EAAE,mBAAmB,2CAgDrB"}
1
+ {"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAsB,EACtB,QAAQ,GACT,EAAE,mBAAmB,2CAgDrB"}
@@ -19,14 +19,15 @@ const MORE_FILTERS_LABEL = 'More filters';
19
19
  // =================================
20
20
 
21
21
  export function FilterDropdown(t0) {
22
- const $ = _c(24);
22
+ const $ = _c(29);
23
23
  const {
24
24
  options,
25
25
  selectedId,
26
26
  onSelect,
27
27
  onMoreFilters,
28
28
  triggerLabel,
29
- showMoreFilters: t1
29
+ showMoreFilters: t1,
30
+ maxWidth
30
31
  } = t0;
31
32
  const showMoreFilters = t1 === undefined ? true : t1;
32
33
  const styles = useStyles();
@@ -90,65 +91,84 @@ export function FilterDropdown(t0) {
90
91
  }
91
92
  const handlePressAction = t3;
92
93
  let t4;
93
- if ($[10] !== styles.triggerLabel || $[11] !== triggerLabel) {
94
- t4 = /*#__PURE__*/_jsx(Text, {
94
+ if ($[10] !== maxWidth) {
95
+ t4 = maxWidth !== undefined && {
96
+ maxWidth
97
+ };
98
+ $[10] = maxWidth;
99
+ $[11] = t4;
100
+ } else {
101
+ t4 = $[11];
102
+ }
103
+ let t5;
104
+ if ($[12] !== styles.trigger || $[13] !== t4) {
105
+ t5 = [styles.trigger, t4];
106
+ $[12] = styles.trigger;
107
+ $[13] = t4;
108
+ $[14] = t5;
109
+ } else {
110
+ t5 = $[14];
111
+ }
112
+ let t6;
113
+ if ($[15] !== styles.triggerLabel || $[16] !== triggerLabel) {
114
+ t6 = /*#__PURE__*/_jsx(Text, {
95
115
  style: styles.triggerLabel,
96
116
  numberOfLines: 1,
97
117
  maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER_LANDMARK,
98
118
  children: triggerLabel
99
119
  });
100
- $[10] = styles.triggerLabel;
101
- $[11] = triggerLabel;
102
- $[12] = t4;
120
+ $[15] = styles.triggerLabel;
121
+ $[16] = triggerLabel;
122
+ $[17] = t6;
103
123
  } else {
104
- t4 = $[12];
124
+ t6 = $[17];
105
125
  }
106
- let t5;
107
- if ($[13] !== styles.triggerIcon) {
108
- t5 = /*#__PURE__*/_jsx(Icon, {
126
+ let t7;
127
+ if ($[18] !== styles.triggerIcon) {
128
+ t7 = /*#__PURE__*/_jsx(Icon, {
109
129
  name: "general.downChevron",
110
130
  style: styles.triggerIcon,
111
131
  maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER_LANDMARK,
112
132
  accessibilityElementsHidden: true
113
133
  });
114
- $[13] = styles.triggerIcon;
115
- $[14] = t5;
134
+ $[18] = styles.triggerIcon;
135
+ $[19] = t7;
116
136
  } else {
117
- t5 = $[14];
137
+ t7 = $[19];
118
138
  }
119
- let t6;
120
- if ($[15] !== styles.trigger || $[16] !== t4 || $[17] !== t5) {
121
- t6 = /*#__PURE__*/_jsxs(View, {
122
- style: styles.trigger,
139
+ let t8;
140
+ if ($[20] !== t5 || $[21] !== t6 || $[22] !== t7) {
141
+ t8 = /*#__PURE__*/_jsxs(View, {
142
+ style: t5,
123
143
  accessible: true,
124
144
  accessibilityRole: "button",
125
145
  accessibilityHint: "Opens filter options",
126
- children: [t4, t5]
146
+ children: [t6, t7]
127
147
  });
128
- $[15] = styles.trigger;
129
- $[16] = t4;
130
- $[17] = t5;
131
- $[18] = t6;
148
+ $[20] = t5;
149
+ $[21] = t6;
150
+ $[22] = t7;
151
+ $[23] = t8;
132
152
  } else {
133
- t6 = $[18];
153
+ t8 = $[23];
134
154
  }
135
- let t7;
136
- if ($[19] !== actions || $[20] !== handlePressAction || $[21] !== styles.container || $[22] !== t6) {
137
- t7 = /*#__PURE__*/_jsx(Menu.View, {
155
+ let t9;
156
+ if ($[24] !== actions || $[25] !== handlePressAction || $[26] !== styles.container || $[27] !== t8) {
157
+ t9 = /*#__PURE__*/_jsx(Menu.View, {
138
158
  actions: actions,
139
159
  onPressAction: handlePressAction,
140
160
  style: styles.container,
141
- children: t6
161
+ children: t8
142
162
  });
143
- $[19] = actions;
144
- $[20] = handlePressAction;
145
- $[21] = styles.container;
146
- $[22] = t6;
147
- $[23] = t7;
163
+ $[24] = actions;
164
+ $[25] = handlePressAction;
165
+ $[26] = styles.container;
166
+ $[27] = t8;
167
+ $[28] = t9;
148
168
  } else {
149
- t7 = $[23];
169
+ t9 = $[28];
150
170
  }
151
- return t7;
171
+ return t9;
152
172
  }
153
173
 
154
174
  // =================================
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown.js","names":["React","StyleSheet","View","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Menu","platformFontWeightBold","tokens","Icon","Text","jsx","_jsx","jsxs","_jsxs","MORE_FILTERS_ID","MORE_FILTERS_LABEL","FilterDropdown","t0","$","_c","options","selectedId","onSelect","onMoreFilters","triggerLabel","showMoreFilters","t1","undefined","styles","useStyles","t2","t3","option","id","title","label","state","optionActions","map","t4","Symbol","for","displayInline","subactions","moreFiltersAction","actions","nativeEvent","event","handlePressAction","style","numberOfLines","children","t5","triggerIcon","name","accessibilityElementsHidden","t6","trigger","accessible","accessibilityRole","accessibilityHint","t7","container","colors","iconColorDefaultPrimary","textColorDefaultPrimary","create","alignSelf","flexDirection","alignItems","gap","paddingVertical","flexShrink","fontWeight","color","fontSize","fontSizeSm"],"sources":["../../../src/components/display/filter_dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport {\n MAX_FONT_SIZE_MULTIPLIER_LANDMARK,\n Menu,\n MenuAction,\n MenuActionEvent,\n platformFontWeightBold,\n} from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { Text } from './text'\n\n// =================================\n// ====== Constants ================\n// =================================\n\nconst MORE_FILTERS_ID = 'more_filters'\nconst MORE_FILTERS_LABEL = 'More filters'\n\n// =================================\n// ====== Component ================\n// =================================\n\nexport interface FilterDropdownOption {\n id: string\n label: string\n}\n\nexport interface FilterDropdownProps {\n options: FilterDropdownOption[]\n selectedId: string\n onSelect: (id: string) => void\n onMoreFilters: () => void\n triggerLabel: string\n showMoreFilters?: boolean\n}\n\nexport function FilterDropdown({\n options,\n selectedId,\n onSelect,\n onMoreFilters,\n triggerLabel,\n showMoreFilters = true,\n}: FilterDropdownProps) {\n const styles = useStyles()\n\n const optionActions: MenuAction[] = options.map(option => ({\n id: option.id,\n title: option.label,\n state: option.id === selectedId ? ('on' as const) : ('off' as const),\n }))\n const moreFiltersAction: MenuAction = {\n id: MORE_FILTERS_ID,\n title: '',\n displayInline: true,\n subactions: [{ id: MORE_FILTERS_ID, title: MORE_FILTERS_LABEL }],\n }\n const actions = showMoreFilters ? [...optionActions, moreFiltersAction] : optionActions\n\n const handlePressAction = ({ nativeEvent }: MenuActionEvent) => {\n if (nativeEvent.event === MORE_FILTERS_ID) {\n onMoreFilters()\n } else {\n onSelect(nativeEvent.event)\n }\n }\n\n return (\n <Menu.View actions={actions} onPressAction={handlePressAction} style={styles.container}>\n <View\n style={styles.trigger}\n accessible\n accessibilityRole=\"button\"\n accessibilityHint=\"Opens filter options\"\n >\n <Text\n style={styles.triggerLabel}\n numberOfLines={1}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {triggerLabel}\n </Text>\n <Icon\n name=\"general.downChevron\"\n style={styles.triggerIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityElementsHidden\n />\n </View>\n </Menu.View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignSelf: 'flex-start',\n },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 6,\n paddingVertical: 4,\n },\n triggerLabel: {\n flexShrink: 1,\n fontWeight: platformFontWeightBold,\n color: colors.textColorDefaultPrimary,\n },\n triggerIcon: {\n fontSize: tokens.fontSizeSm,\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"filter_dropdown.js","names":["React","StyleSheet","View","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Menu","platformFontWeightBold","tokens","Icon","Text","jsx","_jsx","jsxs","_jsxs","MORE_FILTERS_ID","MORE_FILTERS_LABEL","FilterDropdown","t0","$","_c","options","selectedId","onSelect","onMoreFilters","triggerLabel","showMoreFilters","t1","maxWidth","undefined","styles","useStyles","t2","t3","option","id","title","label","state","optionActions","map","t4","Symbol","for","displayInline","subactions","moreFiltersAction","actions","nativeEvent","event","handlePressAction","t5","trigger","t6","style","numberOfLines","children","t7","triggerIcon","name","accessibilityElementsHidden","t8","accessible","accessibilityRole","accessibilityHint","t9","container","colors","iconColorDefaultPrimary","textColorDefaultPrimary","create","alignSelf","flexDirection","alignItems","gap","paddingVertical","flexShrink","fontWeight","color","fontSize","fontSizeSm"],"sources":["../../../src/components/display/filter_dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport {\n MAX_FONT_SIZE_MULTIPLIER_LANDMARK,\n Menu,\n MenuAction,\n MenuActionEvent,\n platformFontWeightBold,\n} from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { Text } from './text'\n\n// =================================\n// ====== Constants ================\n// =================================\n\nconst MORE_FILTERS_ID = 'more_filters'\nconst MORE_FILTERS_LABEL = 'More filters'\n\n// =================================\n// ====== Component ================\n// =================================\n\nexport interface FilterDropdownOption {\n id: string\n label: string\n}\n\nexport interface FilterDropdownProps {\n options: FilterDropdownOption[]\n selectedId: string\n onSelect: (id: string) => void\n onMoreFilters: () => void\n triggerLabel: string\n showMoreFilters?: boolean\n /**\n * Widest the trigger may render, in points. Hosts that measure the trigger at its intrinsic\n * width need this for the label to truncate.\n */\n maxWidth?: number\n}\n\nexport function FilterDropdown({\n options,\n selectedId,\n onSelect,\n onMoreFilters,\n triggerLabel,\n showMoreFilters = true,\n maxWidth,\n}: FilterDropdownProps) {\n const styles = useStyles()\n\n const optionActions: MenuAction[] = options.map(option => ({\n id: option.id,\n title: option.label,\n state: option.id === selectedId ? ('on' as const) : ('off' as const),\n }))\n const moreFiltersAction: MenuAction = {\n id: MORE_FILTERS_ID,\n title: '',\n displayInline: true,\n subactions: [{ id: MORE_FILTERS_ID, title: MORE_FILTERS_LABEL }],\n }\n const actions = showMoreFilters ? [...optionActions, moreFiltersAction] : optionActions\n\n const handlePressAction = ({ nativeEvent }: MenuActionEvent) => {\n if (nativeEvent.event === MORE_FILTERS_ID) {\n onMoreFilters()\n } else {\n onSelect(nativeEvent.event)\n }\n }\n\n return (\n <Menu.View actions={actions} onPressAction={handlePressAction} style={styles.container}>\n <View\n style={[styles.trigger, maxWidth !== undefined && { maxWidth }]}\n accessible\n accessibilityRole=\"button\"\n accessibilityHint=\"Opens filter options\"\n >\n <Text\n style={styles.triggerLabel}\n numberOfLines={1}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {triggerLabel}\n </Text>\n <Icon\n name=\"general.downChevron\"\n style={styles.triggerIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityElementsHidden\n />\n </View>\n </Menu.View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignSelf: 'flex-start',\n },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 6,\n paddingVertical: 4,\n },\n triggerLabel: {\n flexShrink: 1,\n fontWeight: platformFontWeightBold,\n color: colors.textColorDefaultPrimary,\n },\n triggerIcon: {\n fontSize: tokens.fontSizeSm,\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown_list_header_component.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversations/components/filter_dropdown_list_header_component.tsx"],"names":[],"mappings":"AA+CA,eAAO,MAAM,iCAAiC,+CA0N7C,CAAA"}
1
+ {"version":3,"file":"filter_dropdown_list_header_component.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversations/components/filter_dropdown_list_header_component.tsx"],"names":[],"mappings":"AAiDA,eAAO,MAAM,iCAAiC,+CAmP7C,CAAA"}