@droppii-org/chat-mobile 0.2.81 → 0.2.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/lib/module/components/ThreadCard/MentionBadge.js +24 -0
  2. package/lib/module/components/ThreadCard/MentionBadge.js.map +1 -0
  3. package/lib/module/components/ThreadCard/ThreadCard.js +5 -1
  4. package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
  5. package/lib/module/components/messages/linkMessage/LinkPreviewCard.js +67 -0
  6. package/lib/module/components/messages/linkMessage/LinkPreviewCard.js.map +1 -0
  7. package/lib/module/components/messages/linkMessage/index.js +49 -92
  8. package/lib/module/components/messages/linkMessage/index.js.map +1 -1
  9. package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js +152 -0
  10. package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js.map +1 -0
  11. package/lib/module/components/messages/quotedMessage/index.js +79 -55
  12. package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
  13. package/lib/module/components/messages/stickerMessage/index.js +38 -13
  14. package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
  15. package/lib/module/components/messages/textMessage/index.js +126 -13
  16. package/lib/module/components/messages/textMessage/index.js.map +1 -1
  17. package/lib/module/components/messages/types.js.map +1 -1
  18. package/lib/module/core/useChatListener.js +1 -1
  19. package/lib/module/core/useChatListener.js.map +1 -1
  20. package/lib/module/hooks/message/useSendMessage.js +64 -3
  21. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  22. package/lib/module/hooks/query-keys.js +4 -0
  23. package/lib/module/hooks/query-keys.js.map +1 -1
  24. package/lib/module/hooks/useChatCompose.js +3 -2
  25. package/lib/module/hooks/useChatCompose.js.map +1 -1
  26. package/lib/module/screens/chat-detail/ChatComposer.js +170 -48
  27. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  28. package/lib/module/screens/chat-detail/ChatListLegend.js +16 -7
  29. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  30. package/lib/module/screens/chat-detail/components/ChatMessageInput.js +23 -2
  31. package/lib/module/screens/chat-detail/components/ChatMessageInput.js.map +1 -1
  32. package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js +51 -0
  33. package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js.map +1 -0
  34. package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js +49 -0
  35. package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js.map +1 -0
  36. package/lib/module/screens/chat-detail/components/MentionSuggestionList.js +114 -0
  37. package/lib/module/screens/chat-detail/components/MentionSuggestionList.js.map +1 -0
  38. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js +8 -0
  39. package/lib/module/screens/chat-detail/hooks/useChatComposerState.js.map +1 -1
  40. package/lib/module/screens/chat-detail/hooks/useMentionComposer.js +251 -0
  41. package/lib/module/screens/chat-detail/hooks/useMentionComposer.js.map +1 -0
  42. package/lib/module/screens/chat-detail/legend/LegendChatDay.js +4 -9
  43. package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
  44. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +14 -2
  45. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  46. package/lib/module/services/mentionSearch.js +49 -0
  47. package/lib/module/services/mentionSearch.js.map +1 -0
  48. package/lib/module/services/message.js +6 -1
  49. package/lib/module/services/message.js.map +1 -1
  50. package/lib/module/translation/resources/i18n.js +5 -0
  51. package/lib/module/translation/resources/i18n.js.map +1 -1
  52. package/lib/module/types/chat.js.map +1 -1
  53. package/lib/module/types/mention.js +2 -0
  54. package/lib/module/types/mention.js.map +1 -0
  55. package/lib/module/utils/legendListMessage.js +9 -1
  56. package/lib/module/utils/legendListMessage.js.map +1 -1
  57. package/lib/module/utils/mentionSerializer.js +113 -0
  58. package/lib/module/utils/mentionSerializer.js.map +1 -0
  59. package/lib/module/utils/mentions/index.js +7 -0
  60. package/lib/module/utils/mentions/index.js.map +1 -0
  61. package/lib/module/utils/mentions/mentionDetector.js +49 -0
  62. package/lib/module/utils/mentions/mentionDetector.js.map +1 -0
  63. package/lib/module/utils/mentions/mentionDiff.js +66 -0
  64. package/lib/module/utils/mentions/mentionDiff.js.map +1 -0
  65. package/lib/module/utils/mentions/mentionRange.js +188 -0
  66. package/lib/module/utils/mentions/mentionRange.js.map +1 -0
  67. package/lib/module/utils/mentions/mentionTokenize.js +50 -0
  68. package/lib/module/utils/mentions/mentionTokenize.js.map +1 -0
  69. package/lib/module/utils/messageUtils.js +6 -1
  70. package/lib/module/utils/messageUtils.js.map +1 -1
  71. package/lib/module/utils/url.js +33 -0
  72. package/lib/module/utils/url.js.map +1 -1
  73. package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts +7 -0
  74. package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts.map +1 -0
  75. package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
  76. package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts +16 -0
  77. package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts.map +1 -0
  78. package/lib/typescript/src/components/messages/linkMessage/index.d.ts +2 -2
  79. package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
  80. package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts +13 -0
  81. package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts.map +1 -0
  82. package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
  83. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +2 -2
  84. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
  85. package/lib/typescript/src/components/messages/textMessage/index.d.ts +4 -2
  86. package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
  87. package/lib/typescript/src/components/messages/types.d.ts +1 -0
  88. package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
  89. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +5 -2
  90. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  91. package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
  92. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  93. package/lib/typescript/src/hooks/useChatCompose.d.ts +2 -1
  94. package/lib/typescript/src/hooks/useChatCompose.d.ts.map +1 -1
  95. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  96. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  97. package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts +10 -2
  98. package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts.map +1 -1
  99. package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts +29 -0
  100. package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts.map +1 -0
  101. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts +8 -0
  102. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts.map +1 -0
  103. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts +12 -0
  104. package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts.map +1 -0
  105. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts +1 -1
  106. package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts.map +1 -1
  107. package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts +48 -0
  108. package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts.map +1 -0
  109. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
  110. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +2 -1
  111. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  112. package/lib/typescript/src/services/mentionSearch.d.ts +15 -0
  113. package/lib/typescript/src/services/mentionSearch.d.ts.map +1 -0
  114. package/lib/typescript/src/services/message.d.ts +1 -1
  115. package/lib/typescript/src/services/message.d.ts.map +1 -1
  116. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  117. package/lib/typescript/src/types/chat.d.ts +23 -0
  118. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  119. package/lib/typescript/src/types/mention.d.ts +65 -0
  120. package/lib/typescript/src/types/mention.d.ts.map +1 -0
  121. package/lib/typescript/src/utils/legendListMessage.d.ts +4 -3
  122. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  123. package/lib/typescript/src/utils/mentionSerializer.d.ts +78 -0
  124. package/lib/typescript/src/utils/mentionSerializer.d.ts.map +1 -0
  125. package/lib/typescript/src/utils/mentions/index.d.ts +5 -0
  126. package/lib/typescript/src/utils/mentions/index.d.ts.map +1 -0
  127. package/lib/typescript/src/utils/mentions/mentionDetector.d.ts +18 -0
  128. package/lib/typescript/src/utils/mentions/mentionDetector.d.ts.map +1 -0
  129. package/lib/typescript/src/utils/mentions/mentionDiff.d.ts +20 -0
  130. package/lib/typescript/src/utils/mentions/mentionDiff.d.ts.map +1 -0
  131. package/lib/typescript/src/utils/mentions/mentionRange.d.ts +86 -0
  132. package/lib/typescript/src/utils/mentions/mentionRange.d.ts.map +1 -0
  133. package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts +29 -0
  134. package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts.map +1 -0
  135. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  136. package/lib/typescript/src/utils/url.d.ts +12 -0
  137. package/lib/typescript/src/utils/url.d.ts.map +1 -1
  138. package/package.json +1 -1
  139. package/src/components/ThreadCard/MentionBadge.tsx +28 -0
  140. package/src/components/ThreadCard/ThreadCard.tsx +3 -0
  141. package/src/components/messages/linkMessage/LinkPreviewCard.tsx +92 -0
  142. package/src/components/messages/linkMessage/index.tsx +64 -121
  143. package/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.tsx +168 -0
  144. package/src/components/messages/quotedMessage/index.tsx +95 -64
  145. package/src/components/messages/stickerMessage/index.tsx +40 -11
  146. package/src/components/messages/textMessage/index.tsx +159 -17
  147. package/src/components/messages/types.ts +1 -0
  148. package/src/core/useChatListener.ts +1 -1
  149. package/src/hooks/message/useSendMessage.ts +60 -1
  150. package/src/hooks/query-keys.ts +6 -0
  151. package/src/hooks/useChatCompose.ts +115 -107
  152. package/src/screens/chat-detail/ChatComposer.tsx +201 -67
  153. package/src/screens/chat-detail/ChatListLegend.tsx +19 -4
  154. package/src/screens/chat-detail/components/ChatMessageInput.tsx +35 -2
  155. package/src/screens/chat-detail/components/MentionHighlightAdapter.tsx +57 -0
  156. package/src/screens/chat-detail/components/MentionSuggestionItem.tsx +53 -0
  157. package/src/screens/chat-detail/components/MentionSuggestionList.tsx +133 -0
  158. package/src/screens/chat-detail/hooks/useChatComposerState.ts +7 -1
  159. package/src/screens/chat-detail/hooks/useMentionComposer.ts +344 -0
  160. package/src/screens/chat-detail/legend/LegendChatDay.tsx +6 -9
  161. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +25 -2
  162. package/src/services/mentionSearch.ts +57 -0
  163. package/src/services/message.ts +9 -1
  164. package/src/translation/resources/i18n.ts +6 -0
  165. package/src/types/chat.ts +22 -0
  166. package/src/types/mention.ts +70 -0
  167. package/src/utils/legendListMessage.ts +13 -4
  168. package/src/utils/mentionSerializer.ts +155 -0
  169. package/src/utils/mentions/index.ts +16 -0
  170. package/src/utils/mentions/mentionDetector.ts +58 -0
  171. package/src/utils/mentions/mentionDiff.ts +95 -0
  172. package/src/utils/mentions/mentionRange.ts +207 -0
  173. package/src/utils/mentions/mentionTokenize.ts +53 -0
  174. package/src/utils/messageUtils.ts +6 -1
  175. package/src/utils/url.ts +30 -0
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { KLabel, KColors } from '@droppii/libs';
5
+ import { GroupAtType } from '@droppii/openim-rn-client-sdk';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ // Figma (node 15177-302069): "@" renders as a standalone bold glyph, no
8
+ // background — same color token as the composer/bubble mention highlight
9
+ // (KColors.palette.primary.w400), not a new one-off value.
10
+ export const MentionBadge = /*#__PURE__*/memo(({
11
+ groupAtType
12
+ }) => {
13
+ if (groupAtType === undefined || groupAtType === GroupAtType.AtNormal) {
14
+ return null;
15
+ }
16
+ return /*#__PURE__*/_jsx(KLabel.Text, {
17
+ typo: "TextNmBold",
18
+ color: KColors.palette.primary.w400,
19
+ marginL: "0.5rem",
20
+ children: "@"
21
+ });
22
+ });
23
+ MentionBadge.displayName = 'MentionBadge';
24
+ //# sourceMappingURL=MentionBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","KLabel","KColors","GroupAtType","jsx","_jsx","MentionBadge","groupAtType","undefined","AtNormal","Text","typo","color","palette","primary","w400","marginL","children","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/MentionBadge.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC/C,SAASC,WAAW,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5D;AACA;AACA;AACA,OAAO,MAAMC,YAAY,gBAAGN,IAAI,CAAC,CAAC;EAAEO;AAA+B,CAAC,KAAK;EACvE,IAAIA,WAAW,KAAKC,SAAS,IAAID,WAAW,KAAKJ,WAAW,CAACM,QAAQ,EAAE;IACrE,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACJ,MAAM,CAACS,IAAI;IACVC,IAAI,EAAC,YAAY;IACjBC,KAAK,EAAEV,OAAO,CAACW,OAAO,CAACC,OAAO,CAACC,IAAK;IACpCC,OAAO,EAAC,QAAQ;IAAAC,QAAA,EACjB;EAED,CAAa,CAAC;AAElB,CAAC,CAAC;AAEFX,YAAY,CAACY,WAAW,GAAG,cAAc","ignoreList":[]}
@@ -6,6 +6,7 @@ import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
6
6
  import { AvatarSection } from "./AvatarSection.js";
7
7
  import { NamePrefixIcon } from "./NamePrefixIcon.js";
8
8
  import { UnreadBadge } from "./UnreadBadge.js";
9
+ import { MentionBadge } from "./MentionBadge.js";
9
10
  import { formatTimestamp } from "../../utils/dateTimeUtils.js";
10
11
  import { getLastMessageText, getMessagePreviewTextProps } from "../../utils/messageUtils.js";
11
12
  import { useConversation, useUserStore } from "../../store/index.js";
@@ -30,7 +31,8 @@ const ThreadCard = /*#__PURE__*/memo(({
30
31
  isPinned,
31
32
  latestMsgSendTime,
32
33
  latestMsg,
33
- groupID
34
+ groupID,
35
+ groupAtType
34
36
  } = conversation || {};
35
37
  const {
36
38
  data: isJoinedGroup
@@ -151,6 +153,8 @@ const ThreadCard = /*#__PURE__*/memo(({
151
153
  color: KColors.primary.normal
152
154
  })
153
155
  })
156
+ }), /*#__PURE__*/_jsx(MentionBadge, {
157
+ groupAtType: groupAtType
154
158
  }), /*#__PURE__*/_jsx(UnreadBadge, {
155
159
  count: unreadCount
156
160
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","useConversation","useUserStore","MessageReceiveOptType","MuteThread","PinThread","useIsJoinedGroup","isEmpty","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadCard","item","onPress","conversation","peerType","showName","faceURL","members","unreadCount","recvMsgOpt","Normal","isPinned","latestMsgSendTime","latestMsg","groupID","data","isJoinedGroup","isNotInGroup","latestMsgData","result","JSON","parse","error","console","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","message","handlePress","event","renderRightActions","_progress","_translation","swipeableMethods","children","VisibleView","visible","Boolean","friction","rightThreshold","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","background","white","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VectorIcons","name","provider","size","palette","gray","w500","w400","normal","primary","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","MentionBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","useConversation","useUserStore","MessageReceiveOptType","MuteThread","PinThread","useIsJoinedGroup","isEmpty","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadCard","item","onPress","conversation","peerType","showName","faceURL","members","unreadCount","recvMsgOpt","Normal","isPinned","latestMsgSendTime","latestMsg","groupID","groupAtType","data","isJoinedGroup","isNotInGroup","latestMsgData","result","JSON","parse","error","console","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","message","handlePress","event","renderRightActions","_progress","_translation","swipeableMethods","children","VisibleView","visible","Boolean","friction","rightThreshold","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","background","white","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VectorIcons","name","provider","size","palette","gray","w500","w400","normal","primary","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ /**
8
+ * The rich link-preview card (thumbnail/title/url/description) — shared by
9
+ * LinkMessage (message.urlTextElem, a plain URL message) and TextMessage
10
+ * (mention+URL combo: message.ex.urlMetadata attached to an AtTextMessage,
11
+ * since OpenIM's AtTextMessage/UrlTextMessage content types are mutually
12
+ * exclusive — see useSendMessage.ts's doc comment for why the mention wins
13
+ * the content type and the URL card rides along in `ex` instead).
14
+ */
15
+ export const LinkPreviewCard = /*#__PURE__*/memo(({
16
+ metadata,
17
+ onPressUrl
18
+ }) => /*#__PURE__*/_jsxs(KContainer.Touchable, {
19
+ style: styles.card,
20
+ onPress: () => metadata.url && onPressUrl?.(metadata.url),
21
+ children: [!!metadata.image && /*#__PURE__*/_jsx(KContainer.View, {
22
+ style: styles.cardThumb,
23
+ children: /*#__PURE__*/_jsx(KImage.Base, {
24
+ uri: metadata.image,
25
+ style: StyleSheet.absoluteFill,
26
+ resizeMode: "cover"
27
+ })
28
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
29
+ style: styles.cardBody,
30
+ children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
31
+ typo: "TextNmMedium",
32
+ color: KColors.palette.gray.w900,
33
+ numberOfLines: 1,
34
+ children: metadata.title
35
+ }), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
36
+ typo: "TextXsMedium",
37
+ color: KColors.palette.primary.w400,
38
+ numberOfLines: 1,
39
+ children: metadata.url
40
+ }), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
41
+ typo: "TextXsNormal",
42
+ color: KColors.gray.normal,
43
+ numberOfLines: 2,
44
+ children: metadata.description
45
+ })]
46
+ })]
47
+ }));
48
+ LinkPreviewCard.displayName = 'LinkPreviewCard';
49
+ const styles = StyleSheet.create({
50
+ card: {
51
+ borderRadius: KSpacingValue['0.75rem'],
52
+ borderWidth: 1,
53
+ borderColor: 'rgba(57,62,64,0.1)',
54
+ backgroundColor: KColors.white,
55
+ overflow: 'hidden'
56
+ },
57
+ cardThumb: {
58
+ width: '100%',
59
+ aspectRatio: 16 / 9
60
+ },
61
+ cardBody: {
62
+ paddingHorizontal: KSpacingValue['0.75rem'],
63
+ paddingVertical: KSpacingValue['0.5rem'],
64
+ gap: 2
65
+ }
66
+ });
67
+ //# sourceMappingURL=LinkPreviewCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","jsx","_jsx","jsxs","_jsxs","LinkPreviewCard","metadata","onPressUrl","Touchable","style","styles","card","onPress","url","children","image","View","cardThumb","Base","uri","absoluteFill","resizeMode","cardBody","title","Text","typo","color","palette","gray","w900","numberOfLines","primary","w400","description","normal","displayName","create","borderRadius","borderWidth","borderColor","backgroundColor","white","overflow","width","aspectRatio","paddingHorizontal","paddingVertical","gap"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/LinkPreviewCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,aAAa,QACR,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,gBAAGX,IAAI,CACjC,CAAC;EAAEY,QAAQ;EAAEC;AAAiC,CAAC,kBAC7CH,KAAA,CAACR,UAAU,CAACY,SAAS;EACnBC,KAAK,EAAEC,MAAM,CAACC,IAAK;EACnBC,OAAO,EAAEA,CAAA,KAAMN,QAAQ,CAACO,GAAG,IAAIN,UAAU,GAAGD,QAAQ,CAACO,GAAG,CAAE;EAAAC,QAAA,GAEzD,CAAC,CAACR,QAAQ,CAACS,KAAK,iBACfb,IAAA,CAACN,UAAU,CAACoB,IAAI;IAACP,KAAK,EAAEC,MAAM,CAACO,SAAU;IAAAH,QAAA,eACvCZ,IAAA,CAACL,MAAM,CAACqB,IAAI;MACVC,GAAG,EAAEb,QAAQ,CAACS,KAAM;MACpBN,KAAK,EAAEd,UAAU,CAACyB,YAAa;MAC/BC,UAAU,EAAC;IAAO,CACnB;EAAC,CACa,CAClB,eACDjB,KAAA,CAACR,UAAU,CAACoB,IAAI;IAACP,KAAK,EAAEC,MAAM,CAACY,QAAS;IAAAR,QAAA,GACrC,CAAC,CAACR,QAAQ,CAACiB,KAAK,iBACfrB,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC4B,OAAO,CAACC,IAAI,CAACC,IAAK;MACjCC,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAACiB;IAAK,CACJ,CACd,EACA,CAAC,CAACjB,QAAQ,CAACO,GAAG,iBACbX,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC4B,OAAO,CAACI,OAAO,CAACC,IAAK;MACpCF,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAACO;IAAG,CACF,CACd,EACA,CAAC,CAACP,QAAQ,CAAC2B,WAAW,iBACrB/B,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC6B,IAAI,CAACM,MAAO;MAC3BJ,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAAC2B;IAAW,CACV,CACd;EAAA,CACc,CAAC;AAAA,CACE,CAE1B,CAAC;AAED5B,eAAe,CAAC8B,WAAW,GAAG,iBAAiB;AAE/C,MAAMzB,MAAM,GAAGf,UAAU,CAACyC,MAAM,CAAC;EAC/BzB,IAAI,EAAE;IACJ0B,YAAY,EAAErC,aAAa,CAAC,SAAS,CAAC;IACtCsC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,oBAAoB;IACjCC,eAAe,EAAEzC,OAAO,CAAC0C,KAAK;IAC9BC,QAAQ,EAAE;EACZ,CAAC;EACDzB,SAAS,EAAE;IACT0B,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG;EACpB,CAAC;EACDtB,QAAQ,EAAE;IACRuB,iBAAiB,EAAE7C,aAAa,CAAC,SAAS,CAAC;IAC3C8C,eAAe,EAAE9C,aAAa,CAAC,QAAQ,CAAC;IACxC+C,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,101 +2,67 @@
2
2
 
3
3
  import { memo } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
- import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
5
+ import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { formatMessageTime } from "../types.js";
6
7
  import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
7
8
  import { parseUrlMetadata } from "../../../utils/messageUtils.js";
9
+ import { splitTextByUrls } from "../../../utils/url.js";
8
10
  import { messageStyles } from "../styles.js";
11
+ import { LinkPreviewCard } from "./LinkPreviewCard.js";
9
12
  import { getTailCornerStyle } from "../bubbleTail.utils.js";
10
13
  import { BubbleTailRow } from "../BubbleTailRow.js";
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const renderTextWithLinks = (content, urls, onPressUrl) => {
13
- if (!urls.length) {
14
- return /*#__PURE__*/_jsx(KLabel.Text, {
15
- typo: "TextMdNormal",
16
- children: content
17
- });
18
- }
19
- const parts = [];
20
- let remaining = content;
21
- for (const url of urls) {
22
- const idx = remaining.indexOf(url);
23
- if (idx === -1) continue;
24
- if (idx > 0) parts.push({
25
- text: remaining.slice(0, idx),
26
- isUrl: false
27
- });
28
- parts.push({
29
- text: url,
30
- isUrl: true
31
- });
32
- remaining = remaining.slice(idx + url.length);
33
- }
34
- if (remaining) parts.push({
35
- text: remaining,
36
- isUrl: false
37
- });
38
- return /*#__PURE__*/_jsx(KLabel.Text, {
14
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
+ const renderTextWithLinks = (content, urls, onPressUrl) => /*#__PURE__*/_jsx(KLabel.Text, {
16
+ typo: "TextMdNormal",
17
+ children: splitTextByUrls(content, urls).map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(KLabel.Text, {
18
+ onPress: () => onPressUrl?.(part.text),
19
+ color: KColors.primary.normal,
20
+ typo: "TextMdMedium",
21
+ children: part.text
22
+ }, i) : /*#__PURE__*/_jsx(KLabel.Text, {
39
23
  typo: "TextMdNormal",
40
- children: parts.map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(KLabel.Text, {
41
- onPress: () => onPressUrl?.(part.text),
42
- color: KColors.primary.normal,
43
- typo: "TextMdMedium",
44
- children: part.text
45
- }, i) : /*#__PURE__*/_jsx(KLabel.Text, {
46
- typo: "TextMdNormal",
47
- children: part.text
48
- }, i))
49
- });
50
- };
24
+ children: part.text
25
+ }, i))
26
+ });
51
27
  export const LinkMessage = /*#__PURE__*/memo(({
52
28
  message,
53
29
  isOutgoing,
30
+ createdAtTime,
54
31
  onPressUrl,
55
32
  isHighlighted,
33
+ isTimeRevealed,
56
34
  groupPosition
57
35
  }) => {
58
36
  const content = message?.urlTextElem?.content;
59
37
  const urls = message?.urlTextElem?.urls ?? [];
60
38
  const metadata = parseUrlMetadata(message.ex);
61
- return /*#__PURE__*/_jsx(BubbleTailRow, {
62
- isOutgoing: isOutgoing,
63
- groupPosition: groupPosition,
64
- children: /*#__PURE__*/_jsxs(KContainer.View, {
65
- style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
66
- children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
67
- style: styles.textRow,
68
- children: renderTextWithLinks(content, urls, onPressUrl)
69
- }), !!metadata && /*#__PURE__*/_jsxs(KContainer.Touchable, {
70
- style: styles.card,
71
- onPress: () => metadata.url && onPressUrl?.(metadata.url),
72
- children: [!!metadata.image && /*#__PURE__*/_jsx(KContainer.View, {
73
- style: styles.cardThumb,
74
- children: /*#__PURE__*/_jsx(KImage.Base, {
75
- uri: metadata.image,
76
- style: StyleSheet.absoluteFill,
77
- resizeMode: "cover"
78
- })
79
- }), /*#__PURE__*/_jsxs(KContainer.View, {
80
- style: styles.cardBody,
81
- children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
82
- typo: "TextNmMedium",
83
- color: KColors.palette.gray.w900,
84
- numberOfLines: 1,
85
- children: metadata.title
86
- }), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
87
- typo: "TextXsMedium",
88
- color: KColors.palette.primary.w400,
89
- numberOfLines: 1,
90
- children: metadata.url
91
- }), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
92
- typo: "TextXsNormal",
93
- color: KColors.gray.normal,
94
- numberOfLines: 2,
95
- children: metadata.description
96
- })]
39
+ const timeLabel = formatMessageTime(createdAtTime);
40
+ return /*#__PURE__*/_jsxs(_Fragment, {
41
+ children: [/*#__PURE__*/_jsx(BubbleTailRow, {
42
+ isOutgoing: isOutgoing,
43
+ groupPosition: groupPosition,
44
+ children: /*#__PURE__*/_jsxs(KContainer.View, {
45
+ style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
46
+ children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
47
+ style: styles.textRow,
48
+ children: renderTextWithLinks(content, urls, onPressUrl)
49
+ }), !!metadata && /*#__PURE__*/_jsx(LinkPreviewCard, {
50
+ metadata: metadata,
51
+ onPressUrl: onPressUrl
97
52
  })]
98
- })]
99
- })
53
+ })
54
+ }), /*#__PURE__*/_jsx(KContainer.View, {
55
+ row: true,
56
+ alignItems: true,
57
+ style: [styles.timeLabel, isOutgoing && styles.timeLabelRight],
58
+ children: isTimeRevealed && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
59
+ typo: "TextXsNormal",
60
+ color: CHAT_BUBBLE_COLORS.timestamp,
61
+ marginL: isOutgoing ? undefined : '0.25rem',
62
+ marginR: isOutgoing ? '0.25rem' : undefined,
63
+ children: timeLabel
64
+ }) : null
65
+ })]
100
66
  });
101
67
  });
102
68
  LinkMessage.displayName = 'LinkMessage';
@@ -118,21 +84,12 @@ const styles = StyleSheet.create({
118
84
  textRow: {
119
85
  paddingHorizontal: KSpacingValue['0.25rem']
120
86
  },
121
- card: {
122
- borderRadius: KSpacingValue['0.75rem'],
123
- borderWidth: 1,
124
- borderColor: 'rgba(57,62,64,0.1)',
125
- backgroundColor: KColors.white,
126
- overflow: 'hidden'
127
- },
128
- cardThumb: {
129
- width: '100%',
130
- aspectRatio: 16 / 9
87
+ timeLabel: {
88
+ gap: 4,
89
+ marginTop: 2
131
90
  },
132
- cardBody: {
133
- paddingHorizontal: KSpacingValue['0.75rem'],
134
- paddingVertical: KSpacingValue['0.5rem'],
135
- gap: 2
91
+ timeLabelRight: {
92
+ justifyContent: 'flex-end'
136
93
  }
137
94
  });
138
95
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","CHAT_BUBBLE_COLORS","parseUrlMetadata","messageStyles","getTailCornerStyle","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","renderTextWithLinks","content","urls","onPressUrl","length","Text","typo","children","parts","remaining","url","idx","indexOf","push","text","slice","isUrl","map","part","i","onPress","color","primary","normal","LinkMessage","message","isOutgoing","isHighlighted","groupPosition","urlTextElem","metadata","ex","View","style","styles","bubble","bubbleSent","bubbleReceived","bubbleHighlighted","trim","textRow","Touchable","card","image","cardThumb","Base","uri","absoluteFill","resizeMode","cardBody","title","palette","gray","w900","numberOfLines","w400","description","displayName","create","wrapper","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","borderWidth","borderColor","white","overflow","width","aspectRatio","gap"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","formatMessageTime","CHAT_BUBBLE_COLORS","parseUrlMetadata","splitTextByUrls","messageStyles","LinkPreviewCard","getTailCornerStyle","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","renderTextWithLinks","content","urls","onPressUrl","Text","typo","children","map","part","i","isUrl","onPress","text","color","primary","normal","LinkMessage","message","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","groupPosition","urlTextElem","metadata","ex","timeLabel","View","style","styles","bubble","bubbleSent","bubbleReceived","bubbleHighlighted","trim","textRow","row","alignItems","timeLabelRight","timestamp","marginL","undefined","marginR","displayName","create","wrapper","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","gap","marginTop","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback, useMemo } from 'react';
4
+ import { DeviceEventEmitter, StyleSheet } from 'react-native';
5
+ import { KColors, KContainer, KImage, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
6
+ import { MessageType } from '@droppii/openim-rn-client-sdk';
7
+ import { getMessagePreviewParts, getReplySenderName, parseUrlMetadata } from "../../../utils/messageUtils.js";
8
+ import { getFileIcon, getMimeType } from "../../../utils/imageUtils.js";
9
+ import { useUserStore } from "../../../store/index.js";
10
+ import { useChatDetailContext } from "../../../context/index.js";
11
+ import { ChatEvent } from "../../../types/events.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /**
14
+ * The "replying to ..." strip — shared by QuotedMessage (message.quoteElem)
15
+ * and TextMessage (message.atTextElem?.quoteMessage, for the mention+quote
16
+ * combo). Extracted so both content types render the exact same preview
17
+ * instead of two copies drifting apart.
18
+ */
19
+ export const QuotedMessagePreviewStrip = /*#__PURE__*/memo(({
20
+ quotedMessage
21
+ }) => {
22
+ const {
23
+ conversation
24
+ } = useChatDetailContext();
25
+ const currentUserId = useUserStore(s => s.user?.userID);
26
+ const messagePreview = getMessagePreviewParts(quotedMessage);
27
+ const imageUrl = useMemo(() => {
28
+ switch (quotedMessage?.contentType) {
29
+ case MessageType.PictureMessage:
30
+ return quotedMessage?.pictureElem?.snapshotPicture?.url || '';
31
+ case MessageType.VideoMessage:
32
+ return quotedMessage?.videoElem?.snapshotUrl || '';
33
+ case MessageType.UrlTextMessage:
34
+ {
35
+ const metadata = parseUrlMetadata(quotedMessage?.ex);
36
+ return metadata?.image || '';
37
+ }
38
+ default:
39
+ return '';
40
+ }
41
+ }, [quotedMessage]);
42
+ const iconSource = useMemo(() => {
43
+ if (quotedMessage?.contentType !== MessageType.FileMessage) return '';
44
+ const mimeType = getMimeType(quotedMessage?.fileElem?.fileName || '');
45
+ return getFileIcon(mimeType);
46
+ }, [quotedMessage]);
47
+ const handlePress = useCallback(() => {
48
+ DeviceEventEmitter.emit(ChatEvent.ScrollToMessage, {
49
+ clientMessageId: quotedMessage?.clientMsgID || ''
50
+ });
51
+ }, [quotedMessage]);
52
+ return /*#__PURE__*/_jsxs(KContainer.Touchable, {
53
+ style: styles.quotedContainer,
54
+ onPress: handlePress,
55
+ children: [/*#__PURE__*/_jsx(KContainer.View, {
56
+ style: styles.dot
57
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
58
+ visible: !!imageUrl,
59
+ children: /*#__PURE__*/_jsxs(KContainer.View, {
60
+ style: styles.imageContainer,
61
+ children: [/*#__PURE__*/_jsx(KImage.Base, {
62
+ uri: imageUrl,
63
+ style: styles.imageContainer
64
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
65
+ visible: quotedMessage?.contentType === MessageType.VideoMessage,
66
+ children: /*#__PURE__*/_jsx(KContainer.View, {
67
+ style: styles.playIconContainer,
68
+ children: /*#__PURE__*/_jsx(KContainer.View, {
69
+ style: styles.playIcon,
70
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
71
+ name: "play-b",
72
+ size: 12,
73
+ color: KColors.white
74
+ })
75
+ })
76
+ })
77
+ })]
78
+ })
79
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
80
+ visible: !!iconSource,
81
+ children: /*#__PURE__*/_jsx(KImage.Base, {
82
+ uri: iconSource,
83
+ style: styles.icon,
84
+ resizeMode: "contain"
85
+ })
86
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
87
+ flexS: 1,
88
+ style: styles.content,
89
+ children: [/*#__PURE__*/_jsx(KLabel.Text, {
90
+ typo: "TextNmMedium",
91
+ numberOfLines: 1,
92
+ children: getReplySenderName(quotedMessage, currentUserId, conversation, true)
93
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
94
+ typo: "TextSmNormal",
95
+ color: KColors.gray.light,
96
+ numberOfLines: 1,
97
+ ...messagePreview.textProps,
98
+ children: messagePreview.text
99
+ })]
100
+ })]
101
+ });
102
+ });
103
+ QuotedMessagePreviewStrip.displayName = 'QuotedMessagePreviewStrip';
104
+ const styles = StyleSheet.create({
105
+ quotedContainer: {
106
+ backgroundColor: KColors.white,
107
+ flexDirection: 'row',
108
+ alignItems: 'center',
109
+ gap: KSpacingValue['0.5rem'],
110
+ borderTopRightRadius: KRadiusValue['3x'],
111
+ borderBottomRightRadius: KRadiusValue['3x'],
112
+ paddingRight: KSpacingValue['0.5rem'],
113
+ maxWidth: '100%'
114
+ },
115
+ dot: {
116
+ width: 3,
117
+ height: '100%',
118
+ backgroundColor: KColors.palette.grayCool.w200,
119
+ borderRadius: KRadiusValue.x,
120
+ marginRight: -2
121
+ },
122
+ content: {
123
+ paddingHorizontal: KSpacingValue['0.25rem'],
124
+ paddingVertical: KSpacingValue['0.25rem']
125
+ },
126
+ icon: {
127
+ width: 24,
128
+ height: 24
129
+ },
130
+ imageContainer: {
131
+ width: 42,
132
+ height: 42,
133
+ borderRadius: KRadiusValue['2x']
134
+ },
135
+ playIconContainer: {
136
+ position: 'absolute',
137
+ top: 0,
138
+ left: 0,
139
+ right: 0,
140
+ bottom: 0,
141
+ justifyContent: 'center',
142
+ alignItems: 'center'
143
+ },
144
+ playIcon: {
145
+ borderRadius: 8,
146
+ padding: KSpacingValue['0.25rem'],
147
+ backgroundColor: KColors.hexToRgba(KColors.black, 0.6),
148
+ justifyContent: 'center',
149
+ alignItems: 'center'
150
+ }
151
+ });
152
+ //# sourceMappingURL=QuotedMessagePreviewStrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","useMemo","DeviceEventEmitter","StyleSheet","KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","MessageType","getMessagePreviewParts","getReplySenderName","parseUrlMetadata","getFileIcon","getMimeType","useUserStore","useChatDetailContext","ChatEvent","jsx","_jsx","jsxs","_jsxs","QuotedMessagePreviewStrip","quotedMessage","conversation","currentUserId","s","user","userID","messagePreview","imageUrl","contentType","PictureMessage","pictureElem","snapshotPicture","url","VideoMessage","videoElem","snapshotUrl","UrlTextMessage","metadata","ex","image","iconSource","FileMessage","mimeType","fileElem","fileName","handlePress","emit","ScrollToMessage","clientMessageId","clientMsgID","Touchable","style","styles","quotedContainer","onPress","children","View","dot","VisibleView","visible","imageContainer","Base","uri","playIconContainer","playIcon","VectorIcons","name","size","color","white","icon","resizeMode","flexS","content","Text","typo","numberOfLines","gray","light","textProps","text","displayName","create","backgroundColor","flexDirection","alignItems","gap","borderTopRightRadius","borderBottomRightRadius","paddingRight","maxWidth","width","height","palette","grayCool","w200","borderRadius","x","marginRight","paddingHorizontal","paddingVertical","position","top","left","right","bottom","justifyContent","padding","hexToRgba","black"],"sourceRoot":"../../../../../src","sources":["components/messages/quotedMessage/QuotedMessagePreviewStrip.tsx"],"mappings":"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","ignoreList":[]}