stream-chat-react-native-core 5.22.0-beta.2 → 5.22.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/FileAttachment.js +10 -7
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/hooks/useViewport.js +47 -0
- package/lib/commonjs/hooks/useViewport.js.map +1 -0
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +48 -48
- package/lib/commonjs/i18n/hi.json +48 -48
- package/lib/commonjs/i18n/it.json +48 -48
- package/lib/commonjs/i18n/nl.json +48 -48
- package/lib/commonjs/i18n/ru.json +48 -48
- package/lib/commonjs/i18n/tr.json +48 -48
- package/lib/commonjs/utils/utils.js +1 -15
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +10 -7
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +8 -6
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +20 -16
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +16 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +4 -2
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +29 -32
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +7 -5
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +10 -8
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +10 -8
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +12 -10
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +20 -17
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +13 -11
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +8 -14
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +11 -8
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +32 -29
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +17 -15
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -4
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/hooks/useViewport.js +47 -0
- package/lib/module/hooks/useViewport.js.map +1 -0
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +48 -48
- package/lib/module/i18n/hi.json +48 -48
- package/lib/module/i18n/it.json +48 -48
- package/lib/module/i18n/nl.json +48 -48
- package/lib/module/i18n/ru.json +48 -48
- package/lib/module/i18n/tr.json +48 -48
- package/lib/module/utils/utils.js +1 -15
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +0 -3
- package/lib/typescript/hooks/useViewport.d.ts +11 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +48 -48
- package/lib/typescript/i18n/hi.json +48 -48
- package/lib/typescript/i18n/it.json +48 -48
- package/lib/typescript/i18n/nl.json +48 -48
- package/lib/typescript/i18n/ru.json +48 -48
- package/lib/typescript/i18n/tr.json +48 -48
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
- package/lib/typescript/utils/Streami18n.d.ts +0 -4
- package/lib/typescript/utils/utils.d.ts +0 -2
- package/package.json +1 -1
- package/src/components/Attachment/FileAttachment.tsx +12 -3
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +3 -1
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -3
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +4 -3
- package/src/components/ImageGallery/ImageGallery.tsx +9 -19
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +5 -3
- package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +5 -3
- package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
- package/src/components/Indicators/EmptyStateIndicator.tsx +4 -5
- package/src/components/Message/MessageSimple/MessageContent.tsx +3 -1
- package/src/components/MessageList/InlineUnreadIndicator.tsx +2 -1
- package/src/components/MessageOverlay/MessageActionList.tsx +3 -11
- package/src/components/MessageOverlay/MessageActionListItem.tsx +5 -2
- package/src/components/MessageOverlay/MessageOverlay.tsx +5 -3
- package/src/components/Thread/components/ThreadFooterComponent.tsx +2 -1
- package/src/contexts/themeContext/utils/theme.ts +0 -7
- package/src/hooks/useViewport.ts +41 -0
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +48 -48
- package/src/i18n/hi.json +48 -48
- package/src/i18n/it.json +48 -48
- package/src/i18n/nl.json +48 -48
- package/src/i18n/ru.json +48 -48
- package/src/i18n/tr.json +48 -48
- package/src/utils/utils.ts +0 -13
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","vw","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageError'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\n containerInner,\n errorContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && <MessageError />}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_useViewport2","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","_useViewport","useViewport","vw","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { useViewport } from '../../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageError'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\n containerInner,\n errorContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n const { vw } = useViewport();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && <MessageError />}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,qBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AAIA,IAAAI,gBAAA,GAAAJ,OAAA;AAIA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAOA,IAAAO,aAAA,GAAAP,OAAA;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AAA0D,IAAAS,SAAA;AAAA,IAAAC,KAAA;EAAAC,YAAA;AAE1D,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,cAAc,EAAE;IACdC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE;EACZ,CAAC;EACDC,gBAAgB,EAAE;IAChBC,cAAc,EAAE;EAClB,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACDC,WAAW,EAAE;IACXC,eAAe,EAAE,CAAC;IAClBC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,aAAa,EAAE,KAAK;IACpBC,iBAAiB,EAAE,CAAC;IACpBC,UAAU,EAAE;EACd,CAAC;EACDC,iBAAiB,EAAE;IACjBX,cAAc,EAAE;EAClB,CAAC;EACDY,eAAe,EAAE;IACfV,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAiDF,IAAMW,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAG7BC,KAAyD,EACtD;EAAA,IAAAC,aAAA;EACH,IACEC,wBAAwB,GA+BtBF,KAAK,CA/BPE,wBAAwB;IACxBC,SAAS,GA8BPH,KAAK,CA9BPG,SAAS;IACTC,UAAU,GA6BRJ,KAAK,CA7BPI,UAAU;IACVC,QAAQ,GA4BNL,KAAK,CA5BPK,QAAQ;IACRC,mBAAmB,GA2BjBN,KAAK,CA3BPM,mBAAmB;IACnBC,UAAU,GA0BRP,KAAK,CA1BPO,UAAU;IACVC,OAAO,GAyBLR,KAAK,CAzBPQ,OAAO;IACPC,WAAW,GAwBTT,KAAK,CAxBPS,WAAW;IACXC,YAAY,GAuBVV,KAAK,CAvBPU,YAAY;IACZC,WAAW,GAsBTX,KAAK,CAtBPW,WAAW;IACXC,gBAAgB,GAqBdZ,KAAK,CArBPY,gBAAgB;IAChBC,OAAO,GAoBLb,KAAK,CApBPa,OAAO;IACPC,OAAO,GAmBLd,KAAK,CAnBPc,OAAO;IACPC,mBAAmB,GAkBjBf,KAAK,CAlBPe,mBAAmB;IACnBC,cAAc,GAiBZhB,KAAK,CAjBPgB,cAAc;IACdC,YAAY,GAgBVjB,KAAK,CAhBPiB,YAAY;IACZC,aAAa,GAeXlB,KAAK,CAfPkB,aAAa;IACbC,aAAa,GAcXnB,KAAK,CAdPmB,aAAa;IACbC,cAAc,GAaZpB,KAAK,CAbPoB,cAAc;IACdC,aAAa,GAYXrB,KAAK,CAZPqB,aAAa;IACbC,YAAW,GAWTtB,KAAK,CAXPsB,WAAW;IACXC,UAAU,GAURvB,KAAK,CAVPuB,UAAU;IACVC,QAAO,GASLxB,KAAK,CATPwB,OAAO;IACPC,UAAS,GAQPzB,KAAK,CARPyB,SAAS;IACTC,gBAAgB,GAOd1B,KAAK,CAPP0B,gBAAgB;IAChBC,YAAY,GAMV3B,KAAK,CANP2B,YAAY;IACZC,KAAK,GAKH5B,KAAK,CALP4B,KAAK;IACLC,sBAAsB,GAIpB7B,KAAK,CAJP6B,sBAAsB;IACtBC,iBAAiB,GAGf9B,KAAK,CAHP8B,iBAAiB;IACjBC,eAAe,GAEb/B,KAAK,CAFP+B,eAAe;IACfC,UAAU,GACRhC,KAAK,CADPgC,UAAU;EAGZ,IAAAC,SAAA,GAwBI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAvBZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;IAAEC,cAAc,GAAAH,qBAAA,CAAdG,cAAc;IAAEC,YAAY,GAAAJ,qBAAA,CAAZI,YAAY;IAAEC,WAAW,GAAAL,qBAAA,CAAXK,WAAW;IAAEC,KAAK,GAAAN,qBAAA,CAALM,KAAK;IAAAC,qBAAA,GAAAT,eAAA,CACtEU,aAAa;IAAAC,sBAAA,GAAAF,qBAAA,CACXG,OAAO;IAAAC,sBAAA,GAAAF,sBAAA,CACLG,SAAS;IACPC,sBAAsB,GAAAF,sBAAA,CAAtBE,sBAAsB;IACtBC,uBAAuB,GAAAH,sBAAA,CAAvBG,uBAAuB;IACvBC,YAAY,GAAAJ,sBAAA,CAAZI,YAAY;IACZC,aAAa,GAAAL,sBAAA,CAAbK,aAAa;IACbC,aAAa,GAAAN,sBAAA,CAAbM,aAAa;IACbzE,mBAAmB,GAAAmE,sBAAA,CAAnBnE,mBAAmB;IACnBC,oBAAoB,GAAAkE,sBAAA,CAApBlE,oBAAoB;IACjBmE,SAAS,OAAAM,yBAAA,aAAAP,sBAAA,EAAA1E,SAAA;IAEdM,cAAc,GAAAkE,sBAAA,CAAdlE,cAAc;IACd4E,cAAc,GAAAV,sBAAA,CAAdU,cAAc;IACdnE,WAAW,GAAAyD,sBAAA,CAAXzD,WAAW;IACXI,cAAc,GAAAqD,sBAAA,CAAdrD,cAAc;IACdgE,OAAO,GAAAX,sBAAA,CAAPW,OAAO;IAAAC,sBAAA,GAAAd,qBAAA,CAETe,YAAY;IAAIC,MAAM,GAAAF,sBAAA,CAANE,MAAM;IAAEC,YAAY,GAAAH,sBAAA,CAAZG,YAAY;EAI1C,IAAAC,YAAA,GAAe,IAAAC,yBAAW,EAAC,CAAC;IAApBC,EAAE,GAAAF,YAAA,CAAFE,EAAE;EAEV,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,SAAkD,EAAK;IAC1E,IAAI,CAACpD,OAAO,CAACqD,UAAU,EAAE,OAAO,EAAE;IAElC,IAAID,SAAS,EAAE;MACb,OAAOA,SAAS,CAACpD,OAAO,CAACqD,UAAU,CAAC;IACtC;IAEA,IAAMC,YAAY,GAAGrC,eAAe,CAACjB,OAAO,CAACqD,UAAU,CAAC;IAExD,IAAI,IAAAE,iCAAa,EAACD,YAAY,CAAC,EAAE;MAC/B,OAAOA,YAAY,CAACE,MAAM,CAAC,IAAI,CAAC;IAClC;IACA,OAAOxD,OAAO,CAACqD,UAAU;EAC3B,CAAC;EAED,IAAMI,QAA4C,GAAG,SAA/CA,QAA4CA,CAAAC,IAAA,EAI5C;IAAA,IAFQC,KAAK,GAAAD,IAAA,CADjBE,WAAW,CACTC,MAAM,CAAIF,KAAK;IAGjB5C,sBAAsB,CAAC4C,KAAK,CAAC;EAC/B,CAAC;EAED,IAAMG,KAAK,GAAG9D,OAAO,CAAC+D,IAAI,KAAK,OAAO,IAAI/D,OAAO,CAACgE,MAAM,KAAKC,yBAAkB,CAACC,MAAM;EAEtF,IAAMC,UAAU,GAAM9E,SAAS,UAAIM,WAAW,qBAAAR,aAAA,GAAXQ,WAAW,CAAG,CAAC,CAAC,qBAAhBR,aAAA,CAAkBiF,WAAW,oBAA7BjF,aAAA,CAAkBiF,WAAW,CAAG,CAAC,CAAE;EAEtE,IAAMC,gBAAgB,GAAG,CAAC,EAACrE,OAAO,YAAPA,OAAO,CAAEsE,WAAW;EAE/C,IAAIC,QAAQ,GAAG9D,UAAU,IAAI,CAACT,OAAO,CAACwE,cAAc;EACpD,IAAI5D,gBAAgB,CAAC6D,MAAM,EAAE;IAC3B,IAAI7D,gBAAgB,CAAC,CAAC,CAAC,CAACmD,IAAI,KAAK,OAAO,IAAI,CAAClE,WAAW,EAAE;MACxD0E,QAAQ,GAAG,KAAK;IAClB,CAAC,MAAM;MACLA,QAAQ,GAAG,IAAI;IACjB;EACF;EAEA,IAAMG,oBAAoB,GAAG1E,OAAO,CAAC+D,IAAI,KAAK,SAAS;EAEvD,IAAIW,oBAAoB,EAAE;IACxB,OACE7H,MAAA,YAAA8H,aAAA,CAACzE,cAAc;MACb0E,aAAa,EAAEzB,WAAW,CAAC1D,UAAU,CAAE;MACvC0E,UAAU,EAAEA,UAAW;MACvBI,QAAQ,EAAEA,QAAS;MACnBd,QAAQ,EAAEA,QAAS;MAAAoB,MAAA,EAAApH,KAAA;MAAAqH,QAAA;QAAAC,QAAA,EAAArH,YAAA;QAAAsH,UAAA;QAAAC,YAAA;MAAA;IAAA,CACpB,CAAC;EAEN;EAEA,IAAIC,eAAe,GAAGxD,cAAc;EACpC,IAAIjB,UAAU,IAAI,CAACT,OAAO,CAACwE,cAAc,EAAE;IACzCU,eAAe,GAAGtD,WAAW;EAC/B,CAAC,MAAM,IAAIhB,gBAAgB,CAAC6D,MAAM,EAAE;IAClC,IAAI7D,gBAAgB,CAAC,CAAC,CAAC,CAACmD,IAAI,KAAK,OAAO,EAAE;MACxCmB,eAAe,GAAGlF,OAAO,CAACwE,cAAc,GAAG9C,cAAc,GAAGE,WAAW;IACzE,CAAC,MAAM;MACLsD,eAAe,GAAGzD,UAAU;IAC9B;EACF,CAAC,MAAM,IAAIpC,SAAS,KAAK,MAAM,IAAIyE,KAAK,EAAE;IACxCoB,eAAe,GAAGrD,KAAK;EACzB;EAEA,IAAMsD,iBAAiB,GAAGtF,WAAW,IAAI,CAACiE,KAAK,GAAGoB,eAAe,GAAGvD,YAAY;EAEhF,IAAMyD,aAAa,GAAGvF,WAAW,IAAI,CAACiE,KAAK;EAE3C,IAAMuB,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;IAE5B,IAAMC,aAAa,GAAG3F,WAAW,oBAAXA,WAAW,CAAG,CAAC,CAAC;IAEtC,IAAM4F,gBAAgB,GAAGD,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,QAAQ;IACjF,IAAIlD,sBAAsB,GAAGG,aAAa;IAC1C,IAAIF,uBAAuB,GAAGE,aAAa;IAE3C,IAAIgD,gBAAgB,KAAK,CAAClB,gBAAgB,IAAInD,UAAU,CAAC,EAAE;MAEzD,IAAI7B,SAAS,KAAK,MAAM,EAAE;QACxB+C,sBAAsB,GAAGI,aAAa;MACxC,CAAC,MAAM;QACLH,uBAAuB,GAAGG,aAAa;MACzC;IACF;IAEA,OAAO;MACLJ,sBAAsB,EAAtBA,sBAAsB;MACtBC,uBAAuB,EAAvBA;IACF,CAAC;EACH,CAAC;EAED,IAAMmD,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;IACrC,IAAMC,gBAAoD,GAAG;MAC3DrD,sBAAsB,EAAtBA,sBAAsB;MACtBC,uBAAuB,EAAvBA,uBAAuB;MACvBC,YAAY,EAAZA,YAAY;MACZvE,mBAAmB,EAAnBA,mBAAmB;MACnBC,oBAAoB,EAApBA;IACF,CAAC;IAGD,KAAK,IAAM0H,GAAG,IAAID,gBAAgB,EAAE;MAClC,IAAIA,gBAAgB,CAACC,GAAG,CAAC,KAAKC,SAAS,EAAE;QACvC,OAAOF,gBAAgB,CAACC,GAAG,CAAC;MAC9B;IACF;IAEA,OAAOD,gBAAgB;EACzB,CAAC;EAED,OACE5I,MAAA,YAAA8H,aAAA,CAAC3H,YAAA,CAAA4I,gBAAgB,MAAAC,SAAA;IACfC,aAAa,EAAE,GAAI;IACnBvG,QAAQ,EAAEA,QAAQ,IAAIsB,YAAa;IACnCL,WAAW,EAAE,SAAAA,YAACuF,KAAK,EAAK;MACtB,IAAIvF,YAAW,EAAE;QACfA,YAAW,CAAC;UACVwF,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFrF,OAAO,EAAE,SAAAA,QAACqF,KAAK,EAAK;MAClB,IAAIrF,QAAO,EAAE;QACXA,QAAO,CAAC;UACNsF,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFpF,SAAS,EAAE,SAAAA,UAACoF,KAAK,EAAK;MACpB,IAAIpF,UAAS,EAAE;QACbA,UAAS,CAAC;UACRqF,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFE,MAAM,EAAC;EAAiB,GACpB7G,wBAAwB;IAK5B8G,KAAK,EAAE,CACL7G,SAAS,KAAK,MAAM,GAAG1B,MAAM,CAACU,cAAc,GAAGV,MAAM,CAACqB,eAAe,EACrE;MAAEF,UAAU,EAAEc,YAAY,GAAGmD,YAAY,GAAG,CAAC,GAAGD,MAAM,GAAG;IAAE,CAAC,EAC5DgB,KAAK,GAAGpB,cAAc,GAAG,CAAC,CAAC,EAC3BP,SAAS,CACT;IAAA0C,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,IAED5E,aAAa,IACZxD,MAAA,YAAA8H,aAAA,CAACtE,aAAa;IACZhB,SAAS,EAAEA,SAAU;IACrBuF,aAAa,EAAEzB,WAAW,CAAC1D,UAAU,CAAE;IACvC0G,SAAS,EAAE,CAAC,CAACzB,oBAAqB;IAClC5E,gBAAgB,EAAEA,gBAAiB;IACnCC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBO,aAAa,EAAEA,aAAc;IAC7BK,gBAAgB,EAAEA,gBAAiB;IACnCI,iBAAiB,EAAEA,iBAAkB;IAAA6D,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,CACtC,CACF,EACDpI,MAAA,YAAA8H,aAAA,CAAC3H,YAAA,CAAAoJ,IAAI;IAAC3C,QAAQ,EAAEA,QAAS;IAACyC,KAAK,EAAEvD,OAAQ;IAAAkC,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,GACtCZ,gBAAgB,IAAI,CAACnD,UAAU,IAAI,CAACqD,QAAQ,IAC3C1H,MAAA,YAAA8H,aAAA,CAAC3H,YAAA,CAAAoJ,IAAI;IACHF,KAAK,EAAE,CACLvI,MAAM,CAACY,WAAW,EAClB;MACE8H,WAAW,EAAElB,iBAAiB;MAC9BmB,MAAM,EAAE/D,aAAa;MACrBgE,IAAI,EAAElH,SAAS,KAAK,MAAM,GAAG,CAAC,GAAGsG,SAAS;MAC1Ca,KAAK,EAAEnH,SAAS,KAAK,OAAO,GAAG,CAAC,GAAGsG;IACrC,CAAC,EACDpH,WAAW,CACX;IAAAsG,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CACF,EACDpI,MAAA,YAAA8H,aAAA,CAAC3H,YAAA,CAAAoJ,IAAI;IACHF,KAAK,EAAE,CACLvI,MAAM,CAACG,cAAc,MAAA+H,SAAA;MAEnBX,eAAe,EAAfA,eAAe;MACfmB,WAAW,EAAEjB,aAAa,GAAGF,eAAe,GAAGvD;IAAY,GACxD0D,eAAe,CAAC,CAAC,EACjBG,wBAAwB,CAAC,CAAC,GAE/BjB,QAAQ,GAAG;MAAEtG,WAAW,EAAE;IAAE,CAAC,GAAG,CAAC,CAAC,EAClCH,cAAc,CACd;IACFmI,MAAM,EAAC,yBAAyB;IAAApB,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE/BhF,mBAAmB,CAACwG,GAAG,CAAC,UAACC,kBAAkB,EAAEC,wBAAwB,EAAK;IACzE,QAAQD,kBAAkB;MACxB,KAAK,cAAc;QACjB,OACE1G,OAAO,CAACwE,cAAc,IACpB3H,MAAA,YAAA8H,aAAA,CAAC3H,YAAA,CAAAoJ,IAAI;UACHV,GAAG,oBAAkBiB,wBAA2B;UAChDT,KAAK,EAAE,CAACvI,MAAM,CAACgB,cAAc,EAAEA,cAAc,CAAE;UAAAkG,MAAA,EAAApH,KAAA;UAAAqH,QAAA;YAAAC,QAAA,EAAArH,YAAA;YAAAsH,UAAA;YAAAC,YAAA;UAAA;QAAA,GAE/CpI,MAAA,YAAA8H,aAAA,CAAC7D,KAAK;UAACnD,MAAM,EAAE;YAAEiJ,gBAAgB,EAAE;cAAEC,QAAQ,EAAE3D,EAAE,CAAC,EAAE;YAAE;UAAE,CAAE;UAAA2B,MAAA,EAAApH,KAAA;UAAAqH,QAAA;YAAAC,QAAA,EAAArH,YAAA;YAAAsH,UAAA;YAAAC,YAAA;UAAA;QAAA,CAAE,CACxD,CACP;MAEL,KAAK,aAAa;QAChB,OAAOrE,gBAAgB,CAAC6F,GAAG,CAAC,UAACK,UAAU,EAAEC,eAAe;UAAA,OACtDlK,MAAA,YAAA8H,aAAA,CAACrF,UAAU;YAACwH,UAAU,EAAEA,UAAW;YAACpB,GAAG,EAAK1F,OAAO,CAACgH,EAAE,SAAID,eAAkB;YAAAlC,MAAA,EAAApH,KAAA;YAAAqH,QAAA;cAAAC,QAAA,EAAArH,YAAA;cAAAsH,UAAA;cAAAC,YAAA;YAAA;UAAA,CAAE,CAAC;QAAA,CAChF,CAAC;MACJ,KAAK,OAAO;QACV,OACEpI,MAAA,YAAA8H,aAAA,CAACnF,mBAAmB;UAClBkG,GAAG,6BAA2BiB,wBAA2B;UACzDM,SAAS,EAAEjH,OAAO,CAACgH,EAAG;UAAAnC,MAAA,EAAApH,KAAA;UAAAqH,QAAA;YAAAC,QAAA,EAAArH,YAAA;YAAAsH,UAAA;YAAAC,YAAA;UAAA;QAAA,CACvB,CAAC;MAEN,KAAK,SAAS;QACZ,OAAOpI,MAAA,YAAA8H,aAAA,CAACjF,OAAO;UAACgG,GAAG,eAAaiB,wBAA2B;UAAA9B,MAAA,EAAApH,KAAA;UAAAqH,QAAA;YAAAC,QAAA,EAAArH,YAAA;YAAAsH,UAAA;YAAAC,YAAA;UAAA;QAAA,CAAE,CAAC;MAChE,KAAK,MAAM;MACX;QACE,OAAOrE,gBAAgB,CAAC6D,MAAM,IAAI7D,gBAAgB,CAAC,CAAC,CAAC,CAACsG,OAAO,GAAG,IAAI,GAClErK,MAAA,YAAA8H,aAAA,CAAC1H,qBAAA,CAAAkK,oBAAoB;UACnBzB,GAAG,8BAA4BiB,wBAA2B;UAAA9B,MAAA,EAAApH,KAAA;UAAAqH,QAAA;YAAAC,QAAA,EAAArH,YAAA;YAAAsH,UAAA;YAAAC,YAAA;UAAA;QAAA,CAC3D,CACF;IACL;EACF,CAAC,CACG,CAAC,EACNnB,KAAK,IAAIjH,MAAA,YAAA8H,aAAA,CAACxE,YAAY;IAAA0E,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACrB,CAAC,EACPpI,MAAA,YAAA8H,aAAA,CAACrE,cAAc;IAACiE,QAAQ,EAAEA,QAAS;IAACY,iBAAiB,EAAEA,iBAAkB;IAAAN,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAC5EpI,MAAA,YAAA8H,aAAA,CAACvE,aAAa;IAACwE,aAAa,EAAEzB,WAAW,CAAC1D,UAAU,CAAE;IAAC0G,SAAS,EAAE,CAAC,CAACzB,oBAAqB;IAAAG,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC3E,CAAC;AAEvB,CAAC;AAED,IAAMmC,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA6D,EAC7DC,SAA6D,EAC1D;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACH,IACeC,eAAe,GAY1BV,SAAS,CAZXW,WAAW;IACEC,eAAe,GAW1BZ,SAAS,CAXX1H,WAAW;IACGuI,gBAAgB,GAU5Bb,SAAS,CAVXzH,YAAY;IACZuI,iBAAiB,GASfd,SAAS,CATXc,iBAAiB;IACCC,oBAAoB,GAQpCf,SAAS,CARXvH,gBAAgB;IACPuI,WAAW,GAOlBhB,SAAS,CAPXtH,OAAO;IACEuI,WAAW,GAMlBjB,SAAS,CANXrH,OAAO;IACcuI,uBAAuB,GAK1ClB,SAAS,CALXpH,mBAAmB;IACPuI,cAAc,GAIxBnB,SAAS,CAJX5G,UAAU;IACQgI,oBAAoB,GAGpCpB,SAAS,CAHXzG,gBAAgB;IACb8H,KAAK,GAENrB,SAAS,CAFXsB,CAAC;IACgBC,mBAAmB,GAClCvB,SAAS,CADXpG,eAAe;EAEjB,IACe4H,eAAe,GAW1BvB,SAAS,CAXXU,WAAW;IACEc,eAAe,GAU1BxB,SAAS,CAVX3H,WAAW;IACGoJ,gBAAgB,GAS5BzB,SAAS,CATX1H,YAAY;IACMoJ,oBAAoB,GAQpC1B,SAAS,CARXxH,gBAAgB;IACPmJ,WAAW,GAOlB3B,SAAS,CAPXvH,OAAO;IACEmJ,WAAW,GAMlB5B,SAAS,CANXtH,OAAO;IACcmJ,uBAAuB,GAK1C7B,SAAS,CALXrH,mBAAmB;IACPmJ,cAAc,GAIxB9B,SAAS,CAJX7G,UAAU;IACQ4I,oBAAoB,GAGpC/B,SAAS,CAHX1G,gBAAgB;IACb0I,KAAK,GAENhC,SAAS,CAFXqB,CAAC;IACgBY,mBAAmB,GAClCjC,SAAS,CADXrG,eAAe;EAGjB,IAAMuI,iBAAiB,GAAGtB,gBAAgB,KAAKa,gBAAgB;EAC/D,IAAI,CAACS,iBAAiB,EAAE,OAAO,KAAK;EAEpC,IAAMC,qBAAqB,GAAGrB,oBAAoB,KAAKY,oBAAoB;EAC3E,IAAI,CAACS,qBAAqB,EAAE,OAAO,KAAK;EAExC,IAAMC,4BAA4B,GAChCR,WAAW,CAACS,iBAAiB,IAAI5B,eAAe,KAAKc,eAAe;EACtE,IAAIa,4BAA4B,EAAE,OAAO,KAAK;EAE9C,IAAME,eAAe,GAAGpB,cAAc,KAAKY,cAAc;EACzD,IAAI,CAACQ,eAAe,EAAE,OAAO,KAAK;EAElC,IAAMC,qBAAqB,GACzBpB,oBAAoB,CAAChE,MAAM,KAAK4E,oBAAoB,CAAC5E,MAAM,IAC3D,CAAAgE,oBAAoB,qBAAAlB,qBAAA,GAApBkB,oBAAoB,CAAG,CAAC,CAAC,sBAAAjB,sBAAA,GAAzBD,qBAAA,CAA2BL,OAAO,qBAAlCM,sBAAA,CAAoC/C,MAAM,OAAK4E,oBAAoB,qBAAA5B,qBAAA,GAApB4B,oBAAoB,CAAG,CAAC,CAAC,sBAAA3B,sBAAA,GAAzBD,qBAAA,CAA2BP,OAAO,qBAAlCQ,sBAAA,CAAoCjD,MAAM;EAC3F,IAAI,CAACoF,qBAAqB,EAAE,OAAO,KAAK;EAExC,IAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAAC3B,WAAW,CAAC,CAAC5D,MAAM,KAAKsF,MAAM,CAACC,IAAI,CAACf,WAAW,CAAC,CAACxE,MAAM;EACxF,IAAI,CAACqF,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAMG,gBAAgB,GACpBhC,eAAe,CAACxD,MAAM,KAAKqE,eAAe,CAACrE,MAAM,IACjD,CAAAwD,eAAe,oBAAfA,eAAe,CAAG,CAAC,CAAC,OAAKa,eAAe,oBAAfA,eAAe,CAAG,CAAC,CAAC;EAC/C,IAAI,CAACmB,gBAAgB,EAAE,OAAO,KAAK;EAEnC,IAAMC,wBAAwB,GAAG5B,WAAW,CAACvE,IAAI,KAAK,SAAS;EAC/D,IAAMoG,wBAAwB,GAAGjB,WAAW,CAACnF,IAAI,KAAK,SAAS;EAE/D,IAAMqG,YAAY,GAChBF,wBAAwB,KAAKC,wBAAwB,IACrD7B,WAAW,CAAChE,WAAW,KAAK4E,WAAW,CAAC5E,WAAW,IACnDgE,WAAW,CAACtE,MAAM,KAAKkF,WAAW,CAAClF,MAAM,IACzCsE,WAAW,CAACvE,IAAI,KAAKmF,WAAW,CAACnF,IAAI,IACrCuE,WAAW,CAAC+B,IAAI,KAAKnB,WAAW,CAACmB,IAAI,IACrC/B,WAAW,CAACgC,MAAM,KAAKpB,WAAW,CAACoB,MAAM;EAC3C,IAAI,CAACF,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAMG,8BAA8B,GAAG,EAAA5C,qBAAA,GAAAW,WAAW,CAAC9D,cAAc,qBAA1BmD,qBAAA,CAA4B5D,IAAI,MAAK,SAAS;EACrF,IAAMyG,8BAA8B,GAAG,EAAA5C,qBAAA,GAAAsB,WAAW,CAAC1E,cAAc,qBAA1BoD,qBAAA,CAA4B7D,IAAI,MAAK,SAAS;EAErF,IAAM0G,kBAAkB,GACtB,EAAA5C,sBAAA,GAAAS,WAAW,CAAC9D,cAAc,qBAA1BqD,sBAAA,CAA4Bb,EAAE,QAAAc,sBAAA,GAAKoB,WAAW,CAAC1E,cAAc,qBAA1BsD,sBAAA,CAA4Bd,EAAE,KACjEuD,8BAA8B,KAAKC,8BAA8B;EACnE,IAAI,CAACC,kBAAkB,EAAE,OAAO,KAAK;EAErC,IAAMC,sBAAsB,GAAGpC,WAAW,CAACqC,WAAW;EACtD,IAAMC,sBAAsB,GAAG1B,WAAW,CAACyB,WAAW;EACtD,IAAME,gBAAgB,GACpBC,KAAK,CAACC,OAAO,CAACL,sBAAsB,CAAC,IAAII,KAAK,CAACC,OAAO,CAACH,sBAAsB,CAAC,GAC1EF,sBAAsB,CAACjG,MAAM,KAAKmG,sBAAsB,CAACnG,MAAM,IAC/DiG,sBAAsB,CAACM,KAAK,CAAC,UAAClE,UAAU,EAAEmE,KAAK,EAAK;IAClD,IAAMC,mBAAmB,GACvBpE,UAAU,CAACqE,SAAS,KAAKP,sBAAsB,CAACK,KAAK,CAAC,CAACE,SAAS,IAChErE,UAAU,CAACsE,aAAa,KAAKR,sBAAsB,CAACK,KAAK,CAAC,CAACG,aAAa,IACxEtE,UAAU,CAACuE,SAAS,KAAKT,sBAAsB,CAACK,KAAK,CAAC,CAACI,SAAS;IAElE,IAAIlD,iBAAiB,EACnB,OACE+C,mBAAmB,IAAI,CAAC,CAAC/C,iBAAiB,CAACrB,UAAU,EAAE8D,sBAAsB,CAACK,KAAK,CAAC,CAAC;IAGzF,OAAOC,mBAAmB;EAC5B,CAAC,CAAC,GACFR,sBAAsB,KAAKE,sBAAsB;EACvD,IAAI,CAACC,gBAAgB,EAAE,OAAO,KAAK;EAEnC,IAAMS,oBAAoB,GACxBR,KAAK,CAACC,OAAO,CAACzC,WAAW,CAACiD,gBAAgB,CAAC,IAAIT,KAAK,CAACC,OAAO,CAAC7B,WAAW,CAACqC,gBAAgB,CAAC,GACtFjD,WAAW,CAACiD,gBAAgB,CAAC9G,MAAM,KAAKyE,WAAW,CAACqC,gBAAgB,CAAC9G,MAAM,IAC3E6D,WAAW,CAACiD,gBAAgB,CAACP,KAAK,CAChC,UAAAQ,KAAA,EAAWP,KAAK;IAAA,IAAAQ,qBAAA;IAAA,IAAb1H,IAAI,GAAAyH,KAAA,CAAJzH,IAAI;IAAA,OAAcA,IAAI,OAAA0H,qBAAA,GAAKvC,WAAW,CAACqC,gBAAgB,qBAA5BE,qBAAA,CAA+BR,KAAK,CAAC,CAAClH,IAAI;EAAA,CAC1E,CAAC,GACDuE,WAAW,CAACiD,gBAAgB,KAAKrC,WAAW,CAACqC,gBAAgB;EACnE,IAAI,CAACD,oBAAoB,EAAE,OAAO,KAAK;EAEvC,IAAMI,wBAAwB,GAC5BnD,uBAAuB,CAAC9D,MAAM,KAAK0E,uBAAuB,CAAC1E,MAAM,IACjE8D,uBAAuB,CAACyC,KAAK,CAC3B,UAACtE,kBAAkB,EAAEuE,KAAK;IAAA,OAAKvE,kBAAkB,KAAKyC,uBAAuB,CAAC8B,KAAK,CAAC;EAAA,CACtF,CAAC;EACH,IAAI,CAACS,wBAAwB,EAAE,OAAO,KAAK;EAE3C,IAAMC,MAAM,GAAGjD,KAAK,KAAKY,KAAK;EAC9B,IAAI,CAACqC,MAAM,EAAE,OAAO,KAAK;EAEzB,IAAMC,oBAAoB,GAAGhD,mBAAmB,KAAKW,mBAAmB;EACxE,IAAI,CAACqC,oBAAoB,EAAE,OAAO,KAAK;EAEvC,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,sBAAsB,GAAGC,iBAAK,CAACC,IAAI,CACvC9M,yBAAyB,EACzBmI,QACF,CAAqC;AAU9B,IAAM4E,cAAc,GAAG,SAAjBA,cAAcA,CAGzB9M,KAA8C,EAC3C;EACH,IAAA+M,kBAAA,GAoBI,IAAAC,iCAAiB,EAAqB,CAAC;IAnBzC7M,SAAS,GAAA4M,kBAAA,CAAT5M,SAAS;IACTE,QAAQ,GAAA0M,kBAAA,CAAR1M,QAAQ;IACRyI,WAAW,GAAAiE,kBAAA,CAAXjE,WAAW;IACXrI,WAAW,GAAAsM,kBAAA,CAAXtM,WAAW;IACXC,YAAY,GAAAqM,kBAAA,CAAZrM,YAAY;IACZC,WAAW,GAAAoM,kBAAA,CAAXpM,WAAW;IACXC,gBAAgB,GAAAmM,kBAAA,CAAhBnM,gBAAgB;IAChBqM,cAAc,GAAAF,kBAAA,CAAdE,cAAc;IACdpM,OAAO,GAAAkM,kBAAA,CAAPlM,OAAO;IACPC,OAAO,GAAAiM,kBAAA,CAAPjM,OAAO;IACPC,mBAAmB,GAAAgM,kBAAA,CAAnBhM,mBAAmB;IACnBO,WAAW,GAAAyL,kBAAA,CAAXzL,WAAW;IACXC,UAAU,GAAAwL,kBAAA,CAAVxL,UAAU;IACVC,OAAO,GAAAuL,kBAAA,CAAPvL,OAAO;IACPC,SAAS,GAAAsL,kBAAA,CAATtL,SAAS;IACTC,gBAAgB,GAAAqL,kBAAA,CAAhBrL,gBAAgB;IAChBC,YAAY,GAAAoL,kBAAA,CAAZpL,YAAY;IACZG,iBAAiB,GAAAiL,kBAAA,CAAjBjL,iBAAiB;IACjBE,UAAU,GAAA+K,kBAAA,CAAV/K,UAAU;EAEZ,IAAAkL,mBAAA,GAcI,IAAAC,mCAAkB,EAAqB,CAAC;IAb1CjN,wBAAwB,GAAAgN,mBAAA,CAAxBhN,wBAAwB;IACxBE,UAAU,GAAA8M,mBAAA,CAAV9M,UAAU;IACVE,mBAAmB,GAAA4M,mBAAA,CAAnB5M,mBAAmB;IACnBC,UAAU,GAAA2M,mBAAA,CAAV3M,UAAU;IACVC,OAAO,GAAA0M,mBAAA,CAAP1M,OAAO;IACPyI,iBAAiB,GAAAiE,mBAAA,CAAjBjE,iBAAiB;IACjBjI,cAAc,GAAAkM,mBAAA,CAAdlM,cAAc;IACdC,YAAY,GAAAiM,mBAAA,CAAZjM,YAAY;IACZC,aAAa,GAAAgM,mBAAA,CAAbhM,aAAa;IACbC,aAAa,GAAA+L,mBAAA,CAAb/L,aAAa;IACbC,cAAc,GAAA8L,mBAAA,CAAd9L,cAAc;IACdC,aAAa,GAAA6L,mBAAA,CAAb7L,aAAa;IACbO,KAAK,GAAAsL,mBAAA,CAALtL,KAAK;EAEP,IAAAwL,qBAAA,GAA+B,IAAAC,yCAAqB,EAAC,CAAC;IAA9C5D,CAAC,GAAA2D,qBAAA,CAAD3D,CAAC;IAAE1H,eAAe,GAAAqL,qBAAA,CAAfrL,eAAe;EAE1B,OACEpE,MAAA,YAAA8H,aAAA,CAACkH,sBAAsB,MAAAhG,SAAA;IAEnBzG,wBAAwB,EAAxBA,wBAAwB;IACxBC,SAAS,EAATA,SAAS;IACTC,UAAU,EAAVA,UAAU;IACVC,QAAQ,EAARA,QAAQ;IACRC,mBAAmB,EAAnBA,mBAAmB;IACnBC,UAAU,EAAVA,UAAU;IACVC,OAAO,EAAPA,OAAO;IACPsI,WAAW,EAAXA,WAAW;IACXrI,WAAW,EAAXA,WAAW;IACXC,YAAY,EAAZA,YAAY;IACZuI,iBAAiB,EAAjBA,iBAAiB;IACjBtI,WAAW,EAAXA,WAAW;IACXC,gBAAgB,EAAhBA,gBAAgB;IAChBqM,cAAc,EAAdA,cAAc;IACdpM,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAPA,OAAO;IACPC,mBAAmB,EAAnBA,mBAAmB;IACnBC,cAAc,EAAdA,cAAc;IACdC,YAAY,EAAZA,YAAY;IACZC,aAAa,EAAbA,aAAa;IACbC,aAAa,EAAbA,aAAa;IACbC,cAAc,EAAdA,cAAc;IACdC,aAAa,EAAbA,aAAa;IACbC,WAAW,EAAXA,WAAW;IACXC,UAAU,EAAVA,UAAU;IACVC,OAAO,EAAPA,OAAO;IACPC,SAAS,EAATA,SAAS;IACTC,gBAAgB,EAAhBA,gBAAgB;IAChBC,YAAY,EAAZA,YAAY;IACZC,KAAK,EAALA,KAAK;IACLE,iBAAiB,EAAjBA,iBAAiB;IACjB2H,CAAC,EAADA,CAAC;IACD1H,eAAe,EAAfA,eAAe;IACfC,UAAU,EAAVA;EAAU,GAERhC,KAAK;IAAA2F,MAAA,EAAApH,KAAA;IAAAqH,QAAA;MAAAC,QAAA,EAAArH,YAAA;MAAAsH,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACuH,OAAA,CAAAR,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACS,WAAW,GAAG,wCAAwC"}
|
|
@@ -9,7 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
10
10
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
11
11
|
var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
|
|
12
|
-
var
|
|
12
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
13
13
|
var _this = this,
|
|
14
14
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageList/InlineUnreadIndicator.tsx";
|
|
15
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -37,12 +37,14 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
37
37
|
text = _useTheme$theme$messa.text;
|
|
38
38
|
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
|
|
39
39
|
t = _useTranslationContex.t;
|
|
40
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
41
|
+
vw = _useViewport.vw;
|
|
40
42
|
return _react["default"].createElement(_reactNative.View, {
|
|
41
43
|
style: [styles.container, container],
|
|
42
44
|
__self: _this,
|
|
43
45
|
__source: {
|
|
44
46
|
fileName: _jsxFileName,
|
|
45
|
-
lineNumber:
|
|
47
|
+
lineNumber: 34,
|
|
46
48
|
columnNumber: 5
|
|
47
49
|
}
|
|
48
50
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
@@ -50,30 +52,30 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
50
52
|
style: {
|
|
51
53
|
position: 'absolute'
|
|
52
54
|
},
|
|
53
|
-
width:
|
|
55
|
+
width: vw(100),
|
|
54
56
|
__self: _this,
|
|
55
57
|
__source: {
|
|
56
58
|
fileName: _jsxFileName,
|
|
57
|
-
lineNumber:
|
|
59
|
+
lineNumber: 35,
|
|
58
60
|
columnNumber: 7
|
|
59
61
|
}
|
|
60
62
|
}, _react["default"].createElement(_reactNativeSvg.Rect, {
|
|
61
63
|
fill: "url(#gradient)",
|
|
62
64
|
height: 24,
|
|
63
|
-
width:
|
|
65
|
+
width: vw(100),
|
|
64
66
|
x: 0,
|
|
65
67
|
y: 0,
|
|
66
68
|
__self: _this,
|
|
67
69
|
__source: {
|
|
68
70
|
fileName: _jsxFileName,
|
|
69
|
-
lineNumber:
|
|
71
|
+
lineNumber: 36,
|
|
70
72
|
columnNumber: 9
|
|
71
73
|
}
|
|
72
74
|
}), _react["default"].createElement(_reactNativeSvg.Defs, {
|
|
73
75
|
__self: _this,
|
|
74
76
|
__source: {
|
|
75
77
|
fileName: _jsxFileName,
|
|
76
|
-
lineNumber:
|
|
78
|
+
lineNumber: 37,
|
|
77
79
|
columnNumber: 9
|
|
78
80
|
}
|
|
79
81
|
}, _react["default"].createElement(_reactNativeSvg.LinearGradient, {
|
|
@@ -86,7 +88,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
86
88
|
__self: _this,
|
|
87
89
|
__source: {
|
|
88
90
|
fileName: _jsxFileName,
|
|
89
|
-
lineNumber:
|
|
91
|
+
lineNumber: 38,
|
|
90
92
|
columnNumber: 11
|
|
91
93
|
}
|
|
92
94
|
}, _react["default"].createElement(_reactNativeSvg.Stop, {
|
|
@@ -96,7 +98,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
96
98
|
__self: _this,
|
|
97
99
|
__source: {
|
|
98
100
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
101
|
+
lineNumber: 39,
|
|
100
102
|
columnNumber: 13
|
|
101
103
|
}
|
|
102
104
|
}), _react["default"].createElement(_reactNativeSvg.Stop, {
|
|
@@ -106,7 +108,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
106
108
|
__self: _this,
|
|
107
109
|
__source: {
|
|
108
110
|
fileName: _jsxFileName,
|
|
109
|
-
lineNumber:
|
|
111
|
+
lineNumber: 40,
|
|
110
112
|
columnNumber: 13
|
|
111
113
|
}
|
|
112
114
|
})))), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -116,7 +118,7 @@ var InlineUnreadIndicator = function InlineUnreadIndicator() {
|
|
|
116
118
|
__self: _this,
|
|
117
119
|
__source: {
|
|
118
120
|
fileName: _jsxFileName,
|
|
119
|
-
lineNumber:
|
|
121
|
+
lineNumber: 44,
|
|
120
122
|
columnNumber: 7
|
|
121
123
|
}
|
|
122
124
|
}, t('Unread Messages')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_ThemeContext","_TranslationContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_ThemeContext","_TranslationContext","_useViewport2","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","justifyContent","padding","width","text","fontSize","InlineUnreadIndicator","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_end","bg_gradient_start","grey","_useTheme$theme$messa","messageList","inlineUnreadIndicator","_useTranslationContex","useTranslationContext","t","_useViewport","useViewport","vw","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","height","position","Rect","fill","x","y","Defs","LinearGradient","gradientUnits","id","x1","x2","y1","y2","Stop","offset","stopColor","stopOpacity","Text","color","exports"],"sources":["InlineUnreadIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport Svg, { Defs, LinearGradient, Rect, Stop } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { useViewport } from '../../hooks/useViewport';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n padding: 10,\n width: '100%',\n },\n text: {\n fontSize: 12,\n },\n});\n\nexport const InlineUnreadIndicator: React.FC = () => {\n const {\n theme: {\n colors: { bg_gradient_end, bg_gradient_start, grey },\n messageList: {\n inlineUnreadIndicator: { container, text },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n const { vw } = useViewport();\n\n return (\n <View style={[styles.container, container]}>\n <Svg height={24} style={{ position: 'absolute' }} width={vw(100)}>\n <Rect fill='url(#gradient)' height={24} width={vw(100)} x={0} y={0} />\n <Defs>\n <LinearGradient gradientUnits='userSpaceOnUse' id='gradient' x1={0} x2={0} y1={24} y2={0}>\n <Stop offset={1} stopColor={bg_gradient_end} stopOpacity={1} />\n <Stop offset={0} stopColor={bg_gradient_start} stopOpacity={1} />\n </LinearGradient>\n </Defs>\n </Svg>\n <Text style={[styles.text, { color: grey }, text]}>{t('Unread Messages')}</Text>\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
|
|
|
11
11
|
var _MessageActionListItem = require("./MessageActionListItem");
|
|
12
12
|
var _MessageOverlayContext = require("../../contexts/messageOverlayContext/MessageOverlayContext");
|
|
13
13
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
14
|
-
var
|
|
14
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
15
15
|
var _this = this,
|
|
16
16
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionList.tsx";
|
|
17
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -34,6 +34,8 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
34
34
|
message: message,
|
|
35
35
|
messageReactions: messageReactions
|
|
36
36
|
};
|
|
37
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
38
|
+
vw = _useViewport.vw;
|
|
37
39
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
38
40
|
white_snow = _useTheme.theme.colors.white_snow;
|
|
39
41
|
var height = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
@@ -56,13 +58,14 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
56
58
|
height.value = layout.height;
|
|
57
59
|
},
|
|
58
60
|
style: [styles.container, {
|
|
59
|
-
backgroundColor: white_snow
|
|
61
|
+
backgroundColor: white_snow,
|
|
62
|
+
minWidth: vw(65)
|
|
60
63
|
}, showScreenStyle],
|
|
61
64
|
testID: "message-action-list",
|
|
62
65
|
__self: _this,
|
|
63
66
|
__source: {
|
|
64
67
|
fileName: _jsxFileName,
|
|
65
|
-
lineNumber:
|
|
68
|
+
lineNumber: 88,
|
|
66
69
|
columnNumber: 5
|
|
67
70
|
}
|
|
68
71
|
}, messageActions == null ? void 0 : messageActions.map(function (messageAction, index) {
|
|
@@ -75,7 +78,7 @@ var MessageActionListWithContext = function MessageActionListWithContext(props)
|
|
|
75
78
|
__self: _this,
|
|
76
79
|
__source: {
|
|
77
80
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
81
|
+
lineNumber: 97,
|
|
79
82
|
columnNumber: 9
|
|
80
83
|
}
|
|
81
84
|
}));
|
|
@@ -106,7 +109,7 @@ var MessageActionList = function MessageActionList(props) {
|
|
|
106
109
|
__self: _this,
|
|
107
110
|
__source: {
|
|
108
111
|
fileName: _jsxFileName,
|
|
109
|
-
lineNumber:
|
|
112
|
+
lineNumber: 148,
|
|
110
113
|
columnNumber: 10
|
|
111
114
|
}
|
|
112
115
|
}));
|
|
@@ -119,17 +122,8 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
119
122
|
container: {
|
|
120
123
|
borderRadius: 16,
|
|
121
124
|
marginTop: 8,
|
|
122
|
-
minWidth: (0, _utils.vw)(65),
|
|
123
125
|
overflow: 'hidden'
|
|
124
126
|
},
|
|
125
|
-
row: {
|
|
126
|
-
alignItems: 'center',
|
|
127
|
-
flexDirection: 'row',
|
|
128
|
-
justifyContent: 'flex-start',
|
|
129
|
-
minWidth: (0, _utils.vw)(65),
|
|
130
|
-
paddingHorizontal: 20,
|
|
131
|
-
paddingVertical: 10
|
|
132
|
-
},
|
|
133
127
|
titleStyle: {
|
|
134
128
|
paddingLeft: 20
|
|
135
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","minWidth","vw","overflow","row","alignItems","flexDirection","justifyContent","paddingHorizontal","paddingVertical","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n minWidth: vw(65),\n overflow: 'hidden',\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n minWidth: vw(65),\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_MessageActionListItem","_MessageOverlayContext","_ThemeContext","_useViewport2","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageActionListWithContext","props","alignment","messageActions","showScreen","_props$MessageActionL","MessageActionListItem","DefaultMessageActionListItem","isMyMessage","message","messageReactions","error","isThreadMessage","messageActionProps","_useViewport","useViewport","vw","_useTheme","useTheme","white_snow","theme","colors","height","useSharedValue","width","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","createElement","View","onLayout","_ref","layout","nativeEvent","style","styles","container","backgroundColor","minWidth","testID","__self","__source","fileName","lineNumber","columnNumber","map","messageAction","index","_extends2","title","length","areEqual","prevProps","nextProps","prevAlignment","prevMessageActions","nextAlignment","nextMessageActions","messageActionsEqual","alignmentEqual","MemoizedMessageActionList","React","memo","MessageActionList","_useMessageOverlayCon","useMessageOverlayContext","data","_ref2","exports","StyleSheet","create","bottomBorder","borderBottomWidth","borderRadius","marginTop","overflow","titleStyle","paddingLeft"],"sources":["MessageActionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\n\nimport { MessageActionListItem as DefaultMessageActionListItem } from './MessageActionListItem';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type { OverlayProviderProps } from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type MessageActionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'MessageActionListItem'\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n> &\n Pick<MessageOverlayData<StreamChatGenerics>, 'alignment' | 'messageActions'> & {\n showScreen: Animated.SharedValue<number>;\n };\n\nconst MessageActionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n messageActions,\n showScreen,\n MessageActionListItem = DefaultMessageActionListItem,\n isMyMessage,\n message,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n const { vw } = useViewport();\n\n const {\n theme: {\n colors: { white_snow },\n },\n } = useTheme();\n\n const height = useSharedValue(0);\n const width = useSharedValue(0);\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-height.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -width.value / 2 : width.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n width.value = layout.width;\n height.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white_snow, minWidth: vw(65) }, showScreenStyle]}\n testID='message-action-list'\n >\n {messageActions?.map((messageAction, index) => (\n <MessageActionListItem\n key={messageAction.title}\n {...messageActionProps}\n {...{ ...messageAction, index, length: messageActions.length }}\n />\n ))}\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n nextProps: MessageActionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, messageActions: prevMessageActions } = prevProps;\n const { alignment: nextAlignment, messageActions: nextMessageActions } = nextProps;\n\n const messageActionsEqual = prevMessageActions?.length === nextMessageActions?.length;\n if (!messageActionsEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageActionList = React.memo(\n MessageActionListWithContext,\n areEqual,\n) as typeof MessageActionListWithContext;\n\nexport type MessageActionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageActionListPropsWithContext<StreamChatGenerics>, 'showScreen'>> &\n Pick<\n MessageActionListPropsWithContext<StreamChatGenerics>,\n 'showScreen' | 'message' | 'isMyMessage' | 'error' | 'isThreadMessage' | 'messageReactions'\n >;\n\n/**\n * MessageActionList - A high level component which implements all the logic required for MessageActions\n */\nexport const MessageActionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n\n const { alignment, messageActions } = data || {};\n\n return <MemoizedMessageActionList {...{ alignment, messageActions }} {...props} />;\n};\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n overflow: 'hidden',\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
|
10
10
|
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
11
11
|
var _useMessageActionAnimation = require("./hooks/useMessageActionAnimation");
|
|
12
12
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
13
|
-
var
|
|
13
|
+
var _useViewport2 = require("../../hooks/useViewport");
|
|
14
14
|
var _this = this,
|
|
15
15
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/MessageActionListItem.tsx";
|
|
16
16
|
var MessageActionListItemWithContext = function MessageActionListItemWithContext(props) {
|
|
@@ -21,6 +21,8 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
21
21
|
length = props.length,
|
|
22
22
|
title = props.title,
|
|
23
23
|
titleStyle = props.titleStyle;
|
|
24
|
+
var _useViewport = (0, _useViewport2.useViewport)(),
|
|
25
|
+
vw = _useViewport.vw;
|
|
24
26
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
25
27
|
_useTheme$theme = _useTheme.theme,
|
|
26
28
|
_useTheme$theme$color = _useTheme$theme.colors,
|
|
@@ -37,18 +39,20 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
37
39
|
__self: _this,
|
|
38
40
|
__source: {
|
|
39
41
|
fileName: _jsxFileName,
|
|
40
|
-
lineNumber:
|
|
42
|
+
lineNumber: 65,
|
|
41
43
|
columnNumber: 5
|
|
42
44
|
}
|
|
43
45
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
44
|
-
style: [styles.row,
|
|
46
|
+
style: [styles.row, {
|
|
47
|
+
minWidth: vw(65)
|
|
48
|
+
}, index !== length - 1 ? (0, _extends2["default"])({}, styles.bottomBorder, {
|
|
45
49
|
borderBottomColor: border
|
|
46
50
|
}) : {}, animatedStyle, messageActions.actionContainer],
|
|
47
51
|
testID: actionType + "-list-item",
|
|
48
52
|
__self: _this,
|
|
49
53
|
__source: {
|
|
50
54
|
fileName: _jsxFileName,
|
|
51
|
-
lineNumber:
|
|
55
|
+
lineNumber: 66,
|
|
52
56
|
columnNumber: 7
|
|
53
57
|
}
|
|
54
58
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -56,7 +60,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
56
60
|
__self: _this,
|
|
57
61
|
__source: {
|
|
58
62
|
fileName: _jsxFileName,
|
|
59
|
-
lineNumber:
|
|
63
|
+
lineNumber: 78,
|
|
60
64
|
columnNumber: 9
|
|
61
65
|
}
|
|
62
66
|
}, icon), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -66,7 +70,7 @@ var MessageActionListItemWithContext = function MessageActionListItemWithContext
|
|
|
66
70
|
__self: _this,
|
|
67
71
|
__source: {
|
|
68
72
|
fileName: _jsxFileName,
|
|
69
|
-
lineNumber:
|
|
73
|
+
lineNumber: 79,
|
|
70
74
|
columnNumber: 9
|
|
71
75
|
}
|
|
72
76
|
}, title)));
|
|
@@ -81,7 +85,7 @@ var MessageActionListItem = function MessageActionListItem(props) {
|
|
|
81
85
|
__self: _this,
|
|
82
86
|
__source: {
|
|
83
87
|
fileName: _jsxFileName,
|
|
84
|
-
lineNumber:
|
|
88
|
+
lineNumber: 106,
|
|
85
89
|
columnNumber: 6
|
|
86
90
|
}
|
|
87
91
|
}));
|
|
@@ -100,7 +104,6 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
100
104
|
alignItems: 'center',
|
|
101
105
|
flexDirection: 'row',
|
|
102
106
|
justifyContent: 'flex-start',
|
|
103
|
-
minWidth: (0, _utils.vw)(65),
|
|
104
107
|
paddingHorizontal: 20,
|
|
105
108
|
paddingVertical: 10
|
|
106
109
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useMessageActionAnimation","_ThemeContext","_useViewport2","_this","_jsxFileName","MessageActionListItemWithContext","props","action","actionType","icon","index","length","title","titleStyle","_useViewport","useViewport","vw","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","border","messageActions","overlay","_useMessageActionAnim","useMessageActionAnimation","animatedStyle","onTap","createElement","TapGestureHandler","onHandlerStateChange","__self","__source","fileName","lineNumber","columnNumber","View","style","styles","row","minWidth","_extends2","bottomBorder","borderBottomColor","actionContainer","testID","Text","color","messageActionIsEqual","prevProps","nextProps","MemoizedMessageActionListItem","React","memo","exports","MessageActionListItem","StyleSheet","create","borderBottomWidth","container","borderRadius","marginTop","maxWidth","alignItems","flexDirection","justifyContent","paddingHorizontal","paddingVertical","paddingLeft"],"sources":["MessageActionListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native';\nimport { TapGestureHandler } from 'react-native-gesture-handler';\nimport Animated from 'react-native-reanimated';\n\nimport { useMessageActionAnimation } from './hooks/useMessageActionAnimation';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { MessageOverlayPropsWithContext } from '../MessageOverlay/MessageOverlay';\n\nexport type ActionType =\n | 'blockUser'\n | 'copyMessage'\n | 'deleteMessage'\n | 'editMessage'\n | 'flagMessage'\n | 'muteUser'\n | 'pinMessage'\n | 'selectReaction'\n | 'reply'\n | 'retry'\n | 'quotedReply'\n | 'threadReply'\n | 'unpinMessage';\n\nexport type MessageActionType = {\n action: () => void;\n actionType: ActionType;\n title: string;\n icon?: React.ReactElement;\n titleStyle?: StyleProp<TextStyle>;\n};\n\nexport type MessageActionListItemProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = MessageActionType &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'error' | 'isMyMessage' | 'isThreadMessage' | 'message' | 'messageReactions'\n > & {\n index: number;\n length: number;\n };\n\nconst MessageActionListItemWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => {\n const { action, actionType, icon, index, length, title, titleStyle } = props;\n const { vw } = useViewport();\n\n const {\n theme: {\n colors: { black, border },\n overlay: { messageActions },\n },\n } = useTheme();\n\n const { animatedStyle, onTap } = useMessageActionAnimation({ action });\n\n return (\n <TapGestureHandler onHandlerStateChange={onTap}>\n <Animated.View\n style={[\n styles.row,\n {\n minWidth: vw(65),\n },\n index !== length - 1 ? { ...styles.bottomBorder, borderBottomColor: border } : {},\n animatedStyle,\n messageActions.actionContainer,\n ]}\n testID={`${actionType}-list-item`}\n >\n <View style={messageActions.icon}>{icon}</View>\n <Text style={[styles.titleStyle, messageActions.title, { color: black }, titleStyle]}>\n {title}\n </Text>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nconst messageActionIsEqual = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n prevProps: MessageActionListItemProps<StreamChatGenerics>,\n nextProps: MessageActionListItemProps<StreamChatGenerics>,\n) => prevProps.length === nextProps.length;\n\nexport const MemoizedMessageActionListItem = React.memo(\n MessageActionListItemWithContext,\n messageActionIsEqual,\n) as typeof MessageActionListItemWithContext;\n\n/**\n * MessageActionListItem - A high-level component that implements all the logic required for a `MessageAction` in a `MessageActionList`\n */\nexport const MessageActionListItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageActionListItemProps<StreamChatGenerics>,\n) => <MemoizedMessageActionListItem {...props} />;\n\nconst styles = StyleSheet.create({\n bottomBorder: {\n borderBottomWidth: 1,\n },\n container: {\n borderRadius: 16,\n marginTop: 8,\n maxWidth: 275,\n },\n row: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n titleStyle: {\n paddingLeft: 20,\n },\n});\n"],"mappings":"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"}
|