stream-chat-react-native-core 5.18.0 → 5.18.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +31 -15
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +237 -214
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +10 -8
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +31 -15
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +237 -214
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +10 -8
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/utils/renderText.tsx +21 -5
- package/src/components/MessageOverlay/MessageOverlay.tsx +213 -192
- package/src/components/MessageOverlay/OverlayReactionList.tsx +3 -0
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_utils","_MessageTextContainer","_OverlayReactions","_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","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","vh","halfScreenHeight","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","_message$own_reaction","_messagesContext$mess","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","JSON","stringify","_useState2","_slicedToArray2","myMessageThemeString","setMyMessageThemeString","useEffect","modifiedTheme","useMemo","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","createElement","ChatProvider","__self","__source","fileName","lineNumber","columnNumber","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","View","pointerEvents","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","vw","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vh, vw } from '../../utils/utils';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\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 { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={\n message?.own_reactions?.map((reaction) => reaction.type) || []\n }\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' ||\n groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' ||\n groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) ||\n otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length &&\n otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment:\n clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) 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 return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_utils","_MessageTextContainer","_OverlayReactions","_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","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","vh","halfScreenHeight","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","JSON","stringify","_useState2","_slicedToArray2","myMessageThemeString","setMyMessageThemeString","_useState3","_useState4","reactionListHeight","setReactionListHeight","useEffect","modifiedTheme","useMemo","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","renderContent","_message$own_reaction","_messagesContext$mess","createElement","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","__self","__source","fileName","lineNumber","columnNumber","View","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","pointerEvents","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","vw","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","isScrollEnabled","ChatProvider","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","ScrollView","alwaysBounceVertical","contentContainerStyle","showsVerticalScrollIndicator","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vh, vw } from '../../utils/utils';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\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 { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n const renderContent = (messageTextNumberOfLines?: number) => (\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={message?.own_reactions?.map((reaction) => reaction.type) || []}\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment: clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n );\n\n // Scroll will only be enabled for message overlay when we show actions.\n // When we show the reactions, we don't want to enable scroll since OverlayReactions component\n // in itself is scrollable (FlatList). FlatList inside a ScrollView is not a good idea and results in error from RN.\n const isScrollEnabled = !!messageActions && overlay === 'message';\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n {isScrollEnabled ? (\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n {renderContent()}\n </ScrollView>\n ) : (\n renderContent(messageTextNumberOfLines)\n )}\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) 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 return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -192,6 +192,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
192
192
|
handleReaction = props.handleReaction,
|
|
193
193
|
messageLayout = props.messageLayout,
|
|
194
194
|
ownReactionTypes = props.ownReactionTypes,
|
|
195
|
+
setReactionListHeight = props.setReactionListHeight,
|
|
195
196
|
showScreen = props.showScreen,
|
|
196
197
|
setOverlay = props.setOverlay,
|
|
197
198
|
_props$supportedReact = props.supportedReactions,
|
|
@@ -255,7 +256,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
255
256
|
__self: _this,
|
|
256
257
|
__source: {
|
|
257
258
|
fileName: _jsxFileName,
|
|
258
|
-
lineNumber:
|
|
259
|
+
lineNumber: 340,
|
|
259
260
|
columnNumber: 5
|
|
260
261
|
}
|
|
261
262
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -267,14 +268,14 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
267
268
|
__self: _this,
|
|
268
269
|
__source: {
|
|
269
270
|
fileName: _jsxFileName,
|
|
270
|
-
lineNumber:
|
|
271
|
+
lineNumber: 341,
|
|
271
272
|
columnNumber: 7
|
|
272
273
|
}
|
|
273
274
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
274
275
|
__self: _this,
|
|
275
276
|
__source: {
|
|
276
277
|
fileName: _jsxFileName,
|
|
277
|
-
lineNumber:
|
|
278
|
+
lineNumber: 347,
|
|
278
279
|
columnNumber: 9
|
|
279
280
|
}
|
|
280
281
|
}, _react["default"].createElement(AnimatedCircle, {
|
|
@@ -283,7 +284,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
283
284
|
__self: _this,
|
|
284
285
|
__source: {
|
|
285
286
|
fileName: _jsxFileName,
|
|
286
|
-
lineNumber:
|
|
287
|
+
lineNumber: 348,
|
|
287
288
|
columnNumber: 11
|
|
288
289
|
}
|
|
289
290
|
}), _react["default"].createElement(AnimatedCircle, {
|
|
@@ -292,7 +293,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
292
293
|
__self: _this,
|
|
293
294
|
__source: {
|
|
294
295
|
fileName: _jsxFileName,
|
|
295
|
-
lineNumber:
|
|
296
|
+
lineNumber: 349,
|
|
296
297
|
columnNumber: 11
|
|
297
298
|
}
|
|
298
299
|
})), _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -305,6 +306,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
305
306
|
width: layoutWidth
|
|
306
307
|
};
|
|
307
308
|
reactionListHeight.value = height;
|
|
309
|
+
setReactionListHeight(height);
|
|
308
310
|
},
|
|
309
311
|
style: [styles.reactionList, {
|
|
310
312
|
backgroundColor: white_snow
|
|
@@ -312,7 +314,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
312
314
|
__self: _this,
|
|
313
315
|
__source: {
|
|
314
316
|
fileName: _jsxFileName,
|
|
315
|
-
lineNumber:
|
|
317
|
+
lineNumber: 351,
|
|
316
318
|
columnNumber: 9
|
|
317
319
|
}
|
|
318
320
|
}, supportedReactions == null ? void 0 : supportedReactions.map(function (_ref3, index) {
|
|
@@ -331,7 +333,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
331
333
|
__self: _this,
|
|
332
334
|
__source: {
|
|
333
335
|
fileName: _jsxFileName,
|
|
334
|
-
lineNumber:
|
|
336
|
+
lineNumber: 369,
|
|
335
337
|
columnNumber: 13
|
|
336
338
|
}
|
|
337
339
|
});
|
|
@@ -363,7 +365,7 @@ var OverlayReactionList = function OverlayReactionList(props) {
|
|
|
363
365
|
__self: _this,
|
|
364
366
|
__source: {
|
|
365
367
|
fileName: _jsxFileName,
|
|
366
|
-
lineNumber:
|
|
368
|
+
lineNumber: 434,
|
|
367
369
|
columnNumber: 5
|
|
368
370
|
}
|
|
369
371
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSvg","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_icons","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","_useTheme$theme$overl","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","useSharedValue","hasShown","scale","selectedOpacity","onTap","useAnimatedGestureHandler","onEnd","runOnJS","triggerHaptic","value","withTiming","duration","onFinish","cancelAnimation","onStart","useAnimatedReaction","result","withSequence","withDelay","iconStyle","useAnimatedStyle","transform","selectedStyle","opacity","createElement","TapGestureHandler","hitSlop","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","maxDurationMs","onHandlerStateChange","__self","__source","fileName","lineNumber","columnNumber","View","style","height","pathFill","width","exports","OverlayReactionListWithContext","alignment","fill","messageLayout","_props$supportedReact","supportedReactions","_useTheme2","_useTheme2$theme","white_snow","_useTheme2$theme$over","screenPadding","padding","_useTheme2$theme$over2","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","_useWindowDimensions","useWindowDimensions","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","useAnimatedProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","interpolate","translateX","length","absoluteFill","testID","onLayout","_ref","layout","nativeEvent","animatedProps","_ref2","_ref2$nativeEvent$lay","layoutWidth","backgroundColor","map","_ref3","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","_useMessageOverlayCon","useMessageOverlayContext","data","_useMessagesContext","useMessagesContext","_useOverlayContext","useOverlayContext","_extends2","displayName"],"sources":["OverlayReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionButtonProps<StreamChatGenerics>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayData<StreamChatGenerics>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill} testID='overlay-reaction-list'>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} fill={fill || white_snow} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} fill={fill || white_snow} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<StreamChatGenerics>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n const { supportedReactions } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSvg","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_icons","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","_useTheme$theme$overl","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","useSharedValue","hasShown","scale","selectedOpacity","onTap","useAnimatedGestureHandler","onEnd","runOnJS","triggerHaptic","value","withTiming","duration","onFinish","cancelAnimation","onStart","useAnimatedReaction","result","withSequence","withDelay","iconStyle","useAnimatedStyle","transform","selectedStyle","opacity","createElement","TapGestureHandler","hitSlop","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","maxDurationMs","onHandlerStateChange","__self","__source","fileName","lineNumber","columnNumber","View","style","height","pathFill","width","exports","OverlayReactionListWithContext","alignment","fill","messageLayout","setReactionListHeight","_props$supportedReact","supportedReactions","_useTheme2","_useTheme2$theme","white_snow","_useTheme2$theme$over","screenPadding","padding","_useTheme2$theme$over2","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","_useWindowDimensions","useWindowDimensions","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","useAnimatedProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","interpolate","translateX","length","absoluteFill","testID","onLayout","_ref","layout","nativeEvent","animatedProps","_ref2","_ref2$nativeEvent$lay","layoutWidth","backgroundColor","map","_ref3","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","_useMessageOverlayCon","useMessageOverlayContext","data","_useMessagesContext","useMessagesContext","_useOverlayContext","useOverlayContext","_extends2","displayName"],"sources":["OverlayReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionButtonProps<StreamChatGenerics>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayData<StreamChatGenerics>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n setReactionListHeight: React.Dispatch<React.SetStateAction<number>>;\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n setReactionListHeight,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill} testID='overlay-reaction-list'>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} fill={fill || white_snow} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} fill={fill || white_snow} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n setReactionListHeight(height);\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<StreamChatGenerics>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n const { supportedReactions } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAaA,IAAAK,eAAA,GAAAD,uBAAA,CAAAJ,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AAIA,IAAAO,gBAAA,GAAAP,OAAA;AAIA,IAAAQ,eAAA,GAAAR,OAAA;AAIA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AASA,IAAAW,OAAA,GAAAX,OAAA;AAA6C,IAAAY,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAe,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAK7C,IAAMW,cAAc,GAAGC,iCAAQ,CAACC,uBAAuB,GACnDD,iCAAQ,CAACC,uBAAuB,CAACC,sBAAM,CAAC,GACxCA,sBAAM;AAEV,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,eAAe,EAAE;IACfC,WAAW,EAAE;EACf,CAAC;EACDC,YAAY,EAAE;IACZC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,QAAQ,EAAE;EACZ,CAAC;EACDC,YAAY,EAAE;IACZD,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,IAAME,YAA4B,GAAG,CACnC;EACEC,IAAI,EAAEC,mBAAY;EAClBC,IAAI,EAAE;AACR,CAAC,EACD;EACEF,IAAI,EAAEG,uBAAgB;EACtBD,IAAI,EAAE;AACR,CAAC,EACD;EACEF,IAAI,EAAEI,yBAAkB;EACxBF,IAAI,EAAE;AACR,CAAC,EACD;EACEF,IAAI,EAAEK,kBAAW;EACjBH,IAAI,EAAE;AACR,CAAC,EACD;EACEF,IAAI,EAAEM,kBAAW;EACjBJ,IAAI,EAAE;AACR,CAAC,CACF;AAeM,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAGzBC,KAA8C,EAC3C;EACH,IACEC,cAAc,GAQZD,KAAK,CARPC,cAAc;IACdT,IAAI,GAOFQ,KAAK,CAPPR,IAAI;IACJU,KAAK,GAMHF,KAAK,CANPE,KAAK;IACLC,iBAAiB,GAKfH,KAAK,CALPG,iBAAiB;IACjBC,gBAAgB,GAIdJ,KAAK,CAJPI,gBAAgB;IAChBC,UAAU,GAGRL,KAAK,CAHPK,UAAU;IACVC,UAAU,GAERN,KAAK,CAFPM,UAAU;IACVZ,IAAI,GACFM,KAAK,CADPN,IAAI;EAEN,IAAAa,SAAA,GAOI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;IAAAC,qBAAA,GAAAN,eAAA,CAC3BO,OAAO,CACLC,aAAa;IAAIC,QAAQ,GAAAH,qBAAA,CAARG,QAAQ;IAAEC,YAAY,GAAAJ,qBAAA,CAAZI,YAAY;EAI7C,IAAMC,QAAQ,GAAGhB,gBAAgB,CAACiB,QAAQ,CAAC3B,IAAI,CAAC;EAChD,IAAM4B,cAAc,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACxC,IAAMC,QAAQ,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAClC,IAAME,KAAK,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EAC/B,IAAMG,eAAe,GAAG,IAAAH,qCAAc,EAACH,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;EAExD,IAAMO,KAAK,GAAG,IAAAC,gDAAyB,EACrC;IACEC,KAAK,EAAE,SAAAA,MAAA,EAAM;MACX,IAAAC,8BAAO,EAACC,qBAAa,CAAC,CAAC,aAAa,CAAC;MACrCL,eAAe,CAACM,KAAK,GAAG,IAAAC,iCAAU,EAACb,QAAQ,GAAG,CAAC,GAAG,CAAC,EAAE;QAAEc,QAAQ,EAAE;MAAI,CAAC,EAAE,YAAM;QAC5E,IAAIjC,cAAc,EAAE;UAClB,IAAA6B,8BAAO,EAAC7B,cAAc,CAAC,CAACP,IAAI,CAAC;QAC/B;QACA,IAAAoC,8BAAO,EAACzB,UAAU,CAAC,CAAC,MAAM,CAAC;MAC7B,CAAC,CAAC;IACJ,CAAC;IACD8B,QAAQ,EAAE,SAAAA,SAAA,EAAM;MACd,IAAAC,sCAAe,EAACX,KAAK,CAAC;MACtBA,KAAK,CAACO,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,CAAC;IAChD,CAAC;IACDG,OAAO,EAAE,SAAAA,QAAA,EAAM;MACb,IAAAD,sCAAe,EAACX,KAAK,CAAC;MACtBA,KAAK,CAACO,KAAK,GAAG,IAAAC,iCAAU,EAAC,GAAG,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,CAAC;IAClD;EACF,CAAC,EACD,CAACjC,cAAc,EAAEmB,QAAQ,EAAEf,UAAU,EAAEX,IAAI,CAC7C,CAAC;EAED,IAAA4C,0CAAmB,EACjB,YAAM;IACJ,IAAIhC,UAAU,CAAC0B,KAAK,GAAG,GAAG,IAAIR,QAAQ,CAACQ,KAAK,KAAK,CAAC,EAAE;MAClD,OAAO,CAAC;IACV;IACA,OAAO,CAAC;EACV,CAAC,EACD,UAACO,MAAM,EAAK;IACV,IAAIf,QAAQ,CAACQ,KAAK,KAAK,CAAC,IAAIO,MAAM,KAAK,CAAC,EAAE;MACxCf,QAAQ,CAACQ,KAAK,GAAG,CAAC;MAClBV,cAAc,CAACU,KAAK,GAAG,IAAAQ,mCAAY,EACjC,IAAAC,gCAAS,EAAC,EAAE,IAAItC,iBAAiB,IAAID,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,IAAA+B,iCAAU,EAAC,GAAG,EAAE;QAAEC,QAAQ,EAAE;MAAG,CAAC,CAAC,CAAC,EACpF,IAAAD,iCAAU,EAAC,GAAG,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,CAAC,EAClC,IAAAD,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,CACjC,CAAC;IACH;EACF,CAAC,EACD,CAAChC,KAAK,EAAEC,iBAAiB,CAC3B,CAAC;EAED,IAAMuC,SAAS,GAAG,IAAAC,uCAAgB,EAChC;IAAA,OAAO;MACLC,SAAS,EAAE,CACT;QACEnB,KAAK,EAAEH,cAAc,CAACU;MACxB,CAAC,EACD;QACEP,KAAK,EAAEA,KAAK,CAACO;MACf,CAAC;IAEL,CAAC;EAAA,CAAC,EACF,EACF,CAAC;EAED,IAAMa,aAAa,GAAG,IAAAF,uCAAgB,EAAY;IAAA,OAAO;MACvDG,OAAO,EAAEpB,eAAe,CAACM;IAC3B,CAAC;EAAA,CAAC,CAAC;EAEH,OACEjG,MAAA,YAAAgH,aAAA,CAAC5G,0BAAA,CAAA6G,iBAAiB;IAChBC,OAAO,EAAE;MACPC,MAAM,EACJC,MAAM,CAACjC,QAAQ,CAAC9B,eAAe,IAAI,CAAC,CAAC,IACrC+D,MAAM,CAACjC,QAAQ,CAACkC,aAAa,IAAI,CAAC,CAAC,IACnC3E,MAAM,CAACK,YAAY,CAACM,eAAe;MACrCiE,IAAI,EACF,CAACF,MAAM,CAACjC,QAAQ,CAAC/B,iBAAiB,IAAI,CAAC,CAAC,IACtCgE,MAAM,CAACjC,QAAQ,CAACoC,WAAW,IAAI,CAAC,CAAC,IACjC7E,MAAM,CAACG,eAAe,CAACC,WAAW,IAAI,CAAC;MAC3C0E,KAAK,EACH,CAACJ,MAAM,CAACjC,QAAQ,CAAC/B,iBAAiB,IAAI,CAAC,CAAC,IACtCgE,MAAM,CAACjC,QAAQ,CAACsC,YAAY,IAAI,CAAC,CAAC,IAClC/E,MAAM,CAACG,eAAe,CAACC,WAAW,IAAI,CAAC;MAC3C4E,GAAG,EACDN,MAAM,CAACjC,QAAQ,CAAC9B,eAAe,IAAI,CAAC,CAAC,IACrC+D,MAAM,CAACjC,QAAQ,CAACwC,UAAU,IAAI,CAAC,CAAC,IAChCjF,MAAM,CAACK,YAAY,CAACM;IACxB,CAAE;IACFuE,aAAa,EAAE,IAAK;IACpBC,oBAAoB,EAAEjC,KAAM;IAAAkC,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE5BlI,MAAA,YAAAgH,aAAA,CAAC3G,sBAAA,WAAQ,CAAC8H,IAAI;IACZC,KAAK,EAAE,CAACjE,KAAK,KAAKC,iBAAiB,GAAG,CAAC,GAAG1B,MAAM,CAACG,eAAe,GAAG,CAAC,CAAC,EAAEsC,QAAQ,EAAEwB,SAAS,CAAE;IAAAmB,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE5FlI,MAAA,YAAAgH,aAAA,CAACvD,IAAI;IAAC4E,MAAM,EAAEjD,YAAa;IAACkD,QAAQ,EAAEvD,IAAK;IAACwD,KAAK,EAAEnD,YAAa;IAAA0C,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACnElI,MAAA,YAAAgH,aAAA,CAAC3G,sBAAA,WAAQ,CAAC8H,IAAI;IAACC,KAAK,EAAE,CAAC1F,MAAM,CAACa,YAAY,EAAEuD,aAAa,CAAE;IAAAgB,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GACzDlI,MAAA,YAAAgH,aAAA,CAACvD,IAAI;IAAC4E,MAAM,EAAEjD,YAAa;IAACkD,QAAQ,EAAExD,WAAY;IAACyD,KAAK,EAAEnD,YAAa;IAAA0C,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC5D,CACF,CACE,CAAC;AAExB,CAAC;AAACM,OAAA,CAAAxE,cAAA,GAAAA,cAAA;AAoBF,IAAMyE,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAGlCxE,KAA8D,EAC3D;EACH,IACEyE,SAAS,GASPzE,KAAK,CATPyE,SAAS;IACTC,IAAI,GAQF1E,KAAK,CARP0E,IAAI;IACJzE,cAAc,GAOZD,KAAK,CAPPC,cAAc;IACd0E,aAAa,GAMX3E,KAAK,CANP2E,aAAa;IACbvE,gBAAgB,GAKdJ,KAAK,CALPI,gBAAgB;IAChBwE,qBAAqB,GAInB5E,KAAK,CAJP4E,qBAAqB;IACrBtE,UAAU,GAGRN,KAAK,CAHPM,UAAU;IACVD,UAAU,GAERL,KAAK,CAFPK,UAAU;IAAAwE,qBAAA,GAER7E,KAAK,CADP8E,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAGtF,YAAY,GAAAsF,qBAAA;EAGnC,IAAAE,UAAA,GAQI,IAAAvE,sBAAQ,EAAC,CAAC;IAAAwE,gBAAA,GAAAD,UAAA,CAPZrE,KAAK;IACOuE,UAAU,GAAAD,gBAAA,CAApBpE,MAAM,CAAIqE,UAAU;IAAAC,qBAAA,GAAAF,gBAAA,CACpBhE,OAAO;IACImE,aAAa,GAAAD,qBAAA,CAAtBE,OAAO;IAAAC,sBAAA,GAAAH,qBAAA,CACPjE,aAAa;IAAIqE,MAAM,GAAAD,sBAAA,CAANC,MAAM;IAAExG,YAAY,GAAAuG,sBAAA,CAAZvG,YAAY;EAK3C,IAAMyG,kBAAkB,GAAG,IAAAhE,qCAAc,EAAC,CAAC,CAAC;EAC5C,IAAMiE,mBAAmB,GAAG,IAAAjE,qCAAc,EAAC,CAAC,CAAC;EAC7C,IAAMkE,kBAAkB,GAAG,IAAAlE,qCAAc,EAAC;IACxC6C,MAAM,EAAE,CAAC;IACTE,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,IAAAoB,oBAAA,GAAkB,IAAAC,gCAAmB,EAAC,CAAC;IAA/BrB,KAAK,GAAAoB,oBAAA,CAALpB,KAAK;EAEb,IAAMsB,aAAa,GAAG,IAAAjD,uCAAgB,EAAY,YAAM;IACtD,IAAM3D,YAAY,GAAGF,YAAY,CAACE,YAAY,IAAIP,MAAM,CAACK,YAAY,CAACE,YAAY;IAClF,IAAM6G,eAAe,GACnBlB,aAAa,CAAC3C,KAAK,CAAC8D,CAAC,GAAGL,kBAAkB,CAACzD,KAAK,CAACsC,KAAK,GAAGtF,YAAY,GAAGmG,aAAa;IACvF,IAAMY,gBAAgB,GAAGpB,aAAa,CAAC3C,KAAK,CAAC8D,CAAC,GAAG9G,YAAY,GAAGsF,KAAK,GAAGa,aAAa;IACrF,IAAM9B,IAAI,GAAG,CAACwC,eAAe,GACzBV,aAAa,GACb,CAACY,gBAAgB,GACjBzB,KAAK,GAAGa,aAAa,GAAGM,kBAAkB,CAACzD,KAAK,CAACsC,KAAK,GACtDK,aAAa,CAAC3C,KAAK,CAAC8D,CAAC,GAAGL,kBAAkB,CAACzD,KAAK,CAACsC,KAAK,GAAGtF,YAAY;IACzE,IAAMyE,GAAG,GAAGkB,aAAa,CAAC3C,KAAK,CAACgE,CAAC,GAAGP,kBAAkB,CAACzD,KAAK,CAACoC,MAAM,GAAGkB,MAAM,GAAG,CAAC;IAEhF,OAAO;MACLjC,IAAI,EAAJA,IAAI;MACJI,GAAG,EAAHA;IACF,CAAC;EACH,CAAC,CAAC;EAEF,IAAMwC,sBAAsB,GAAG,IAAAC,uCAAgB,EAAc;IAAA,OAAO;MAClEC,EAAE,EAAExB,aAAa,CAAC3C,KAAK,CAAC8D,CAAC,GAAGR,MAAM,GAAG,CAAC;MACtCc,EAAE,EAAEzB,aAAa,CAAC3C,KAAK,CAACgE,CAAC,GAAGV,MAAM,GAAG,CAAC;MACtCe,CAAC,EAAEf,MAAM,GAAG;IACd,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMgB,uBAAuB,GAAG,IAAAJ,uCAAgB,EAAc;IAAA,OAAO;MACnEC,EAAE,EAAExB,aAAa,CAAC3C,KAAK,CAAC8D,CAAC,GAAGR,MAAM;MAClCc,EAAE,EAAEzB,aAAa,CAAC3C,KAAK,CAACgE,CAAC;MACzBK,CAAC,EAAEf;IACL,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMiB,eAAe,GAAG,IAAA5D,uCAAgB,EACtC;IAAA,OAAO;MACLC,SAAS,EAAE,CACT;QACE4D,UAAU,EAAE,IAAAC,kCAAW,EAACnG,UAAU,CAAC0B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAACuD,kBAAkB,CAACvD,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;MACtF,CAAC,EACD;QACE0E,UAAU,EAAE,IAAAD,kCAAW,EACrBnG,UAAU,CAAC0B,KAAK,EAChB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CACEyC,SAAS,KAAK,MAAM,GAAG,CAACe,mBAAmB,CAACxD,KAAK,GAAG,CAAC,GAAGwD,mBAAmB,CAACxD,KAAK,GAAG,CAAC,EACrF,CAAC,CAEL;MACF,CAAC,EACD;QACEP,KAAK,EAAE,IAAAgF,kCAAW,EAACnG,UAAU,CAAC0B,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC7D,CAAC;IAEL,CAAC;EAAA,CAAC,EACF,CAACyC,SAAS,CACZ,CAAC;EAED,IAAMtE,iBAAiB,GAAG2E,kBAAkB,CAAC6B,MAAM;EAEnD,OACE5K,MAAA,YAAAgH,aAAA,CAAC7G,YAAA,CAAAgI,IAAI;IAACC,KAAK,EAAEzF,uBAAU,CAACkI,YAAa;IAACC,MAAM,EAAC,uBAAuB;IAAAhD,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAClElI,MAAA,YAAAgH,aAAA,CAAC3G,sBAAA,WAAQ,CAAC8H,IAAI;IACZ4C,QAAQ,EAAE,SAAAA,SAAAC,IAAA,EAAiC;MAAA,IAAfC,MAAM,GAAAD,IAAA,CAArBE,WAAW,CAAID,MAAM;MAChCxB,mBAAmB,CAACxD,KAAK,GAAGgF,MAAM,CAAC1C,KAAK;IAC1C,CAAE;IACFH,KAAK,EAAEoC,eAAgB;IAAA1C,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEvBlI,MAAA,YAAAgH,aAAA,CAACzG,eAAA,WAAG;IAAAuH,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GACFlI,MAAA,YAAAgH,aAAA,CAAC1E,cAAc;IAAC6I,aAAa,EAAEjB,sBAAuB;IAACvB,IAAI,EAAEA,IAAI,IAAIO,UAAW;IAAApB,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACnFlI,MAAA,YAAAgH,aAAA,CAAC1E,cAAc;IAAC6I,aAAa,EAAEZ,uBAAwB;IAAC5B,IAAI,EAAEA,IAAI,IAAIO,UAAW;IAAApB,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAChF,CAAC,EACNlI,MAAA,YAAAgH,aAAA,CAAC3G,sBAAA,WAAQ,CAAC8H,IAAI;IACZ4C,QAAQ,EAAE,SAAAA,SAAAK,KAAA,EAIJ;MAAA,IAAAC,qBAAA,GAAAD,KAAA,CAHJF,WAAW,CACTD,MAAM;QAAI5C,MAAM,GAAAgD,qBAAA,CAANhD,MAAM;QAASiD,WAAW,GAAAD,qBAAA,CAAlB9C,KAAK;MAGzBmB,kBAAkB,CAACzD,KAAK,GAAG;QAAEoC,MAAM,EAANA,MAAM;QAAEE,KAAK,EAAE+C;MAAY,CAAC;MACzD9B,kBAAkB,CAACvD,KAAK,GAAGoC,MAAM;MACjCQ,qBAAqB,CAACR,MAAM,CAAC;IAC/B,CAAE;IACFD,KAAK,EAAE,CACL1F,MAAM,CAACK,YAAY,EACnB;MAAEwI,eAAe,EAAErC;IAAW,CAAC,EAC/BW,aAAa,EACb9G,YAAY,CACZ;IAAA+E,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEDa,kBAAkB,oBAAlBA,kBAAkB,CAAEyC,GAAG,CAAC,UAAAC,KAAA,EAAiBtH,KAAK;IAAA,IAAnBV,IAAI,GAAAgI,KAAA,CAAJhI,IAAI;MAAEE,IAAI,GAAA8H,KAAA,CAAJ9H,IAAI;IAAA,OACpC3D,MAAA,YAAAgH,aAAA,CAAChD,cAAc;MACbE,cAAc,EAAEA,cAAe;MAC/BT,IAAI,EAAEA,IAAK;MACXU,KAAK,EAAEA,KAAM;MACbnC,GAAG,EAAK2B,IAAI,SAAIQ,KAAQ;MACxBC,iBAAiB,EAAEA,iBAAkB;MACrCC,gBAAgB,EAAEA,gBAAiB;MACnCC,UAAU,EAAEA,UAAW;MACvBC,UAAU,EAAEA,UAAW;MACvBZ,IAAI,EAAEA,IAAK;MAAAmE,MAAA,EAAAhH,KAAA;MAAAiH,QAAA;QAAAC,QAAA,EAAAjH,YAAA;QAAAkH,UAAA;QAAAC,YAAA;MAAA;IAAA,CACZ,CAAC;EAAA,CACH,CACY,CACF,CACX,CAAC;AAEX,CAAC;AAED,IAAMwD,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAAkE,EAClEC,SAAkE,EAC/D;EACH,IAAmBC,aAAa,GAA6CF,SAAS,CAA9EjD,SAAS;IAAmCoD,oBAAoB,GAAKH,SAAS,CAApDtH,gBAAgB;EAClD,IAAmB0H,aAAa,GAA6CH,SAAS,CAA9ElD,SAAS;IAAmCsD,oBAAoB,GAAKJ,SAAS,CAApDvH,gBAAgB;EAElD,IAAM4H,cAAc,GAAGJ,aAAa,KAAKE,aAAa;EACtD,IAAI,CAACE,cAAc,EAAE,OAAO,KAAK;EAEjC,IAAMC,qBAAqB,GAAGJ,oBAAoB,CAAClB,MAAM,KAAKoB,oBAAoB,CAACpB,MAAM;EACzF,IAAI,CAACsB,qBAAqB,EAAE,OAAO,KAAK;EAExC,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,2BAA2B,GAAGC,iBAAK,CAACC,IAAI,CAC5C5D,8BAA8B,EAC9BiD,QACF,CAA0C;AAkBnC,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAG9BrI,KAAmD,EAChD;EACH,IAAAsI,qBAAA,GAAiB,IAAAC,+CAAwB,EAAqB,CAAC;IAAvDC,IAAI,GAAAF,qBAAA,CAAJE,IAAI;EACZ,IAAAC,mBAAA,GAA+B,IAAAC,mCAAkB,EAAqB,CAAC;IAA/D5D,kBAAkB,GAAA2D,mBAAA,CAAlB3D,kBAAkB;EAC1B,IAAA6D,kBAAA,GAAuB,IAAAC,iCAAiB,EAAC,CAAC;IAAlCvI,UAAU,GAAAsI,kBAAA,CAAVtI,UAAU;EAElB,OACEtE,MAAA,YAAAgH,aAAA,CAACmF,2BAA2B,MAAAW,SAAA,iBACrBL,IAAI,IAAI,CAAC,CAAC;IACTnI,UAAU,EAAVA,UAAU;IAAEyE,kBAAkB,EAAlBA;EAAkB,GAChC9E,KAAK;IAAA6D,MAAA,EAAAhH,KAAA;IAAAiH,QAAA;MAAAC,QAAA,EAAAjH,YAAA;MAAAkH,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACM,OAAA,CAAA8D,mBAAA,GAAAA,mBAAA;AAEFA,mBAAmB,CAACS,WAAW,GAAG,4CAA4C"}
|
|
@@ -154,15 +154,31 @@ var renderText = function renderText(params) {
|
|
|
154
154
|
};
|
|
155
155
|
var paragraphText = function paragraphText(node, output, _ref2) {
|
|
156
156
|
var state = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref2), _ref2));
|
|
157
|
+
if (messageTextNumberOfLines !== undefined) {
|
|
158
|
+
if (state.key === '0' || state.key === 0) {
|
|
159
|
+
return _react["default"].createElement(_reactNative.Text, {
|
|
160
|
+
key: state.key,
|
|
161
|
+
numberOfLines: messageTextNumberOfLines,
|
|
162
|
+
style: styles.paragraph,
|
|
163
|
+
__self: _this,
|
|
164
|
+
__source: {
|
|
165
|
+
fileName: _jsxFileName,
|
|
166
|
+
lineNumber: 207,
|
|
167
|
+
columnNumber: 11
|
|
168
|
+
}
|
|
169
|
+
}, output(node.content, state));
|
|
170
|
+
} else {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
157
174
|
return _react["default"].createElement(_reactNative.Text, {
|
|
158
175
|
key: state.key,
|
|
159
|
-
numberOfLines: messageTextNumberOfLines,
|
|
160
176
|
style: styles.paragraph,
|
|
161
177
|
__self: _this,
|
|
162
178
|
__source: {
|
|
163
179
|
fileName: _jsxFileName,
|
|
164
|
-
lineNumber:
|
|
165
|
-
columnNumber:
|
|
180
|
+
lineNumber: 217,
|
|
181
|
+
columnNumber: 7
|
|
166
182
|
}
|
|
167
183
|
}, output(node.content, state));
|
|
168
184
|
};
|
|
@@ -210,7 +226,7 @@ var renderText = function renderText(params) {
|
|
|
210
226
|
__self: _this,
|
|
211
227
|
__source: {
|
|
212
228
|
fileName: _jsxFileName,
|
|
213
|
-
lineNumber:
|
|
229
|
+
lineNumber: 263,
|
|
214
230
|
columnNumber: 7
|
|
215
231
|
}
|
|
216
232
|
}, Array.isArray(node.content) ? node.content.reduce(function (acc, current) {
|
|
@@ -227,7 +243,7 @@ var renderText = function renderText(params) {
|
|
|
227
243
|
__self: _this,
|
|
228
244
|
__source: {
|
|
229
245
|
fileName: _jsxFileName,
|
|
230
|
-
lineNumber:
|
|
246
|
+
lineNumber: 272,
|
|
231
247
|
columnNumber: 5
|
|
232
248
|
}
|
|
233
249
|
});
|
|
@@ -271,7 +287,7 @@ var renderText = function renderText(params) {
|
|
|
271
287
|
__self: _this,
|
|
272
288
|
__source: {
|
|
273
289
|
fileName: _jsxFileName,
|
|
274
|
-
lineNumber:
|
|
290
|
+
lineNumber: 304,
|
|
275
291
|
columnNumber: 5
|
|
276
292
|
}
|
|
277
293
|
}, newText);
|
|
@@ -290,7 +306,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
290
306
|
__self: _this,
|
|
291
307
|
__source: {
|
|
292
308
|
fileName: _jsxFileName,
|
|
293
|
-
lineNumber:
|
|
309
|
+
lineNumber: 339,
|
|
294
310
|
columnNumber: 5
|
|
295
311
|
}
|
|
296
312
|
}, node.items.map(function (item, index) {
|
|
@@ -304,7 +320,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
304
320
|
__self: _this,
|
|
305
321
|
__source: {
|
|
306
322
|
fileName: _jsxFileName,
|
|
307
|
-
lineNumber:
|
|
323
|
+
lineNumber: 345,
|
|
308
324
|
columnNumber: 13
|
|
309
325
|
}
|
|
310
326
|
}, _react["default"].createElement(Bullet, {
|
|
@@ -313,7 +329,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
313
329
|
__self: _this,
|
|
314
330
|
__source: {
|
|
315
331
|
fileName: _jsxFileName,
|
|
316
|
-
lineNumber:
|
|
332
|
+
lineNumber: 346,
|
|
317
333
|
columnNumber: 15
|
|
318
334
|
}
|
|
319
335
|
}));
|
|
@@ -330,7 +346,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
330
346
|
__self: _this,
|
|
331
347
|
__source: {
|
|
332
348
|
fileName: _jsxFileName,
|
|
333
|
-
lineNumber:
|
|
349
|
+
lineNumber: 359,
|
|
334
350
|
columnNumber: 11
|
|
335
351
|
}
|
|
336
352
|
}, _react["default"].createElement(Bullet, {
|
|
@@ -339,7 +355,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
339
355
|
__self: _this,
|
|
340
356
|
__source: {
|
|
341
357
|
fileName: _jsxFileName,
|
|
342
|
-
lineNumber:
|
|
358
|
+
lineNumber: 360,
|
|
343
359
|
columnNumber: 13
|
|
344
360
|
}
|
|
345
361
|
}), _react["default"].createElement(ListItem, {
|
|
@@ -348,7 +364,7 @@ var ListOutput = function ListOutput(_ref4) {
|
|
|
348
364
|
__self: _this,
|
|
349
365
|
__source: {
|
|
350
366
|
fileName: _jsxFileName,
|
|
351
|
-
lineNumber:
|
|
367
|
+
lineNumber: 364,
|
|
352
368
|
columnNumber: 13
|
|
353
369
|
}
|
|
354
370
|
}, output(item, state)));
|
|
@@ -364,7 +380,7 @@ var Bullet = function Bullet(_ref5) {
|
|
|
364
380
|
__self: _this,
|
|
365
381
|
__source: {
|
|
366
382
|
fileName: _jsxFileName,
|
|
367
|
-
lineNumber:
|
|
383
|
+
lineNumber: 379,
|
|
368
384
|
columnNumber: 3
|
|
369
385
|
}
|
|
370
386
|
}, index ? index + ". " : "\u2022 ");
|
|
@@ -377,7 +393,7 @@ var ListRow = function ListRow(_ref6) {
|
|
|
377
393
|
__self: _this,
|
|
378
394
|
__source: {
|
|
379
395
|
fileName: _jsxFileName,
|
|
380
|
-
lineNumber:
|
|
396
|
+
lineNumber: 385,
|
|
381
397
|
columnNumber: 3
|
|
382
398
|
}
|
|
383
399
|
}, children);
|
|
@@ -390,7 +406,7 @@ var ListItem = function ListItem(_ref7) {
|
|
|
390
406
|
__self: _this,
|
|
391
407
|
__source: {
|
|
392
408
|
fileName: _jsxFileName,
|
|
393
|
-
lineNumber:
|
|
409
|
+
lineNumber: 389,
|
|
394
410
|
columnNumber: 3
|
|
395
411
|
}
|
|
396
412
|
}, children);
|