stream-chat-react-native-core 5.18.0-beta.1 → 5.18.0-beta.3

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.
@@ -21,16 +21,11 @@ var styles = _reactNative.StyleSheet.create({
21
21
  curveContainer: {
22
22
  flexDirection: 'row'
23
23
  },
24
- leftMessageRepliesCurve: (0, _extends2["default"])({
24
+ leftMessageRepliesCurve: {
25
25
  borderBottomLeftRadius: 16,
26
- borderRightColor: 'transparent'
27
- }, _reactNative.Platform.select({
28
- android: {
29
- borderRightWidth: 0
30
- }
31
- })),
26
+ borderRightWidth: 0
27
+ },
32
28
  messageRepliesCurve: {
33
- borderTopColor: 'transparent',
34
29
  borderTopWidth: 0,
35
30
  borderWidth: 1,
36
31
  height: 16,
@@ -40,16 +35,12 @@ var styles = _reactNative.StyleSheet.create({
40
35
  fontSize: 12,
41
36
  fontWeight: '700',
42
37
  paddingBottom: 5,
43
- paddingLeft: 8
38
+ paddingHorizontal: 8
44
39
  },
45
- rightMessageRepliesCurve: (0, _extends2["default"])({
40
+ rightMessageRepliesCurve: {
46
41
  borderBottomRightRadius: 16,
47
- borderLeftColor: 'transparent'
48
- }, _reactNative.Platform.select({
49
- android: {
50
- borderLeftWidth: 0
51
- }
52
- }))
42
+ borderLeftWidth: 0
43
+ }
53
44
  });
54
45
  var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
55
46
  var alignment = props.alignment,
@@ -78,15 +69,16 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
78
69
  __self: _this,
79
70
  __source: {
80
71
  fileName: _jsxFileName,
81
- lineNumber: 113,
72
+ lineNumber: 102,
82
73
  columnNumber: 5
83
74
  }
84
75
  }, alignment === 'left' && _react["default"].createElement(_reactNative.View, {
76
+ style: styles.curveContainer,
85
77
  testID: "message-replies-left",
86
78
  __self: _this,
87
79
  __source: {
88
80
  fileName: _jsxFileName,
89
- lineNumber: 115,
81
+ lineNumber: 104,
90
82
  columnNumber: 9
91
83
  }
92
84
  }, !noBorder && _react["default"].createElement(_reactNative.View, {
@@ -96,7 +88,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
96
88
  __self: _this,
97
89
  __source: {
98
90
  fileName: _jsxFileName,
99
- lineNumber: 117,
91
+ lineNumber: 106,
100
92
  columnNumber: 13
101
93
  }
102
94
  }), _react["default"].createElement(MessageRepliesAvatars, {
@@ -105,7 +97,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
105
97
  __self: _this,
106
98
  __source: {
107
99
  fileName: _jsxFileName,
108
- lineNumber: 126,
100
+ lineNumber: 115,
109
101
  columnNumber: 11
110
102
  }
111
103
  })), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -141,7 +133,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
141
133
  __self: _this,
142
134
  __source: {
143
135
  fileName: _jsxFileName,
144
- lineNumber: 129,
136
+ lineNumber: 118,
145
137
  columnNumber: 7
146
138
  }
147
139
  }, _react["default"].createElement(_reactNative.Text, {
@@ -151,17 +143,18 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
151
143
  __self: _this,
152
144
  __source: {
153
145
  fileName: _jsxFileName,
154
- lineNumber: 160,
146
+ lineNumber: 149,
155
147
  columnNumber: 9
156
148
  }
157
149
  }, message.reply_count === 1 ? t('1 Thread Reply') : t('{{ replyCount }} Thread Replies', {
158
150
  replyCount: message.reply_count
159
151
  }))), alignment === 'right' && _react["default"].createElement(_reactNative.View, {
152
+ style: styles.curveContainer,
160
153
  testID: "message-replies-right",
161
154
  __self: _this,
162
155
  __source: {
163
156
  fileName: _jsxFileName,
164
- lineNumber: 169,
157
+ lineNumber: 158,
165
158
  columnNumber: 9
166
159
  }
167
160
  }, _react["default"].createElement(MessageRepliesAvatars, {
@@ -170,7 +163,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
170
163
  __self: _this,
171
164
  __source: {
172
165
  fileName: _jsxFileName,
173
- lineNumber: 170,
166
+ lineNumber: 159,
174
167
  columnNumber: 11
175
168
  }
176
169
  }), !noBorder && _react["default"].createElement(_reactNative.View, {
@@ -180,7 +173,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
180
173
  __self: _this,
181
174
  __source: {
182
175
  fileName: _jsxFileName,
183
- lineNumber: 172,
176
+ lineNumber: 161,
184
177
  columnNumber: 13
185
178
  }
186
179
  })));
@@ -238,7 +231,7 @@ var MessageReplies = function MessageReplies(props) {
238
231
  __self: _this,
239
232
  __source: {
240
233
  fileName: _jsxFileName,
241
- lineNumber: 252,
234
+ lineNumber: 241,
242
235
  columnNumber: 5
243
236
  }
244
237
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","_extends2","borderBottomLeftRadius","borderRightColor","Platform","select","android","borderRightWidth","messageRepliesCurve","borderTopColor","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingLeft","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftColor","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightColor: 'transparent',\n ...Platform.select({\n android: {\n borderRightWidth: 0,\n },\n }),\n },\n messageRepliesCurve: {\n borderTopColor: 'transparent',\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingLeft: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftColor: 'transparent',\n ...Platform.select({\n android: {\n borderLeftWidth: 0,\n },\n }),\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","borderBottomLeftRadius","borderRightWidth","messageRepliesCurve","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingHorizontal","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","_extends2","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightWidth: 0,\n },\n messageRepliesCurve: {\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingHorizontal: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftWidth: 0,\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View style={styles.curveContainer} testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View style={styles.curveContainer} testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":"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"}
@@ -40,9 +40,7 @@ var MessageRepliesAvatarsWithContext = function MessageRepliesAvatarsWithContext
40
40
  var avatars = ((_message$thread_parti = message.thread_participants) == null ? void 0 : _message$thread_parti.slice(-2)) || [];
41
41
  var hasMoreThanOneReply = avatars.length > 1;
42
42
  return _react["default"].createElement(_reactNative.View, {
43
- style: [styles.avatarContainer, alignment === 'right' ? (0, _extends2["default"])({
44
- marginLeft: 8
45
- }, rightAvatarsContainer) : leftAvatarsContainer],
43
+ style: [styles.avatarContainer, alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer],
46
44
  __self: _this,
47
45
  __source: {
48
46
  fileName: _jsxFileName,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","_extends2","marginLeft","__self","__source","fileName","lineNumber","columnNumber","map","user","i","key","id","paddingLeft","Avatar","containerStyle","borderColor","borderWidth","image","name","size","exports","MessageRepliesAvatars","_useChatContext","useChatContext"],"sources":["MessageRepliesAvatars.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatarsWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics> & Pick<ChatContextValue, 'ImageComponent'>,\n) => {\n const { alignment, ImageComponent, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? { marginLeft: 8, ...rightAvatarsContainer } : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n ImageComponent={ImageComponent}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext();\n\n return <MessageRepliesAvatarsWithContext {...props} ImageComponent={ImageComponent} />;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","map","user","i","key","id","_extends2","paddingLeft","Avatar","containerStyle","borderColor","borderWidth","image","name","size","exports","MessageRepliesAvatars","_useChatContext","useChatContext"],"sources":["MessageRepliesAvatars.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatarsWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics> & Pick<ChatContextValue, 'ImageComponent'>,\n) => {\n const { alignment, ImageComponent, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n ImageComponent={ImageComponent}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext();\n\n return <MessageRepliesAvatarsWithContext {...props} ImageComponent={ImageComponent} />;\n};\n"],"mappings":"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"}
@@ -127,6 +127,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
127
127
  var insideRightBound = x2 + strokeSize + reactionSize * reactions.length / 2 < width - screenPadding * 2;
128
128
  var left = reactions.length === 1 ? x1 + (alignmentLeft ? -radius : radius - reactionSize) : !insideLeftBound ? screenPadding : !insideRightBound ? width - screenPadding * 2 - reactionSize * reactions.length - strokeSize : x2 - reactionSize * reactions.length / 2 - strokeSize;
129
129
  return _react["default"].createElement(_reactNative.View, {
130
+ pointerEvents: "box-none",
130
131
  style: [styles.container, {
131
132
  height: reactionSize + radius * 5,
132
133
  width: width
@@ -139,18 +140,20 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
139
140
  columnNumber: 5
140
141
  }
141
142
  }, reactions.length ? _react["default"].createElement(_reactNative.View, {
143
+ pointerEvents: "box-none",
142
144
  style: [_reactNative.StyleSheet.absoluteFill],
143
145
  __self: _this,
144
146
  __source: {
145
147
  fileName: _jsxFileName,
146
- lineNumber: 192,
148
+ lineNumber: 193,
147
149
  columnNumber: 9
148
150
  }
149
151
  }, _react["default"].createElement(_reactNativeSvg["default"], {
152
+ pointerEvents: "none",
150
153
  __self: _this,
151
154
  __source: {
152
155
  fileName: _jsxFileName,
153
- lineNumber: 193,
156
+ lineNumber: 194,
154
157
  columnNumber: 11
155
158
  }
156
159
  }, _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -161,7 +164,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
161
164
  __self: _this,
162
165
  __source: {
163
166
  fileName: _jsxFileName,
164
- lineNumber: 194,
167
+ lineNumber: 195,
165
168
  columnNumber: 13
166
169
  }
167
170
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -172,7 +175,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
172
175
  __self: _this,
173
176
  __source: {
174
177
  fileName: _jsxFileName,
175
- lineNumber: 195,
178
+ lineNumber: 196,
176
179
  columnNumber: 13
177
180
  }
178
181
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -183,7 +186,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
183
186
  __self: _this,
184
187
  __source: {
185
188
  fileName: _jsxFileName,
186
- lineNumber: 196,
189
+ lineNumber: 197,
187
190
  columnNumber: 13
188
191
  }
189
192
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -194,7 +197,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
194
197
  __self: _this,
195
198
  __source: {
196
199
  fileName: _jsxFileName,
197
- lineNumber: 197,
200
+ lineNumber: 198,
198
201
  columnNumber: 13
199
202
  }
200
203
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -205,7 +208,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
205
208
  __self: _this,
206
209
  __source: {
207
210
  fileName: _jsxFileName,
208
- lineNumber: 198,
211
+ lineNumber: 199,
209
212
  columnNumber: 13
210
213
  }
211
214
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -216,7 +219,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
216
219
  __self: _this,
217
220
  __source: {
218
221
  fileName: _jsxFileName,
219
- lineNumber: 199,
222
+ lineNumber: 200,
220
223
  columnNumber: 13
221
224
  }
222
225
  })), _react["default"].createElement(_reactNative.View, {
@@ -232,22 +235,23 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
232
235
  __self: _this,
233
236
  __source: {
234
237
  fileName: _jsxFileName,
235
- lineNumber: 201,
238
+ lineNumber: 202,
236
239
  columnNumber: 11
237
240
  }
238
241
  }), _react["default"].createElement(_reactNative.View, {
242
+ pointerEvents: "none",
239
243
  style: [_reactNative.StyleSheet.absoluteFill],
240
244
  __self: _this,
241
245
  __source: {
242
246
  fileName: _jsxFileName,
243
- lineNumber: 216,
247
+ lineNumber: 217,
244
248
  columnNumber: 11
245
249
  }
246
250
  }, _react["default"].createElement(_reactNativeSvg["default"], {
247
251
  __self: _this,
248
252
  __source: {
249
253
  fileName: _jsxFileName,
250
- lineNumber: 217,
254
+ lineNumber: 218,
251
255
  columnNumber: 13
252
256
  }
253
257
  }, _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -258,7 +262,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
258
262
  __self: _this,
259
263
  __source: {
260
264
  fileName: _jsxFileName,
261
- lineNumber: 218,
265
+ lineNumber: 219,
262
266
  columnNumber: 15
263
267
  }
264
268
  }))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -304,7 +308,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
304
308
  __self: _this,
305
309
  __source: {
306
310
  fileName: _jsxFileName,
307
- lineNumber: 221,
311
+ lineNumber: 222,
308
312
  columnNumber: 11
309
313
  }
310
314
  }, reactions.map(function (reaction) {
@@ -318,7 +322,7 @@ var ReactionListWithContext = function ReactionListWithContext(props) {
318
322
  __self: _this,
319
323
  __source: {
320
324
  fileName: _jsxFileName,
321
- lineNumber: 263,
325
+ lineNumber: 264,
322
326
  columnNumber: 15
323
327
  }
324
328
  });
@@ -374,7 +378,7 @@ var ReactionList = function ReactionList(props) {
374
378
  __self: _this,
375
379
  __source: {
376
380
  fileName: _jsxFileName,
377
- lineNumber: 348,
381
+ lineNumber: 349,
378
382
  columnNumber: 5
379
383
  }
380
384
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_MessageContext","_MessagesContext","_ThemeContext","_Unknown","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","left","position","top","reactionBubble","alignItems","flexDirection","justifyContent","reactionBubbleBackground","Icon","_ref","_supportedReactions$f","pathFill","size","style","supportedReactions","type","ReactionIcon","find","reaction","Unknown","createElement","View","__self","__source","fileName","lineNumber","columnNumber","height","width","ReactionListWithContext","props","alignment","propFill","fill","message","messageContentWidth","onLongPress","onPress","onPressIn","preventPress","propRadius","radius","reactions","propReactionSize","reactionSize","showMessageOverlay","propStroke","stroke","propStrokeSize","strokeSize","targetedMessage","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","grey_gainsboro","grey_whisper","targetedMessageBackground","white","white_snow","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","avatarWrapper","leftAlign","spacer","_useTheme$theme$messa3","reactionList","middleIcon","themeRadius","themeReactionSize","themeStrokeSize","screenPadding","useWindowDimensions","supportedReactionTypes","map","supportedReaction","hasSupportedReactions","some","includes","alignmentLeft","highlighted","pinned","id","x1","Number","marginRight","x2","y1","y2","insideLeftBound","length","insideRightBound","testID","absoluteFill","Circle","cx","cy","r","backgroundColor","borderColor","borderRadius","borderWidth","TouchableOpacity","disabled","event","emitter","defaultHandler","own","areEqual","prevProps","nextProps","prevMessage","prevMessageContentWidth","prevTargetedMessage","nextMessage","nextMessageContentWidth","nextTargetedMessage","messageContentWidthEqual","messagePinnedEqual","targetedMessageEqual","latestReactionsEqual","Array","isArray","latest_reactions","every","_ref2","index","_nextMessage$latest_r","MemoizedReactionList","React","memo","ReactionList","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports"],"sources":["ReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';\n\nimport Svg, { Circle } from 'react-native-svg';\n\nimport {\n MessageContextValue,\n Reactions,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Unknown } from '../../../icons/Unknown';\n\nimport type { IconProps } from '../../../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ReactionData } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n left: 0,\n position: 'absolute',\n top: 0,\n },\n reactionBubble: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n position: 'absolute',\n },\n});\n\nexport type MessageReactions = {\n reactions: Reactions;\n supportedReactions?: ReactionData[];\n};\n\nconst Icon: React.FC<\n Pick<IconProps, 'pathFill' | 'style'> & {\n size: number;\n supportedReactions: ReactionData[];\n type: string;\n }\n> = ({ pathFill, size, style, supportedReactions, type }) => {\n const ReactionIcon =\n supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n\n return (\n <View>\n <ReactionIcon height={size} pathFill={pathFill} style={style} width={size} />\n </View>\n );\n};\n\nexport type ReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'reactions'\n | 'showMessageOverlay'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'targetedMessage'> & {\n messageContentWidth: number;\n supportedReactions: ReactionData[];\n fill?: string;\n radius?: number; // not recommended to change this\n reactionSize?: number;\n stroke?: string;\n strokeSize?: number; // not recommended to change this\n };\n\nconst ReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill: propFill,\n message,\n messageContentWidth,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n radius: propRadius,\n reactions,\n reactionSize: propReactionSize,\n showMessageOverlay,\n stroke: propStroke,\n strokeSize: propStrokeSize,\n supportedReactions,\n targetedMessage,\n } = props;\n\n const {\n theme: {\n colors: {\n accent_blue,\n grey,\n grey_gainsboro,\n grey_whisper,\n targetedMessageBackground,\n white,\n white_snow,\n },\n messageSimple: {\n avatarWrapper: { leftAlign, spacer },\n reactionList: {\n container,\n middleIcon,\n radius: themeRadius,\n reactionBubble,\n reactionBubbleBackground,\n reactionSize: themeReactionSize,\n strokeSize: themeStrokeSize,\n },\n },\n screenPadding,\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n const hasSupportedReactions = reactions.some((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n if (!hasSupportedReactions || messageContentWidth === 0) {\n return null;\n }\n\n const alignmentLeft = alignment === 'left';\n const fill = propFill || alignmentLeft ? grey_gainsboro : grey_whisper;\n const radius = propRadius || themeRadius;\n const reactionSize = propReactionSize || themeReactionSize;\n const highlighted = message.pinned || targetedMessage === message.id;\n const stroke = propStroke || (highlighted ? targetedMessageBackground : white_snow);\n const strokeSize = propStrokeSize || themeStrokeSize;\n\n const x1 = alignmentLeft\n ? messageContentWidth +\n (Number(leftAlign.marginRight) || 0) +\n (Number(spacer.width) || 0) -\n radius * 0.5\n : width - screenPadding * 2 - messageContentWidth;\n const x2 = x1 + radius * 2 * (alignmentLeft ? 1 : -1);\n const y1 = reactionSize + radius * 2;\n const y2 = reactionSize - radius;\n\n const insideLeftBound = x2 - (reactionSize * reactions.length) / 2 > screenPadding;\n const insideRightBound =\n x2 + strokeSize + (reactionSize * reactions.length) / 2 < width - screenPadding * 2;\n const left =\n reactions.length === 1\n ? x1 + (alignmentLeft ? -radius : radius - reactionSize)\n : !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding * 2 - reactionSize * reactions.length - strokeSize\n : x2 - (reactionSize * reactions.length) / 2 - strokeSize;\n\n return (\n <View\n style={[\n styles.container,\n {\n height: reactionSize + radius * 5,\n width,\n },\n container,\n ]}\n testID='reaction-list'\n >\n {reactions.length ? (\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle cx={x1} cy={y1} fill={stroke} r={radius + strokeSize * 3} />\n <Circle cx={x2} cy={y2} fill={stroke} r={radius * 2 + strokeSize * 3} />\n <Circle cx={x1} cy={y1} fill={fill} r={radius + strokeSize} />\n <Circle cx={x2} cy={y2} fill={fill} r={radius * 2 + strokeSize} />\n <Circle cx={x1} cy={y1} fill={alignmentLeft ? fill : white} r={radius} />\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderColor: fill,\n borderRadius: reactionSize,\n borderWidth: strokeSize,\n height: reactionSize,\n left,\n width: reactionSize * reactions.length,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n </View>\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderRadius: reactionSize - strokeSize * 2,\n height: reactionSize - strokeSize * 2,\n left: left + strokeSize,\n top: strokeSize,\n width: reactionSize * reactions.length - strokeSize * 2,\n },\n reactionBubble,\n ]}\n >\n {reactions.map((reaction) => (\n <Icon\n key={reaction.type}\n pathFill={reaction.own ? accent_blue : grey}\n size={reactionSize / 2}\n style={middleIcon}\n supportedReactions={supportedReactions}\n type={reaction.type}\n />\n ))}\n </TouchableOpacity>\n </View>\n ) : null}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n messageContentWidth: prevMessageContentWidth,\n targetedMessage: prevTargetedMessage,\n } = prevProps;\n const {\n message: nextMessage,\n messageContentWidth: nextMessageContentWidth,\n targetedMessage: nextTargetedMessage,\n } = nextProps;\n\n const messageContentWidthEqual = prevMessageContentWidth === nextMessageContentWidth;\n if (!messageContentWidthEqual) return false;\n\n const messagePinnedEqual = prevMessage.pinned === nextMessage.pinned;\n\n if (!messagePinnedEqual) return false;\n\n const targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;\n\n if (!targetedMessageEqual) 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 MemoizedReactionList = React.memo(\n ReactionListWithContext,\n areEqual,\n) as typeof ReactionListWithContext;\n\nexport type ReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>> &\n Pick<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>;\n\n/**\n * ReactionList - A high level component which implements all the logic required for a message reaction list\n */\nexport const ReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n } = useMessageContext<StreamChatGenerics>();\n const { supportedReactions, targetedMessage } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedReactionList\n {...{\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n supportedReactions,\n targetedMessage,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_MessageContext","_MessagesContext","_ThemeContext","_Unknown","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","left","position","top","reactionBubble","alignItems","flexDirection","justifyContent","reactionBubbleBackground","Icon","_ref","_supportedReactions$f","pathFill","size","style","supportedReactions","type","ReactionIcon","find","reaction","Unknown","createElement","View","__self","__source","fileName","lineNumber","columnNumber","height","width","ReactionListWithContext","props","alignment","propFill","fill","message","messageContentWidth","onLongPress","onPress","onPressIn","preventPress","propRadius","radius","reactions","propReactionSize","reactionSize","showMessageOverlay","propStroke","stroke","propStrokeSize","strokeSize","targetedMessage","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey","grey_gainsboro","grey_whisper","targetedMessageBackground","white","white_snow","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","avatarWrapper","leftAlign","spacer","_useTheme$theme$messa3","reactionList","middleIcon","themeRadius","themeReactionSize","themeStrokeSize","screenPadding","useWindowDimensions","supportedReactionTypes","map","supportedReaction","hasSupportedReactions","some","includes","alignmentLeft","highlighted","pinned","id","x1","Number","marginRight","x2","y1","y2","insideLeftBound","length","insideRightBound","pointerEvents","testID","absoluteFill","Circle","cx","cy","r","backgroundColor","borderColor","borderRadius","borderWidth","TouchableOpacity","disabled","event","emitter","defaultHandler","own","areEqual","prevProps","nextProps","prevMessage","prevMessageContentWidth","prevTargetedMessage","nextMessage","nextMessageContentWidth","nextTargetedMessage","messageContentWidthEqual","messagePinnedEqual","targetedMessageEqual","latestReactionsEqual","Array","isArray","latest_reactions","every","_ref2","index","_nextMessage$latest_r","MemoizedReactionList","React","memo","ReactionList","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports"],"sources":["ReactionList.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';\n\nimport Svg, { Circle } from 'react-native-svg';\n\nimport {\n MessageContextValue,\n Reactions,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { Unknown } from '../../../icons/Unknown';\n\nimport type { IconProps } from '../../../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ReactionData } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n left: 0,\n position: 'absolute',\n top: 0,\n },\n reactionBubble: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n position: 'absolute',\n },\n});\n\nexport type MessageReactions = {\n reactions: Reactions;\n supportedReactions?: ReactionData[];\n};\n\nconst Icon: React.FC<\n Pick<IconProps, 'pathFill' | 'style'> & {\n size: number;\n supportedReactions: ReactionData[];\n type: string;\n }\n> = ({ pathFill, size, style, supportedReactions, type }) => {\n const ReactionIcon =\n supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n\n return (\n <View>\n <ReactionIcon height={size} pathFill={pathFill} style={style} width={size} />\n </View>\n );\n};\n\nexport type ReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'reactions'\n | 'showMessageOverlay'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'targetedMessage'> & {\n messageContentWidth: number;\n supportedReactions: ReactionData[];\n fill?: string;\n radius?: number; // not recommended to change this\n reactionSize?: number;\n stroke?: string;\n strokeSize?: number; // not recommended to change this\n };\n\nconst ReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill: propFill,\n message,\n messageContentWidth,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n radius: propRadius,\n reactions,\n reactionSize: propReactionSize,\n showMessageOverlay,\n stroke: propStroke,\n strokeSize: propStrokeSize,\n supportedReactions,\n targetedMessage,\n } = props;\n\n const {\n theme: {\n colors: {\n accent_blue,\n grey,\n grey_gainsboro,\n grey_whisper,\n targetedMessageBackground,\n white,\n white_snow,\n },\n messageSimple: {\n avatarWrapper: { leftAlign, spacer },\n reactionList: {\n container,\n middleIcon,\n radius: themeRadius,\n reactionBubble,\n reactionBubbleBackground,\n reactionSize: themeReactionSize,\n strokeSize: themeStrokeSize,\n },\n },\n screenPadding,\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n const hasSupportedReactions = reactions.some((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n if (!hasSupportedReactions || messageContentWidth === 0) {\n return null;\n }\n\n const alignmentLeft = alignment === 'left';\n const fill = propFill || alignmentLeft ? grey_gainsboro : grey_whisper;\n const radius = propRadius || themeRadius;\n const reactionSize = propReactionSize || themeReactionSize;\n const highlighted = message.pinned || targetedMessage === message.id;\n const stroke = propStroke || (highlighted ? targetedMessageBackground : white_snow);\n const strokeSize = propStrokeSize || themeStrokeSize;\n\n const x1 = alignmentLeft\n ? messageContentWidth +\n (Number(leftAlign.marginRight) || 0) +\n (Number(spacer.width) || 0) -\n radius * 0.5\n : width - screenPadding * 2 - messageContentWidth;\n const x2 = x1 + radius * 2 * (alignmentLeft ? 1 : -1);\n const y1 = reactionSize + radius * 2;\n const y2 = reactionSize - radius;\n\n const insideLeftBound = x2 - (reactionSize * reactions.length) / 2 > screenPadding;\n const insideRightBound =\n x2 + strokeSize + (reactionSize * reactions.length) / 2 < width - screenPadding * 2;\n const left =\n reactions.length === 1\n ? x1 + (alignmentLeft ? -radius : radius - reactionSize)\n : !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding * 2 - reactionSize * reactions.length - strokeSize\n : x2 - (reactionSize * reactions.length) / 2 - strokeSize;\n\n return (\n <View\n pointerEvents='box-none'\n style={[\n styles.container,\n {\n height: reactionSize + radius * 5,\n width,\n },\n container,\n ]}\n testID='reaction-list'\n >\n {reactions.length ? (\n <View pointerEvents='box-none' style={[StyleSheet.absoluteFill]}>\n <Svg pointerEvents='none'>\n <Circle cx={x1} cy={y1} fill={stroke} r={radius + strokeSize * 3} />\n <Circle cx={x2} cy={y2} fill={stroke} r={radius * 2 + strokeSize * 3} />\n <Circle cx={x1} cy={y1} fill={fill} r={radius + strokeSize} />\n <Circle cx={x2} cy={y2} fill={fill} r={radius * 2 + strokeSize} />\n <Circle cx={x1} cy={y1} fill={alignmentLeft ? fill : white} r={radius} />\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderColor: fill,\n borderRadius: reactionSize,\n borderWidth: strokeSize,\n height: reactionSize,\n left,\n width: reactionSize * reactions.length,\n },\n reactionBubbleBackground,\n ]}\n />\n <View pointerEvents='none' style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle cx={x2} cy={y2} fill={alignmentLeft ? fill : white} r={radius * 2} />\n </Svg>\n </View>\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: () => showMessageOverlay(true),\n emitter: 'reactionList',\n event,\n });\n }\n }}\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignmentLeft ? fill : white,\n borderRadius: reactionSize - strokeSize * 2,\n height: reactionSize - strokeSize * 2,\n left: left + strokeSize,\n top: strokeSize,\n width: reactionSize * reactions.length - strokeSize * 2,\n },\n reactionBubble,\n ]}\n >\n {reactions.map((reaction) => (\n <Icon\n key={reaction.type}\n pathFill={reaction.own ? accent_blue : grey}\n size={reactionSize / 2}\n style={middleIcon}\n supportedReactions={supportedReactions}\n type={reaction.type}\n />\n ))}\n </TouchableOpacity>\n </View>\n ) : null}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: ReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n messageContentWidth: prevMessageContentWidth,\n targetedMessage: prevTargetedMessage,\n } = prevProps;\n const {\n message: nextMessage,\n messageContentWidth: nextMessageContentWidth,\n targetedMessage: nextTargetedMessage,\n } = nextProps;\n\n const messageContentWidthEqual = prevMessageContentWidth === nextMessageContentWidth;\n if (!messageContentWidthEqual) return false;\n\n const messagePinnedEqual = prevMessage.pinned === nextMessage.pinned;\n\n if (!messagePinnedEqual) return false;\n\n const targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;\n\n if (!targetedMessageEqual) 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 MemoizedReactionList = React.memo(\n ReactionListWithContext,\n areEqual,\n) as typeof ReactionListWithContext;\n\nexport type ReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>> &\n Pick<ReactionListPropsWithContext<StreamChatGenerics>, 'messageContentWidth'>;\n\n/**\n * ReactionList - A high level component which implements all the logic required for a message reaction list\n */\nexport const ReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionListProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n } = useMessageContext<StreamChatGenerics>();\n const { supportedReactions, targetedMessage } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedReactionList\n {...{\n alignment,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n reactions,\n showMessageOverlay,\n supportedReactions,\n targetedMessage,\n }}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAC,uBAAA,CAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAKA,IAAAK,gBAAA,GAAAL,OAAA;AAIA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AAAiD,IAAAQ,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,SAAAR,wBAAAY,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;AAMjD,IAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE;EACP,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BL,QAAQ,EAAE;EACZ,CAAC;EACDM,wBAAwB,EAAE;IACxBN,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAOF,IAAMO,IAML,GAAG,SANEA,IAMLA,CAAAC,IAAA,EAA4D;EAAA,IAAAC,qBAAA;EAAA,IAAtDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAAEC,IAAI,GAAAN,IAAA,CAAJM,IAAI;EACpD,IAAMC,YAAY,GAChB,EAAAN,qBAAA,GAAAI,kBAAkB,CAACG,IAAI,CAAC,UAACC,QAAQ;IAAA,OAAKA,QAAQ,CAACH,IAAI,KAAKA,IAAI;EAAA,EAAC,qBAA7DL,qBAAA,CAA+DF,IAAI,KAAIW,gBAAO;EAEhF,OACEzD,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IAAAC,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GACHhE,MAAA,YAAA0D,aAAA,CAACJ,YAAY;IAACW,MAAM,EAAEf,IAAK;IAACD,QAAQ,EAAEA,QAAS;IAACE,KAAK,EAAEA,KAAM;IAACe,KAAK,EAAEhB,IAAK;IAAAU,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACxE,CAAC;AAEX,CAAC;AAyBD,IAAMG,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAG3BC,KAAuD,EACpD;EACH,IACEC,SAAS,GAgBPD,KAAK,CAhBPC,SAAS;IACHC,QAAQ,GAeZF,KAAK,CAfPG,IAAI;IACJC,OAAO,GAcLJ,KAAK,CAdPI,OAAO;IACPC,mBAAmB,GAajBL,KAAK,CAbPK,mBAAmB;IACnBC,YAAW,GAYTN,KAAK,CAZPM,WAAW;IACXC,QAAO,GAWLP,KAAK,CAXPO,OAAO;IACPC,UAAS,GAUPR,KAAK,CAVPQ,SAAS;IACTC,YAAY,GASVT,KAAK,CATPS,YAAY;IACJC,UAAU,GAQhBV,KAAK,CARPW,MAAM;IACNC,SAAS,GAOPZ,KAAK,CAPPY,SAAS;IACKC,gBAAgB,GAM5Bb,KAAK,CANPc,YAAY;IACZC,kBAAkB,GAKhBf,KAAK,CALPe,kBAAkB;IACVC,UAAU,GAIhBhB,KAAK,CAJPiB,MAAM;IACMC,cAAc,GAGxBlB,KAAK,CAHPmB,UAAU;IACVnC,kBAAkB,GAEhBgB,KAAK,CAFPhB,kBAAkB;IAClBoC,eAAe,GACbpB,KAAK,CADPoB,eAAe;EAGjB,IAAAC,SAAA,GAyBI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CAxBZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IACJC,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IACXC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;IACJC,cAAc,GAAAJ,qBAAA,CAAdI,cAAc;IACdC,YAAY,GAAAL,qBAAA,CAAZK,YAAY;IACZC,yBAAyB,GAAAN,qBAAA,CAAzBM,yBAAyB;IACzBC,KAAK,GAAAP,qBAAA,CAALO,KAAK;IACLC,UAAU,GAAAR,qBAAA,CAAVQ,UAAU;IAAAC,qBAAA,GAAAX,eAAA,CAEZY,aAAa;IAAAC,sBAAA,GAAAF,qBAAA,CACXG,aAAa;IAAIC,SAAS,GAAAF,sBAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,sBAAA,CAANG,MAAM;IAAAC,sBAAA,GAAAN,qBAAA,CAClCO,YAAY;IACVxE,SAAS,GAAAuE,sBAAA,CAATvE,SAAS;IACTyE,UAAU,GAAAF,sBAAA,CAAVE,UAAU;IACFC,WAAW,GAAAH,sBAAA,CAAnB7B,MAAM;IACNtC,cAAc,GAAAmE,sBAAA,CAAdnE,cAAc;IACdI,wBAAwB,GAAA+D,sBAAA,CAAxB/D,wBAAwB;IACVmE,iBAAiB,GAAAJ,sBAAA,CAA/B1B,YAAY;IACA+B,eAAe,GAAAL,sBAAA,CAA3BrB,UAAU;IAGd2B,aAAa,GAAAvB,eAAA,CAAbuB,aAAa;EAIjB,IAAMhD,KAAK,GAAG,IAAAiD,gCAAmB,EAAC,CAAC,CAACjD,KAAK;EAEzC,IAAMkD,sBAAsB,GAAGhE,kBAAkB,CAACiE,GAAG,CACnD,UAACC,iBAAiB;IAAA,OAAKA,iBAAiB,CAACjE,IAAI;EAAA,CAC/C,CAAC;EACD,IAAMkE,qBAAqB,GAAGvC,SAAS,CAACwC,IAAI,CAAC,UAAChE,QAAQ;IAAA,OACpD4D,sBAAsB,CAACK,QAAQ,CAACjE,QAAQ,CAACH,IAAI,CAAC;EAAA,CAChD,CAAC;EAED,IAAI,CAACkE,qBAAqB,IAAI9C,mBAAmB,KAAK,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,IAAMiD,aAAa,GAAGrD,SAAS,KAAK,MAAM;EAC1C,IAAME,IAAI,GAAGD,QAAQ,IAAIoD,aAAa,GAAGzB,cAAc,GAAGC,YAAY;EACtE,IAAMnB,MAAM,GAAGD,UAAU,IAAIiC,WAAW;EACxC,IAAM7B,YAAY,GAAGD,gBAAgB,IAAI+B,iBAAiB;EAC1D,IAAMW,WAAW,GAAGnD,OAAO,CAACoD,MAAM,IAAIpC,eAAe,KAAKhB,OAAO,CAACqD,EAAE;EACpE,IAAMxC,MAAM,GAAGD,UAAU,KAAKuC,WAAW,GAAGxB,yBAAyB,GAAGE,UAAU,CAAC;EACnF,IAAMd,UAAU,GAAGD,cAAc,IAAI2B,eAAe;EAEpD,IAAMa,EAAE,GAAGJ,aAAa,GACpBjD,mBAAmB,IAClBsD,MAAM,CAACrB,SAAS,CAACsB,WAAW,CAAC,IAAI,CAAC,CAAC,IACnCD,MAAM,CAACpB,MAAM,CAACzC,KAAK,CAAC,IAAI,CAAC,CAAC,GAC3Ba,MAAM,GAAG,GAAG,GACZb,KAAK,GAAGgD,aAAa,GAAG,CAAC,GAAGzC,mBAAmB;EACnD,IAAMwD,EAAE,GAAGH,EAAE,GAAG/C,MAAM,GAAG,CAAC,IAAI2C,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACrD,IAAMQ,EAAE,GAAGhD,YAAY,GAAGH,MAAM,GAAG,CAAC;EACpC,IAAMoD,EAAE,GAAGjD,YAAY,GAAGH,MAAM;EAEhC,IAAMqD,eAAe,GAAGH,EAAE,GAAI/C,YAAY,GAAGF,SAAS,CAACqD,MAAM,GAAI,CAAC,GAAGnB,aAAa;EAClF,IAAMoB,gBAAgB,GACpBL,EAAE,GAAG1C,UAAU,GAAIL,YAAY,GAAGF,SAAS,CAACqD,MAAM,GAAI,CAAC,GAAGnE,KAAK,GAAGgD,aAAa,GAAG,CAAC;EACrF,IAAM5E,IAAI,GACR0C,SAAS,CAACqD,MAAM,KAAK,CAAC,GAClBP,EAAE,IAAIJ,aAAa,GAAG,CAAC3C,MAAM,GAAGA,MAAM,GAAGG,YAAY,CAAC,GACtD,CAACkD,eAAe,GAChBlB,aAAa,GACb,CAACoB,gBAAgB,GACjBpE,KAAK,GAAGgD,aAAa,GAAG,CAAC,GAAGhC,YAAY,GAAGF,SAAS,CAACqD,MAAM,GAAG9C,UAAU,GACxE0C,EAAE,GAAI/C,YAAY,GAAGF,SAAS,CAACqD,MAAM,GAAI,CAAC,GAAG9C,UAAU;EAE7D,OACEvF,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IACH4E,aAAa,EAAC,UAAU;IACxBpF,KAAK,EAAE,CACLjB,MAAM,CAACG,SAAS,EAChB;MACE4B,MAAM,EAAEiB,YAAY,GAAGH,MAAM,GAAG,CAAC;MACjCb,KAAK,EAALA;IACF,CAAC,EACD7B,SAAS,CACT;IACFmG,MAAM,EAAC,eAAe;IAAA5E,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAErBgB,SAAS,CAACqD,MAAM,GACfrI,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IAAC4E,aAAa,EAAC,UAAU;IAACpF,KAAK,EAAE,CAAChB,uBAAU,CAACsG,YAAY,CAAE;IAAA7E,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC9DhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,WAAG;IAACmI,aAAa,EAAC,MAAM;IAAA3E,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GACvBhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEb,EAAG;IAACc,EAAE,EAAEV,EAAG;IAAC3D,IAAI,EAAEc,MAAO;IAACwD,CAAC,EAAE9D,MAAM,GAAGQ,UAAU,GAAG,CAAE;IAAA3B,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACpEhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEV,EAAG;IAACW,EAAE,EAAET,EAAG;IAAC5D,IAAI,EAAEc,MAAO;IAACwD,CAAC,EAAE9D,MAAM,GAAG,CAAC,GAAGQ,UAAU,GAAG,CAAE;IAAA3B,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACxEhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEb,EAAG;IAACc,EAAE,EAAEV,EAAG;IAAC3D,IAAI,EAAEA,IAAK;IAACsE,CAAC,EAAE9D,MAAM,GAAGQ,UAAW;IAAA3B,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAC9DhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEV,EAAG;IAACW,EAAE,EAAET,EAAG;IAAC5D,IAAI,EAAEA,IAAK;IAACsE,CAAC,EAAE9D,MAAM,GAAG,CAAC,GAAGQ,UAAW;IAAA3B,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAClEhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEb,EAAG;IAACc,EAAE,EAAEV,EAAG;IAAC3D,IAAI,EAAEmD,aAAa,GAAGnD,IAAI,GAAG6B,KAAM;IAACyC,CAAC,EAAE9D,MAAO;IAAAnB,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACzEhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEV,EAAG;IAACW,EAAE,EAAET,EAAG;IAAC5D,IAAI,EAAEmD,aAAa,GAAGnD,IAAI,GAAG6B,KAAM;IAACyC,CAAC,EAAE9D,MAAM,GAAG,CAAE;IAAAnB,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACzE,CAAC,EACNhE,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IACHR,KAAK,EAAE,CACLjB,MAAM,CAACW,wBAAwB,EAC/B;MACEiG,eAAe,EAAEpB,aAAa,GAAGnD,IAAI,GAAG6B,KAAK;MAC7C2C,WAAW,EAAExE,IAAI;MACjByE,YAAY,EAAE9D,YAAY;MAC1B+D,WAAW,EAAE1D,UAAU;MACvBtB,MAAM,EAAEiB,YAAY;MACpB5C,IAAI,EAAJA,IAAI;MACJ4B,KAAK,EAAEgB,YAAY,GAAGF,SAAS,CAACqD;IAClC,CAAC,EACDxF,wBAAwB,CACxB;IAAAe,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CAAC,EACFhE,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAAwD,IAAI;IAAC4E,aAAa,EAAC,MAAM;IAACpF,KAAK,EAAE,CAAChB,uBAAU,CAACsG,YAAY,CAAE;IAAA7E,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC1DhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,WAAG;IAAAwD,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GACFhE,MAAA,YAAA0D,aAAA,CAACtD,eAAA,CAAAsI,MAAM;IAACC,EAAE,EAAEV,EAAG;IAACW,EAAE,EAAET,EAAG;IAAC5D,IAAI,EAAEmD,aAAa,GAAGnD,IAAI,GAAG6B,KAAM;IAACyC,CAAC,EAAE9D,MAAM,GAAG,CAAE;IAAAnB,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACzE,CACD,CAAC,EACPhE,MAAA,YAAA0D,aAAA,CAACvD,YAAA,CAAA+I,gBAAgB;IACfC,QAAQ,EAAEtE,YAAa;IACvBH,WAAW,EAAE,SAAAA,YAAC0E,KAAK,EAAK;MACtB,IAAI1E,YAAW,EAAE;QACfA,YAAW,CAAC;UACV2E,OAAO,EAAE,cAAc;UACvBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFzE,OAAO,EAAE,SAAAA,QAACyE,KAAK,EAAK;MAClB,IAAIzE,QAAO,EAAE;QACXA,QAAO,CAAC;UACN2E,cAAc,EAAE,SAAAA,eAAA;YAAA,OAAMnE,kBAAkB,CAAC,IAAI,CAAC;UAAA;UAC9CkE,OAAO,EAAE,cAAc;UACvBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFxE,SAAS,EAAE,SAAAA,UAACwE,KAAK,EAAK;MACpB,IAAIxE,UAAS,EAAE;QACbA,UAAS,CAAC;UACR0E,cAAc,EAAE,SAAAA,eAAA;YAAA,OAAMnE,kBAAkB,CAAC,IAAI,CAAC;UAAA;UAC9CkE,OAAO,EAAE,cAAc;UACvBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFjG,KAAK,EAAE,CACLjB,MAAM,CAACO,cAAc,EACrB;MACEqG,eAAe,EAAEpB,aAAa,GAAGnD,IAAI,GAAG6B,KAAK;MAC7C4C,YAAY,EAAE9D,YAAY,GAAGK,UAAU,GAAG,CAAC;MAC3CtB,MAAM,EAAEiB,YAAY,GAAGK,UAAU,GAAG,CAAC;MACrCjD,IAAI,EAAEA,IAAI,GAAGiD,UAAU;MACvB/C,GAAG,EAAE+C,UAAU;MACfrB,KAAK,EAAEgB,YAAY,GAAGF,SAAS,CAACqD,MAAM,GAAG9C,UAAU,GAAG;IACxD,CAAC,EACD9C,cAAc,CACd;IAAAmB,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEDgB,SAAS,CAACqC,GAAG,CAAC,UAAC7D,QAAQ;IAAA,OACtBxD,MAAA,YAAA0D,aAAA,CAACZ,IAAI;MACHlB,GAAG,EAAE4B,QAAQ,CAACH,IAAK;MACnBJ,QAAQ,EAAEO,QAAQ,CAAC+F,GAAG,GAAGxD,WAAW,GAAGC,IAAK;MAC5C9C,IAAI,EAAEgC,YAAY,GAAG,CAAE;MACvB/B,KAAK,EAAE2D,UAAW;MAClB1D,kBAAkB,EAAEA,kBAAmB;MACvCC,IAAI,EAAEG,QAAQ,CAACH,IAAK;MAAAO,MAAA,EAAAlD,KAAA;MAAAmD,QAAA;QAAAC,QAAA,EAAAnD,YAAA;QAAAoD,UAAA;QAAAC,YAAA;MAAA;IAAA,CACrB,CAAC;EAAA,CACH,CACe,CACd,CAAC,GACL,IACA,CAAC;AAEX,CAAC;AAED,IAAMwF,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA2D,EAC3DC,SAA2D,EACxD;EACH,IACWC,WAAW,GAGlBF,SAAS,CAHXjF,OAAO;IACcoF,uBAAuB,GAE1CH,SAAS,CAFXhF,mBAAmB;IACFoF,mBAAmB,GAClCJ,SAAS,CADXjE,eAAe;EAEjB,IACWsE,WAAW,GAGlBJ,SAAS,CAHXlF,OAAO;IACcuF,uBAAuB,GAE1CL,SAAS,CAFXjF,mBAAmB;IACFuF,mBAAmB,GAClCN,SAAS,CADXlE,eAAe;EAGjB,IAAMyE,wBAAwB,GAAGL,uBAAuB,KAAKG,uBAAuB;EACpF,IAAI,CAACE,wBAAwB,EAAE,OAAO,KAAK;EAE3C,IAAMC,kBAAkB,GAAGP,WAAW,CAAC/B,MAAM,KAAKkC,WAAW,CAAClC,MAAM;EAEpE,IAAI,CAACsC,kBAAkB,EAAE,OAAO,KAAK;EAErC,IAAMC,oBAAoB,GAAGN,mBAAmB,KAAKG,mBAAmB;EAExE,IAAI,CAACG,oBAAoB,EAAE,OAAO,KAAK;EAEvC,IAAMC,oBAAoB,GACxBC,KAAK,CAACC,OAAO,CAACX,WAAW,CAACY,gBAAgB,CAAC,IAAIF,KAAK,CAACC,OAAO,CAACR,WAAW,CAACS,gBAAgB,CAAC,GACtFZ,WAAW,CAACY,gBAAgB,CAAClC,MAAM,KAAKyB,WAAW,CAACS,gBAAgB,CAAClC,MAAM,IAC3EsB,WAAW,CAACY,gBAAgB,CAACC,KAAK,CAChC,UAAAC,KAAA,EAAWC,KAAK;IAAA,IAAAC,qBAAA;IAAA,IAAbtH,IAAI,GAAAoH,KAAA,CAAJpH,IAAI;IAAA,OAAcA,IAAI,OAAAsH,qBAAA,GAAKb,WAAW,CAACS,gBAAgB,qBAA5BI,qBAAA,CAA+BD,KAAK,CAAC,CAACrH,IAAI;EAAA,CAC1E,CAAC,GACDsG,WAAW,CAACY,gBAAgB,KAAKT,WAAW,CAACS,gBAAgB;EACnE,IAAI,CAACH,oBAAoB,EAAE,OAAO,KAAK;EAEvC,OAAO,IAAI;AACb,CAAC;AAED,IAAMQ,oBAAoB,GAAGC,iBAAK,CAACC,IAAI,CACrC3G,uBAAuB,EACvBqF,QACF,CAAmC;AAU5B,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,CAGvB3G,KAA4C,EACzC;EACH,IAAA4G,kBAAA,GASI,IAAAC,iCAAiB,EAAqB,CAAC;IARzC5G,SAAS,GAAA2G,kBAAA,CAAT3G,SAAS;IACTG,OAAO,GAAAwG,kBAAA,CAAPxG,OAAO;IACPE,WAAW,GAAAsG,kBAAA,CAAXtG,WAAW;IACXC,OAAO,GAAAqG,kBAAA,CAAPrG,OAAO;IACPC,SAAS,GAAAoG,kBAAA,CAATpG,SAAS;IACTC,YAAY,GAAAmG,kBAAA,CAAZnG,YAAY;IACZG,SAAS,GAAAgG,kBAAA,CAAThG,SAAS;IACTG,kBAAkB,GAAA6F,kBAAA,CAAlB7F,kBAAkB;EAEpB,IAAA+F,mBAAA,GAAgD,IAAAC,mCAAkB,EAAqB,CAAC;IAAhF/H,kBAAkB,GAAA8H,mBAAA,CAAlB9H,kBAAkB;IAAEoC,eAAe,GAAA0F,mBAAA,CAAf1F,eAAe;EAE3C,OACExF,MAAA,YAAA0D,aAAA,CAACkH,oBAAoB,MAAAQ,SAAA;IAEjB/G,SAAS,EAATA,SAAS;IACTG,OAAO,EAAPA,OAAO;IACPE,WAAW,EAAXA,WAAW;IACXC,OAAO,EAAPA,OAAO;IACPC,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA,YAAY;IACZG,SAAS,EAATA,SAAS;IACTG,kBAAkB,EAAlBA,kBAAkB;IAClB/B,kBAAkB,EAAlBA,kBAAkB;IAClBoC,eAAe,EAAfA;EAAe,GAEbpB,KAAK;IAAAR,MAAA,EAAAlD,KAAA;IAAAmD,QAAA;MAAAC,QAAA,EAAAnD,YAAA;MAAAoD,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACqH,OAAA,CAAAN,YAAA,GAAAA,YAAA"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.18.0-beta.1"
2
+ "version": "5.18.0-beta.3"
3
3
  }