@droppii-org/chat-mobile 0.2.79 → 0.2.81

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 (187) hide show
  1. package/lib/module/components/messages/BubbleTail.js +31 -0
  2. package/lib/module/components/messages/BubbleTail.js.map +1 -0
  3. package/lib/module/components/messages/BubbleTailRow.js +46 -0
  4. package/lib/module/components/messages/BubbleTailRow.js.map +1 -0
  5. package/lib/module/components/messages/bubbleTail.utils.js +19 -0
  6. package/lib/module/components/messages/bubbleTail.utils.js.map +1 -0
  7. package/lib/module/components/messages/fileMessage/index.js +72 -65
  8. package/lib/module/components/messages/fileMessage/index.js.map +1 -1
  9. package/lib/module/components/messages/imageMessage/index.js +23 -17
  10. package/lib/module/components/messages/imageMessage/index.js.map +1 -1
  11. package/lib/module/components/messages/linkMessage/index.js +11 -23
  12. package/lib/module/components/messages/linkMessage/index.js.map +1 -1
  13. package/lib/module/components/messages/mergedMessage/index.js +14 -7
  14. package/lib/module/components/messages/mergedMessage/index.js.map +1 -1
  15. package/lib/module/components/messages/quotedMessage/index.js +11 -23
  16. package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
  17. package/lib/module/components/messages/revokedMessage/index.js +14 -7
  18. package/lib/module/components/messages/revokedMessage/index.js.map +1 -1
  19. package/lib/module/components/messages/stickerMessage/index.js +13 -7
  20. package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
  21. package/lib/module/components/messages/textMessage/index.js +11 -26
  22. package/lib/module/components/messages/textMessage/index.js.map +1 -1
  23. package/lib/module/components/messages/types.js.map +1 -1
  24. package/lib/module/components/messages/videoMessage/index.js +16 -8
  25. package/lib/module/components/messages/videoMessage/index.js.map +1 -1
  26. package/lib/module/config/api-endpoints.js +2 -1
  27. package/lib/module/config/api-endpoints.js.map +1 -1
  28. package/lib/module/hooks/contacts/useSearchContacts.js +50 -0
  29. package/lib/module/hooks/contacts/useSearchContacts.js.map +1 -0
  30. package/lib/module/hooks/groups/useDismissGroup.js +2 -1
  31. package/lib/module/hooks/groups/useDismissGroup.js.map +1 -1
  32. package/lib/module/hooks/query-keys.js +4 -0
  33. package/lib/module/hooks/query-keys.js.map +1 -1
  34. package/lib/module/screens/SearchConversation/ContactResultItem.js +119 -0
  35. package/lib/module/screens/SearchConversation/ContactResultItem.js.map +1 -0
  36. package/lib/module/screens/SearchConversation/SearchAllResult.js +26 -20
  37. package/lib/module/screens/SearchConversation/SearchAllResult.js.map +1 -1
  38. package/lib/module/screens/SearchConversation/SearchCommunityResult.js +79 -0
  39. package/lib/module/screens/SearchConversation/SearchCommunityResult.js.map +1 -0
  40. package/lib/module/screens/SearchConversation/SearchContactsResult.js +117 -0
  41. package/lib/module/screens/SearchConversation/SearchContactsResult.js.map +1 -0
  42. package/lib/module/screens/SearchConversation/SearchEmpty.js +2 -0
  43. package/lib/module/screens/SearchConversation/SearchEmpty.js.map +1 -1
  44. package/lib/module/screens/SearchConversation/SearchMessagesResult.js +1 -8
  45. package/lib/module/screens/SearchConversation/SearchMessagesResult.js.map +1 -1
  46. package/lib/module/screens/SearchConversation/SearchResultItem.js +2 -0
  47. package/lib/module/screens/SearchConversation/SearchResultItem.js.map +1 -1
  48. package/lib/module/screens/SearchConversation/TabResult.js +24 -7
  49. package/lib/module/screens/SearchConversation/TabResult.js.map +1 -1
  50. package/lib/module/screens/SearchConversation/index.js +6 -2
  51. package/lib/module/screens/SearchConversation/index.js.map +1 -1
  52. package/lib/module/screens/SearchConversation/types.js +1 -0
  53. package/lib/module/screens/SearchConversation/types.js.map +1 -1
  54. package/lib/module/screens/chat-detail/ChatListLegend.js +71 -21
  55. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  56. package/lib/module/screens/chat-detail/legend/LegendChatDay.js +8 -2
  57. package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
  58. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +38 -13
  59. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  60. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js +11 -1
  61. package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js.map +1 -1
  62. package/lib/module/services/endpoints.js +2 -1
  63. package/lib/module/services/endpoints.js.map +1 -1
  64. package/lib/module/translation/resources/i18n.js +6 -0
  65. package/lib/module/translation/resources/i18n.js.map +1 -1
  66. package/lib/module/types/chat.js +8 -0
  67. package/lib/module/types/chat.js.map +1 -1
  68. package/lib/module/utils/dateTimeUtils.js +10 -0
  69. package/lib/module/utils/dateTimeUtils.js.map +1 -1
  70. package/lib/module/utils/highlightSearch.js +6 -2
  71. package/lib/module/utils/highlightSearch.js.map +1 -1
  72. package/lib/module/utils/legendListMessage.js +86 -12
  73. package/lib/module/utils/legendListMessage.js.map +1 -1
  74. package/lib/module/utils/message.js +19 -1
  75. package/lib/module/utils/message.js.map +1 -1
  76. package/lib/module/utils/messageUtils.js +16 -2
  77. package/lib/module/utils/messageUtils.js.map +1 -1
  78. package/lib/typescript/src/components/messages/BubbleTail.d.ts +13 -0
  79. package/lib/typescript/src/components/messages/BubbleTail.d.ts.map +1 -0
  80. package/lib/typescript/src/components/messages/BubbleTailRow.d.ts +25 -0
  81. package/lib/typescript/src/components/messages/BubbleTailRow.d.ts.map +1 -0
  82. package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts +11 -0
  83. package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts.map +1 -0
  84. package/lib/typescript/src/components/messages/fileMessage/index.d.ts +1 -1
  85. package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
  86. package/lib/typescript/src/components/messages/imageMessage/index.d.ts +1 -1
  87. package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
  88. package/lib/typescript/src/components/messages/linkMessage/index.d.ts +1 -1
  89. package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
  90. package/lib/typescript/src/components/messages/mergedMessage/index.d.ts +1 -1
  91. package/lib/typescript/src/components/messages/mergedMessage/index.d.ts.map +1 -1
  92. package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
  93. package/lib/typescript/src/components/messages/revokedMessage/index.d.ts +1 -1
  94. package/lib/typescript/src/components/messages/revokedMessage/index.d.ts.map +1 -1
  95. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +1 -1
  96. package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
  97. package/lib/typescript/src/components/messages/textMessage/index.d.ts +1 -1
  98. package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
  99. package/lib/typescript/src/components/messages/types.d.ts +3 -0
  100. package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
  101. package/lib/typescript/src/components/messages/videoMessage/index.d.ts +1 -1
  102. package/lib/typescript/src/components/messages/videoMessage/index.d.ts.map +1 -1
  103. package/lib/typescript/src/config/api-endpoints.d.ts +1 -0
  104. package/lib/typescript/src/config/api-endpoints.d.ts.map +1 -1
  105. package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts +221 -0
  106. package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts.map +1 -0
  107. package/lib/typescript/src/hooks/groups/useDismissGroup.d.ts.map +1 -1
  108. package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
  109. package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
  110. package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts +9 -0
  111. package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts.map +1 -0
  112. package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts +3 -2
  113. package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts.map +1 -1
  114. package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts +7 -0
  115. package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts.map +1 -0
  116. package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts +8 -0
  117. package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts.map +1 -0
  118. package/lib/typescript/src/screens/SearchConversation/SearchEmpty.d.ts.map +1 -1
  119. package/lib/typescript/src/screens/SearchConversation/SearchMessagesResult.d.ts.map +1 -1
  120. package/lib/typescript/src/screens/SearchConversation/SearchResultItem.d.ts.map +1 -1
  121. package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts +4 -2
  122. package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts.map +1 -1
  123. package/lib/typescript/src/screens/SearchConversation/index.d.ts +4 -2
  124. package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -1
  125. package/lib/typescript/src/screens/SearchConversation/types.d.ts +2 -1
  126. package/lib/typescript/src/screens/SearchConversation/types.d.ts.map +1 -1
  127. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  128. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts +6 -1
  129. package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
  130. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +14 -1
  131. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  132. package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts.map +1 -1
  133. package/lib/typescript/src/services/endpoints.d.ts +1 -0
  134. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  135. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  136. package/lib/typescript/src/types/chat.d.ts +27 -0
  137. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  138. package/lib/typescript/src/utils/dateTimeUtils.d.ts +2 -0
  139. package/lib/typescript/src/utils/dateTimeUtils.d.ts.map +1 -1
  140. package/lib/typescript/src/utils/highlightSearch.d.ts.map +1 -1
  141. package/lib/typescript/src/utils/legendListMessage.d.ts +19 -4
  142. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  143. package/lib/typescript/src/utils/message.d.ts +17 -0
  144. package/lib/typescript/src/utils/message.d.ts.map +1 -1
  145. package/lib/typescript/src/utils/messageUtils.d.ts +1 -0
  146. package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
  147. package/package.json +3 -1
  148. package/src/build-ignore.d.ts +2 -0
  149. package/src/components/messages/BubbleTail.tsx +35 -0
  150. package/src/components/messages/BubbleTailRow.tsx +64 -0
  151. package/src/components/messages/bubbleTail.utils.ts +21 -0
  152. package/src/components/messages/fileMessage/index.tsx +90 -83
  153. package/src/components/messages/imageMessage/index.tsx +26 -23
  154. package/src/components/messages/linkMessage/index.tsx +6 -18
  155. package/src/components/messages/mergedMessage/index.tsx +27 -15
  156. package/src/components/messages/quotedMessage/index.tsx +7 -19
  157. package/src/components/messages/revokedMessage/index.tsx +23 -14
  158. package/src/components/messages/stickerMessage/index.tsx +16 -11
  159. package/src/components/messages/textMessage/index.tsx +6 -22
  160. package/src/components/messages/types.ts +3 -0
  161. package/src/components/messages/videoMessage/index.tsx +13 -10
  162. package/src/config/api-endpoints.ts +2 -0
  163. package/src/hooks/contacts/useSearchContacts.ts +66 -0
  164. package/src/hooks/groups/useDismissGroup.tsx +1 -0
  165. package/src/hooks/query-keys.ts +6 -0
  166. package/src/screens/SearchConversation/ContactResultItem.tsx +128 -0
  167. package/src/screens/SearchConversation/SearchAllResult.tsx +38 -24
  168. package/src/screens/SearchConversation/SearchCommunityResult.tsx +96 -0
  169. package/src/screens/SearchConversation/SearchContactsResult.tsx +155 -0
  170. package/src/screens/SearchConversation/SearchEmpty.tsx +2 -0
  171. package/src/screens/SearchConversation/SearchMessagesResult.tsx +1 -6
  172. package/src/screens/SearchConversation/SearchResultItem.tsx +6 -1
  173. package/src/screens/SearchConversation/TabResult.tsx +40 -5
  174. package/src/screens/SearchConversation/index.tsx +10 -2
  175. package/src/screens/SearchConversation/types.tsx +1 -0
  176. package/src/screens/chat-detail/ChatListLegend.tsx +97 -28
  177. package/src/screens/chat-detail/legend/LegendChatDay.tsx +25 -15
  178. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +62 -12
  179. package/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx +22 -4
  180. package/src/services/endpoints.ts +1 -0
  181. package/src/translation/resources/i18n.ts +6 -0
  182. package/src/types/chat.ts +30 -0
  183. package/src/utils/dateTimeUtils.ts +15 -0
  184. package/src/utils/highlightSearch.ts +12 -2
  185. package/src/utils/legendListMessage.ts +123 -14
  186. package/src/utils/message.ts +19 -1
  187. package/src/utils/messageUtils.ts +23 -9
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import Svg, { Path } from 'react-native-svg';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export const TAIL_WIDTH = 4;
7
+ const TAIL_HEIGHT = 18;
8
+
9
+ // Traced from the design export (Vector 2.svg): a straight vertical edge that
10
+ // continues the bubble's side, flaring outward toward the bottom.
11
+ const TAIL_PATH = 'M2.6202 18H0V0C0.482375 4.5 0.657308 10.5 3.03348 14C4.56838 16.2608 4.15936 18 2.6202 18Z';
12
+ export const BubbleTail = /*#__PURE__*/memo(({
13
+ color,
14
+ side
15
+ }) => /*#__PURE__*/_jsx(Svg, {
16
+ width: TAIL_WIDTH,
17
+ height: TAIL_HEIGHT,
18
+ viewBox: `0 0 ${TAIL_WIDTH} ${TAIL_HEIGHT}`,
19
+ fill: "none",
20
+ style: side === 'left' ? {
21
+ transform: [{
22
+ scaleX: -1
23
+ }]
24
+ } : undefined,
25
+ children: /*#__PURE__*/_jsx(Path, {
26
+ d: TAIL_PATH,
27
+ fill: color
28
+ })
29
+ }));
30
+ BubbleTail.displayName = 'BubbleTail';
31
+ //# sourceMappingURL=BubbleTail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","Svg","Path","jsx","_jsx","TAIL_WIDTH","TAIL_HEIGHT","TAIL_PATH","BubbleTail","color","side","width","height","viewBox","fill","style","transform","scaleX","undefined","children","d","displayName"],"sourceRoot":"../../../../src","sources":["components/messages/BubbleTail.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,OAAO,MAAMC,UAAU,GAAG,CAAC;AAC3B,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA,MAAMC,SAAS,GACb,4FAA4F;AAa9F,OAAO,MAAMC,UAAU,gBAAGR,IAAI,CAAC,CAAC;EAAES,KAAK;EAAEC;AAAsB,CAAC,kBAC9DN,IAAA,CAACH,GAAG;EACFU,KAAK,EAAEN,UAAW;EAClBO,MAAM,EAAEN,WAAY;EACpBO,OAAO,EAAE,OAAOR,UAAU,IAAIC,WAAW,EAAG;EAC5CQ,IAAI,EAAC,MAAM;EACXC,KAAK,EAAEL,IAAI,KAAK,MAAM,GAAG;IAAEM,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EAAE,CAAC,GAAGC,SAAU;EAAAC,QAAA,eAErEf,IAAA,CAACF,IAAI;IAACkB,CAAC,EAAEb,SAAU;IAACO,IAAI,EAAEL;EAAM,CAAE;AAAC,CAChC,CACN,CAAC;AAEFD,UAAU,CAACa,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer } from '@droppii/libs';
6
+ import { BubbleTail, TAIL_WIDTH } from "./BubbleTail.js";
7
+ import { hasBubbleTail } from "./bubbleTail.utils.js";
8
+ import { CHAT_BUBBLE_COLORS } from "../../screens/chat-detail/constants.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ /**
11
+ * Places the tail beside the bubble that closes a cluster.
12
+ *
13
+ * The gutter on the tail side is always TAIL_WIDTH wide, whether or not it
14
+ * actually holds a tail. That keeps every bubble in a cluster starting at the
15
+ * same offset while leaving the row's own padding intact — the tail occupies
16
+ * reserved space rather than overhanging into the margin.
17
+ *
18
+ * The tail is a real sibling rather than an absolutely positioned overlay: it
19
+ * sits outside the bubble's edge, and `overflow: visible` is unreliable on
20
+ * Android for views carrying elevation — which the neighbouring pin badge does.
21
+ */
22
+ export const BubbleTailRow = /*#__PURE__*/memo(({
23
+ isOutgoing,
24
+ groupPosition,
25
+ withTail = true,
26
+ children
27
+ }) => {
28
+ const gutter = withTail && hasBubbleTail(groupPosition) ? /*#__PURE__*/_jsx(BubbleTail, {
29
+ side: isOutgoing ? 'right' : 'left',
30
+ color: isOutgoing ? CHAT_BUBBLE_COLORS.sent : CHAT_BUBBLE_COLORS.received
31
+ }) : /*#__PURE__*/_jsx(KContainer.View, {
32
+ style: styles.gutter
33
+ });
34
+ return /*#__PURE__*/_jsxs(KContainer.View, {
35
+ row: true,
36
+ alignItems: "flex-end",
37
+ children: [!isOutgoing && gutter, children, isOutgoing && gutter]
38
+ });
39
+ });
40
+ BubbleTailRow.displayName = 'BubbleTailRow';
41
+ const styles = StyleSheet.create({
42
+ gutter: {
43
+ width: TAIL_WIDTH
44
+ }
45
+ });
46
+ //# sourceMappingURL=BubbleTailRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","BubbleTail","TAIL_WIDTH","hasBubbleTail","CHAT_BUBBLE_COLORS","jsx","_jsx","jsxs","_jsxs","BubbleTailRow","isOutgoing","groupPosition","withTail","children","gutter","side","color","sent","received","View","style","styles","row","alignItems","displayName","create","width"],"sourceRoot":"../../../../src","sources":["components/messages/BubbleTailRow.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAgC,OAAO;AACpD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,UAAU,EAAEC,UAAU,QAAQ,iBAAc;AACrD,SAASC,aAAa,QAAQ,uBAAoB;AAClD,SAASC,kBAAkB,QAAQ,wCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAazE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,gBAAGX,IAAI,CAC/B,CAAC;EACCY,UAAU;EACVC,aAAa;EACbC,QAAQ,GAAG,IAAI;EACfC;AACkB,CAAC,KAAK;EACxB,MAAMC,MAAM,GACVF,QAAQ,IAAIT,aAAa,CAACQ,aAAa,CAAC,gBACtCL,IAAA,CAACL,UAAU;IACTc,IAAI,EAAEL,UAAU,GAAG,OAAO,GAAG,MAAO;IACpCM,KAAK,EACHN,UAAU,GAAGN,kBAAkB,CAACa,IAAI,GAAGb,kBAAkB,CAACc;EAC3D,CACF,CAAC,gBAEFZ,IAAA,CAACN,UAAU,CAACmB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACP;EAAO,CAAE,CACzC;EAEH,oBACEN,KAAA,CAACR,UAAU,CAACmB,IAAI;IAACG,GAAG;IAACC,UAAU,EAAC,UAAU;IAAAV,QAAA,GACvC,CAACH,UAAU,IAAII,MAAM,EACrBD,QAAQ,EACRH,UAAU,IAAII,MAAM;EAAA,CACN,CAAC;AAEtB,CACF,CAAC;AAEDL,aAAa,CAACe,WAAW,GAAG,eAAe;AAE3C,MAAMH,MAAM,GAAGtB,UAAU,CAAC0B,MAAM,CAAC;EAC/BX,MAAM,EAAE;IAAEY,KAAK,EAAExB;EAAW;AAC9B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ /** Only the message closing a cluster carries a tail. */
4
+ export const hasBubbleTail = position => position === 'last' || position === 'solo';
5
+
6
+ /**
7
+ * The corner the tail hangs off must be square, otherwise the tail's straight
8
+ * 18px edge meets the bubble's rounded corner and leaves a visible notch.
9
+ * Every other corner keeps its normal radius.
10
+ */
11
+ export const getTailCornerStyle = (isOutgoing, position) => {
12
+ if (!hasBubbleTail(position)) return undefined;
13
+ return isOutgoing ? {
14
+ borderBottomRightRadius: 0
15
+ } : {
16
+ borderBottomLeftRadius: 0
17
+ };
18
+ };
19
+ //# sourceMappingURL=bubbleTail.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hasBubbleTail","position","getTailCornerStyle","isOutgoing","undefined","borderBottomRightRadius","borderBottomLeftRadius"],"sourceRoot":"../../../../src","sources":["components/messages/bubbleTail.utils.ts"],"mappings":";;AAGA;AACA,OAAO,MAAMA,aAAa,GAAIC,QAAwB,IACpDA,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,UAAmB,EACnBF,QAAwB,KACE;EAC1B,IAAI,CAACD,aAAa,CAACC,QAAQ,CAAC,EAAE,OAAOG,SAAS;EAC9C,OAAOD,UAAU,GACb;IAAEE,uBAAuB,EAAE;EAAE,CAAC,GAC9B;IAAEC,sBAAsB,EAAE;EAAE,CAAC;AACnC,CAAC","ignoreList":[]}
@@ -5,13 +5,16 @@ import { StyleSheet } from 'react-native';
5
5
  import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
6
6
  import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
7
7
  import { messageStyles } from "../styles.js";
8
+ import { getTailCornerStyle } from "../bubbleTail.utils.js";
9
+ import { BubbleTailRow } from "../BubbleTailRow.js";
8
10
  import { useFileDownload } from "../../../hooks/useFileDownload.js";
9
11
  import { getFileIcon, getMimeType, formatFileSize } from "../../../utils/imageUtils.js";
10
12
  import { trans } from "../../../translation/index.js";
11
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  export const FileMessage = /*#__PURE__*/memo(({
13
15
  message,
14
- isOutgoing
16
+ isOutgoing,
17
+ groupPosition
15
18
  }) => {
16
19
  const fileName = message.fileElem?.fileName || '[File]';
17
20
  const fileSize = message.fileElem?.fileSize ?? 0;
@@ -37,75 +40,79 @@ export const FileMessage = /*#__PURE__*/memo(({
37
40
  }, [state, fileSize]);
38
41
  const subtitleColor = state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w500;
39
42
  const isDownloading = state.status === 'downloading';
40
- return /*#__PURE__*/_jsx(KContainer.View, {
41
- padding: '0.5rem',
42
- style: [styles.wrapper, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived],
43
- children: /*#__PURE__*/_jsxs(KContainer.View, {
44
- row: true,
45
- alignItems: true,
46
- br: '3x',
47
- paddingR: '0.75rem',
48
- paddingV: '0.25rem',
49
- background: KColors.white,
50
- children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
51
- visible: isDownloading,
52
- children: /*#__PURE__*/_jsx(KContainer.Touchable, {
53
- center: true,
54
- br: "round",
55
- style: styles.cancelBtn,
56
- width: 32,
57
- height: 32,
58
- onPress: handleDownload,
59
- children: /*#__PURE__*/_jsx(KContainer.View, {
43
+ return /*#__PURE__*/_jsx(BubbleTailRow, {
44
+ isOutgoing: isOutgoing,
45
+ groupPosition: groupPosition,
46
+ children: /*#__PURE__*/_jsx(KContainer.View, {
47
+ padding: '0.5rem',
48
+ style: [styles.wrapper, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, getTailCornerStyle(isOutgoing, groupPosition)],
49
+ children: /*#__PURE__*/_jsxs(KContainer.View, {
50
+ row: true,
51
+ alignItems: true,
52
+ br: '3x',
53
+ paddingR: '0.75rem',
54
+ paddingV: '0.25rem',
55
+ background: KColors.white,
56
+ children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
57
+ visible: isDownloading,
58
+ children: /*#__PURE__*/_jsx(KContainer.Touchable, {
60
59
  center: true,
61
60
  br: "round",
62
- style: styles.cancelBtnIconContainer,
63
- width: 26,
64
- height: 26,
65
- children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
66
- name: "close",
67
- provider: "MaterialCommunityIcons",
68
- size: 24,
69
- color: KColors.white
61
+ style: styles.cancelBtn,
62
+ width: 32,
63
+ height: 32,
64
+ onPress: handleDownload,
65
+ children: /*#__PURE__*/_jsx(KContainer.View, {
66
+ center: true,
67
+ br: "round",
68
+ style: styles.cancelBtnIconContainer,
69
+ width: 26,
70
+ height: 26,
71
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
72
+ name: "close",
73
+ provider: "MaterialCommunityIcons",
74
+ size: 24,
75
+ color: KColors.white
76
+ })
70
77
  })
71
78
  })
72
- })
73
- }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
74
- visible: !isDownloading,
75
- children: /*#__PURE__*/_jsx(KImage.Base, {
76
- uri: iconSource,
77
- style: styles.fileIcon,
78
- resizeMode: "contain"
79
- })
80
- }), /*#__PURE__*/_jsxs(KContainer.View, {
81
- flexS: 1,
82
- children: [/*#__PURE__*/_jsx(KLabel.Text, {
83
- typo: "TextSmMedium",
84
- color: CHAT_BUBBLE_COLORS.text,
85
- numberOfLines: 1,
86
- ellipsizeMode: "middle",
87
- children: fileName
88
- }), /*#__PURE__*/_jsx(KLabel.Text, {
89
- typo: "TextXsNormal",
90
- color: subtitleColor,
91
- numberOfLines: 1,
92
- children: subtitle
79
+ }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
80
+ visible: !isDownloading,
81
+ children: /*#__PURE__*/_jsx(KImage.Base, {
82
+ uri: iconSource,
83
+ style: styles.fileIcon,
84
+ resizeMode: "contain"
85
+ })
86
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
87
+ flexS: 1,
88
+ children: [/*#__PURE__*/_jsx(KLabel.Text, {
89
+ typo: "TextSmMedium",
90
+ color: CHAT_BUBBLE_COLORS.text,
91
+ numberOfLines: 1,
92
+ ellipsizeMode: "middle",
93
+ children: fileName
94
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
95
+ typo: "TextXsNormal",
96
+ color: subtitleColor,
97
+ numberOfLines: 1,
98
+ children: subtitle
99
+ })]
100
+ }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
101
+ name: "eye-outline",
102
+ provider: "MaterialCommunityIcons",
103
+ onPress: handleView,
104
+ size: 20,
105
+ color: KColors.palette.gray.w600,
106
+ containerStyle: styles.viewIcon
107
+ }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
108
+ name: 'download-o',
109
+ provider: "DroppiiNew",
110
+ onPress: isDownloading ? undefined : handleDownload,
111
+ size: 20,
112
+ color: state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w600,
113
+ containerStyle: isDownloading ? styles.disabledIcon : undefined
93
114
  })]
94
- }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
95
- name: "eye-outline",
96
- provider: "MaterialCommunityIcons",
97
- onPress: handleView,
98
- size: 20,
99
- color: KColors.palette.gray.w600,
100
- containerStyle: styles.viewIcon
101
- }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
102
- name: 'download-o',
103
- provider: "DroppiiNew",
104
- onPress: isDownloading ? undefined : handleDownload,
105
- size: 20,
106
- color: state.status === 'error' ? KColors.palette.danger?.w400 ?? '#FF3B30' : KColors.palette.gray.w600,
107
- containerStyle: isDownloading ? styles.disabledIcon : undefined
108
- })]
115
+ })
109
116
  })
110
117
  });
111
118
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","useFileDownload","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleDownload","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","children","row","alignItems","br","paddingR","paddingV","background","white","VisibleView","visible","Touchable","center","cancelBtn","width","height","onPress","cancelBtnIconContainer","VectorIcons","name","provider","size","color","Base","uri","fileIcon","resizeMode","flexS","Text","typo","text","numberOfLines","ellipsizeMode","w600","containerStyle","viewIcon","undefined","disabledIcon","displayName","create","borderRadius","maxWidth","marginHorizontal","backgroundColor","hexToRgba","opacity"],"sourceRoot":"../../../../../src","sources":["components/messages/fileMessage/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","useFileDownload","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","groupPosition","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleDownload","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","children","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","row","alignItems","br","paddingR","paddingV","background","white","VisibleView","visible","Touchable","center","cancelBtn","width","height","onPress","cancelBtnIconContainer","VectorIcons","name","provider","size","color","Base","uri","fileIcon","resizeMode","flexS","Text","typo","text","numberOfLines","ellipsizeMode","w600","containerStyle","viewIcon","undefined","disabledIcon","displayName","create","borderRadius","maxWidth","marginHorizontal","backgroundColor","hexToRgba","opacity"],"sourceRoot":"../../../../../src","sources":["components/messages/fileMessage/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import { StyleSheet, useWindowDimensions } from 'react-native';
5
5
  import { KContainer, KImage } from '@droppii/libs';
6
6
  import ChatImageDimens from "../../../utils/chatImageDimens.js";
7
7
  import { messageStyles } from "../styles.js";
8
+ import { BubbleTailRow } from "../BubbleTailRow.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const DEFAULT_DIMS = {
10
11
  width: 300,
@@ -60,6 +61,7 @@ export const resolveImageDisplayDims = (message, windowWidth) => {
60
61
  };
61
62
  export const ImageMessage = /*#__PURE__*/memo(({
62
63
  message,
64
+ isOutgoing,
63
65
  onMediaPress
64
66
  }) => {
65
67
  const windowWidth = useWindowDimensions().width;
@@ -101,23 +103,27 @@ export const ImageMessage = /*#__PURE__*/memo(({
101
103
  return null;
102
104
  }
103
105
  const optimizedUrl = ChatImageDimens.getOptimizedImageUrlWithDimensions(rawImageUrl, imageDimensions.width, imageDimensions.height);
104
- return /*#__PURE__*/_jsx(KContainer.View, {
105
- style: styles.wrapper,
106
- children: /*#__PURE__*/_jsxs(KContainer.Touchable, {
107
- onPress: handlePress,
108
- style: [messageStyles.imageBubble, styles.imageContainer, {
109
- width: imageDimensions.width,
110
- height: imageDimensions.height
111
- }],
112
- children: [/*#__PURE__*/_jsx(KImage.Base, {
113
- uri: optimizedUrl,
114
- width: imageDimensions.width,
115
- height: imageDimensions.height,
116
- style: [messageStyles.imageBubble],
117
- onLoad: handleLoad
118
- }), isLoading && /*#__PURE__*/_jsx(KContainer.View, {
119
- style: styles.skeleton
120
- })]
106
+ return /*#__PURE__*/_jsx(BubbleTailRow, {
107
+ isOutgoing: isOutgoing,
108
+ withTail: false,
109
+ children: /*#__PURE__*/_jsx(KContainer.View, {
110
+ style: styles.wrapper,
111
+ children: /*#__PURE__*/_jsxs(KContainer.Touchable, {
112
+ onPress: handlePress,
113
+ style: [messageStyles.imageBubble, styles.imageContainer, {
114
+ width: imageDimensions.width,
115
+ height: imageDimensions.height
116
+ }],
117
+ children: [/*#__PURE__*/_jsx(KImage.Base, {
118
+ uri: optimizedUrl,
119
+ width: imageDimensions.width,
120
+ height: imageDimensions.height,
121
+ style: [messageStyles.imageBubble],
122
+ onLoad: handleLoad
123
+ }), isLoading && /*#__PURE__*/_jsx(KContainer.View, {
124
+ style: styles.skeleton
125
+ })]
126
+ })
121
127
  })
122
128
  });
123
129
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","jsx","_jsx","jsxs","_jsxs","DEFAULT_DIMS","width","height","MAX_CACHE","dimsCache","Map","cacheDims","url","dims","size","delete","keys","next","value","set","calcDisplayDims","imgWidth","imgHeight","windowWidth","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","resolveImageDisplayDims","message","pictureElem","rawImageUrl","snapshotPicture","bigPicture","sourcePicture","metaWidth","metaHeight","cachedDims","get","srcWidth","srcHeight","ImageMessage","onMediaPress","isLoading","setIsLoading","loadDimsVersion","setLoadDimsVersion","imageDimensions","handleLoad","e","nativeEvent","v","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","View","style","styles","wrapper","children","Touchable","onPress","imageBubble","imageContainer","Base","uri","onLoad","skeleton","displayName","create","overflow","position","top","left","right","bottom","backgroundColor","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/messages/imageMessage/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useState","useCallback","useMemo","StyleSheet","useWindowDimensions","KContainer","KImage","ChatImageDimens","messageStyles","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","DEFAULT_DIMS","width","height","MAX_CACHE","dimsCache","Map","cacheDims","url","dims","size","delete","keys","next","value","set","calcDisplayDims","imgWidth","imgHeight","windowWidth","aspectRatio","horizontalBuffer","maxWidth","Math","floor","finalWidth","finalHeight","maxHeight","round","resolveImageDisplayDims","message","pictureElem","rawImageUrl","snapshotPicture","bigPicture","sourcePicture","metaWidth","metaHeight","cachedDims","get","srcWidth","srcHeight","ImageMessage","isOutgoing","onMediaPress","isLoading","setIsLoading","loadDimsVersion","setLoadDimsVersion","imageDimensions","handleLoad","e","nativeEvent","v","handlePress","optimizedUrl","getOptimizedImageUrlWithDimensions","withTail","children","View","style","styles","wrapper","Touchable","onPress","imageBubble","imageContainer","Base","uri","onLoad","skeleton","displayName","create","overflow","position","top","left","right","bottom","backgroundColor","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/messages/imageMessage/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,11 +3,12 @@
3
3
  import { memo } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
5
  import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
- import { formatMessageTime } from "../types.js";
7
6
  import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
8
7
  import { parseUrlMetadata } from "../../../utils/messageUtils.js";
9
8
  import { messageStyles } from "../styles.js";
10
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ import { getTailCornerStyle } from "../bubbleTail.utils.js";
10
+ import { BubbleTailRow } from "../BubbleTailRow.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
12
  const renderTextWithLinks = (content, urls, onPressUrl) => {
12
13
  if (!urls.length) {
13
14
  return /*#__PURE__*/_jsx(KLabel.Text, {
@@ -50,17 +51,18 @@ const renderTextWithLinks = (content, urls, onPressUrl) => {
50
51
  export const LinkMessage = /*#__PURE__*/memo(({
51
52
  message,
52
53
  isOutgoing,
53
- createdAtTime,
54
54
  onPressUrl,
55
- isHighlighted
55
+ isHighlighted,
56
+ groupPosition
56
57
  }) => {
57
58
  const content = message?.urlTextElem?.content;
58
59
  const urls = message?.urlTextElem?.urls ?? [];
59
60
  const metadata = parseUrlMetadata(message.ex);
60
- const timeLabel = formatMessageTime(createdAtTime);
61
- return /*#__PURE__*/_jsxs(_Fragment, {
62
- children: [/*#__PURE__*/_jsxs(KContainer.View, {
63
- style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted],
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)],
64
66
  children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
65
67
  style: styles.textRow,
66
68
  children: renderTextWithLinks(content, urls, onPressUrl)
@@ -94,17 +96,7 @@ export const LinkMessage = /*#__PURE__*/memo(({
94
96
  })]
95
97
  })]
96
98
  })]
97
- }), /*#__PURE__*/_jsx(KContainer.View, {
98
- row: true,
99
- alignItems: true,
100
- style: styles.timeLabel,
101
- children: !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
102
- typo: "TextXsNormal",
103
- color: CHAT_BUBBLE_COLORS.timestamp,
104
- marginL: "0.25rem",
105
- children: timeLabel
106
- }) : null
107
- })]
99
+ })
108
100
  });
109
101
  });
110
102
  LinkMessage.displayName = 'LinkMessage';
@@ -141,10 +133,6 @@ const styles = StyleSheet.create({
141
133
  paddingHorizontal: KSpacingValue['0.75rem'],
142
134
  paddingVertical: KSpacingValue['0.5rem'],
143
135
  gap: 2
144
- },
145
- timeLabel: {
146
- gap: 4,
147
- marginTop: 2
148
136
  }
149
137
  });
150
138
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","formatMessageTime","CHAT_BUBBLE_COLORS","parseUrlMetadata","messageStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","createdAtTime","isHighlighted","urlTextElem","metadata","ex","timeLabel","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","row","alignItems","timestamp","marginL","displayName","create","wrapper","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","borderWidth","borderColor","white","overflow","width","aspectRatio","gap","marginTop"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/index.tsx"],"mappings":"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","ignoreList":[]}
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":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,aAAa,QACR,eAAe;AAEtB,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjD,MAAMC,mBAAmB,GAAGA,CAC1BC,OAAe,EACfC,IAAc,EACdC,UAAkC,KAC/B;EACH,IAAI,CAACD,IAAI,CAACE,MAAM,EAAE;IAChB,oBAAOP,IAAA,CAACT,MAAM,CAACiB,IAAI;MAACC,IAAI,EAAC,cAAc;MAAAC,QAAA,EAAEN;IAAO,CAAc,CAAC;EACjE;EAEA,MAAMO,KAAyC,GAAG,EAAE;EACpD,IAAIC,SAAS,GAAGR,OAAO;EAEvB,KAAK,MAAMS,GAAG,IAAIR,IAAI,EAAE;IACtB,MAAMS,GAAG,GAAGF,SAAS,CAACG,OAAO,CAACF,GAAG,CAAC;IAClC,IAAIC,GAAG,KAAK,CAAC,CAAC,EAAE;IAChB,IAAIA,GAAG,GAAG,CAAC,EAAEH,KAAK,CAACK,IAAI,CAAC;MAAEC,IAAI,EAAEL,SAAS,CAACM,KAAK,CAAC,CAAC,EAAEJ,GAAG,CAAC;MAAEK,KAAK,EAAE;IAAM,CAAC,CAAC;IACxER,KAAK,CAACK,IAAI,CAAC;MAAEC,IAAI,EAAEJ,GAAG;MAAEM,KAAK,EAAE;IAAK,CAAC,CAAC;IACtCP,SAAS,GAAGA,SAAS,CAACM,KAAK,CAACJ,GAAG,GAAGD,GAAG,CAACN,MAAM,CAAC;EAC/C;EAEA,IAAIK,SAAS,EAAED,KAAK,CAACK,IAAI,CAAC;IAAEC,IAAI,EAAEL,SAAS;IAAEO,KAAK,EAAE;EAAM,CAAC,CAAC;EAE5D,oBACEnB,IAAA,CAACT,MAAM,CAACiB,IAAI;IAACC,IAAI,EAAC,cAAc;IAAAC,QAAA,EAC7BC,KAAK,CAACS,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KACjBD,IAAI,CAACF,KAAK,gBACRnB,IAAA,CAACT,MAAM,CAACiB,IAAI;MAEVe,OAAO,EAAEA,CAAA,KAAMjB,UAAU,GAAGe,IAAI,CAACJ,IAAI,CAAE;MACvCO,KAAK,EAAEhC,OAAO,CAACiC,OAAO,CAACC,MAAO;MAC9BjB,IAAI,EAAC,cAAc;MAAAC,QAAA,EAElBW,IAAI,CAACJ;IAAI,GALLK,CAMM,CAAC,gBAEdtB,IAAA,CAACT,MAAM,CAACiB,IAAI;MAACC,IAAI,EAAC,cAAc;MAAAC,QAAA,EAC7BW,IAAI,CAACJ;IAAI,GAD0BK,CAEzB,CAEjB;EAAC,CACU,CAAC;AAElB,CAAC;AAED,OAAO,MAAMK,WAAW,gBAAGxC,IAAI,CAC7B,CAAC;EACCyC,OAAO;EACPC,UAAU;EACVvB,UAAU;EACVwB,aAAa;EACbC;AAC+D,CAAC,KAAK;EACrE,MAAM3B,OAAO,GAAGwB,OAAO,EAAEI,WAAW,EAAE5B,OAAO;EAC7C,MAAMC,IAAI,GAAGuB,OAAO,EAAEI,WAAW,EAAE3B,IAAI,IAAI,EAAE;EAC7C,MAAM4B,QAAQ,GAAGtC,gBAAgB,CAACiC,OAAO,CAACM,EAAE,CAAC;EAE7C,oBACElC,IAAA,CAACF,aAAa;IAAC+B,UAAU,EAAEA,UAAW;IAACE,aAAa,EAAEA,aAAc;IAAArB,QAAA,eAClER,KAAA,CAACb,UAAU,CAAC8C,IAAI;MACdC,KAAK,EAAE,CACLC,MAAM,CAACC,MAAM,EACbT,UAAU,GAAGQ,MAAM,CAACE,UAAU,GAAGF,MAAM,CAACG,cAAc,EACtDV,aAAa,IAAIlC,aAAa,CAAC6C,iBAAiB,EAChD5C,kBAAkB,CAACgC,UAAU,EAAEE,aAAa,CAAC,CAC7C;MAAArB,QAAA,GAED,CAAC,CAACN,OAAO,EAAEsC,IAAI,CAAC,CAAC,iBAChB1C,IAAA,CAACX,UAAU,CAAC8C,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACM,OAAQ;QAAAjC,QAAA,EACpCP,mBAAmB,CAACC,OAAO,EAAEC,IAAI,EAAEC,UAAU;MAAC,CAChC,CAClB,EAEA,CAAC,CAAC2B,QAAQ,iBACT/B,KAAA,CAACb,UAAU,CAACuD,SAAS;QACnBR,KAAK,EAAEC,MAAM,CAACQ,IAAK;QACnBtB,OAAO,EAAEA,CAAA,KAAMU,QAAQ,CAACpB,GAAG,IAAIP,UAAU,GAAG2B,QAAQ,CAACpB,GAAG,CAAE;QAAAH,QAAA,GAEzD,CAAC,CAACuB,QAAQ,CAACa,KAAK,iBACf9C,IAAA,CAACX,UAAU,CAAC8C,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACU,SAAU;UAAArC,QAAA,eACvCV,IAAA,CAACV,MAAM,CAAC0D,IAAI;YACVC,GAAG,EAAEhB,QAAQ,CAACa,KAAM;YACpBV,KAAK,EAAEhD,UAAU,CAAC8D,YAAa;YAC/BC,UAAU,EAAC;UAAO,CACnB;QAAC,CACa,CAClB,eACDjD,KAAA,CAACb,UAAU,CAAC8C,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACe,QAAS;UAAA1C,QAAA,GACrC,CAAC,CAACuB,QAAQ,CAACoB,KAAK,iBACfrD,IAAA,CAACT,MAAM,CAACiB,IAAI;YACVC,IAAI,EAAC,cAAc;YACnBe,KAAK,EAAEhC,OAAO,CAAC8D,OAAO,CAACC,IAAI,CAACC,IAAK;YACjCC,aAAa,EAAE,CAAE;YAAA/C,QAAA,EAEhBuB,QAAQ,CAACoB;UAAK,CACJ,CACd,EACA,CAAC,CAACpB,QAAQ,CAACpB,GAAG,iBACbb,IAAA,CAACT,MAAM,CAACiB,IAAI;YACVC,IAAI,EAAC,cAAc;YACnBe,KAAK,EAAEhC,OAAO,CAAC8D,OAAO,CAAC7B,OAAO,CAACiC,IAAK;YACpCD,aAAa,EAAE,CAAE;YAAA/C,QAAA,EAEhBuB,QAAQ,CAACpB;UAAG,CACF,CACd,EACA,CAAC,CAACoB,QAAQ,CAAC0B,WAAW,iBACrB3D,IAAA,CAACT,MAAM,CAACiB,IAAI;YACVC,IAAI,EAAC,cAAc;YACnBe,KAAK,EAAEhC,OAAO,CAAC+D,IAAI,CAAC7B,MAAO;YAC3B+B,aAAa,EAAE,CAAE;YAAA/C,QAAA,EAEhBuB,QAAQ,CAAC0B;UAAW,CACV,CACd;QAAA,CACc,CAAC;MAAA,CACE,CACvB;IAAA,CACc;EAAC,CACL,CAAC;AAEpB,CACF,CAAC;AAEDhC,WAAW,CAACiC,WAAW,GAAG,aAAa;AAEvC,MAAMvB,MAAM,GAAGjD,UAAU,CAACyE,MAAM,CAAC;EAC/BC,OAAO,EAAE;IACPC,QAAQ,EAAE;EACZ,CAAC;EACDzB,MAAM,EAAE;IACN0B,iBAAiB,EAAEvE,aAAa,CAAC,SAAS,CAAC;IAC3CwE,eAAe,EAAExE,aAAa,CAAC,QAAQ,CAAC;IACxCyE,YAAY,EAAEzE,aAAa,CAAC,SAAS;EACvC,CAAC;EACD+C,cAAc,EAAE;IACd2B,eAAe,EAAEzE,kBAAkB,CAAC0E;EACtC,CAAC;EACD7B,UAAU,EAAE;IACV4B,eAAe,EAAEzE,kBAAkB,CAAC2E;EACtC,CAAC;EACD1B,OAAO,EAAE;IACPqB,iBAAiB,EAAEvE,aAAa,CAAC,SAAS;EAC5C,CAAC;EACDoD,IAAI,EAAE;IACJqB,YAAY,EAAEzE,aAAa,CAAC,SAAS,CAAC;IACtC6E,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,oBAAoB;IACjCJ,eAAe,EAAE3E,OAAO,CAACgF,KAAK;IAC9BC,QAAQ,EAAE;EACZ,CAAC;EACD1B,SAAS,EAAE;IACT2B,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG;EACpB,CAAC;EACDvB,QAAQ,EAAE;IACRY,iBAAiB,EAAEvE,aAAa,CAAC,SAAS,CAAC;IAC3CwE,eAAe,EAAExE,aAAa,CAAC,QAAQ,CAAC;IACxCmF,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -4,11 +4,14 @@ import { memo } from 'react';
4
4
  import { KContainer } from '@droppii/libs';
5
5
  import { MergedImageGrid } from "../../MergedImageGrid.js";
6
6
  import { messageStyles } from "../styles.js";
7
+ import { getTailCornerStyle } from "../bubbleTail.utils.js";
8
+ import { BubbleTailRow } from "../BubbleTailRow.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
10
  export const MergedMessage = /*#__PURE__*/memo(({
9
11
  message,
10
12
  isOutgoing,
11
- onMediaPress
13
+ onMediaPress,
14
+ groupPosition
12
15
  }) => {
13
16
  const mergeElem = message.mergeElem;
14
17
  if (!mergeElem?.multiMessage) {
@@ -18,12 +21,16 @@ export const MergedMessage = /*#__PURE__*/memo(({
18
21
  multiMessage
19
22
  } = mergeElem;
20
23
  const imageMessages = multiMessage.filter(msg => msg.contentType === 102);
21
- return /*#__PURE__*/_jsx(KContainer.View, {
22
- style: [messageStyles.bubble, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived],
23
- children: imageMessages.length > 0 && /*#__PURE__*/_jsx(MergedImageGrid, {
24
- images: imageMessages,
25
- maxDisplay: 3,
26
- onMediaPress: onMediaPress
24
+ return /*#__PURE__*/_jsx(BubbleTailRow, {
25
+ isOutgoing: isOutgoing,
26
+ groupPosition: groupPosition,
27
+ children: /*#__PURE__*/_jsx(KContainer.View, {
28
+ style: [messageStyles.bubble, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, getTailCornerStyle(isOutgoing, groupPosition)],
29
+ children: imageMessages.length > 0 && /*#__PURE__*/_jsx(MergedImageGrid, {
30
+ images: imageMessages,
31
+ maxDisplay: 3,
32
+ onMediaPress: onMediaPress
33
+ })
27
34
  })
28
35
  });
29
36
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","KContainer","MergedImageGrid","messageStyles","jsx","_jsx","MergedMessage","message","isOutgoing","onMediaPress","mergeElem","multiMessage","imageMessages","filter","msg","contentType","View","style","bubble","bubbleSent","bubbleReceived","children","length","images","maxDisplay","displayName"],"sourceRoot":"../../../../../src","sources":["components/messages/mergedMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,eAAe,QAAQ,0BAAuB;AACvD,SAASC,aAAa,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1C,OAAO,MAAMC,aAAa,gBAAGN,IAAI,CAC/B,CAAC;EAAEO,OAAO;EAAEC,UAAU;EAAEC;AAAqC,CAAC,KAAK;EACjE,MAAMC,SAAS,GAAIH,OAAO,CAASG,SAAS;EAE5C,IAAI,CAACA,SAAS,EAAEC,YAAY,EAAE;IAC5B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEA;EAAa,CAAC,GAAGD,SAAS;EAClC,MAAME,aAAa,GAAGD,YAAY,CAACE,MAAM,CACtCC,GAAQ,IAAKA,GAAG,CAACC,WAAW,KAAK,GACpC,CAAC;EAED,oBACEV,IAAA,CAACJ,UAAU,CAACe,IAAI;IACdC,KAAK,EAAE,CACLd,aAAa,CAACe,MAAM,EACpBV,UAAU,GAAGL,aAAa,CAACgB,UAAU,GAAGhB,aAAa,CAACiB,cAAc,CACpE;IAAAC,QAAA,EAEDT,aAAa,CAACU,MAAM,GAAG,CAAC,iBACvBjB,IAAA,CAACH,eAAe;MACdqB,MAAM,EAAEX,aAAc;MACtBY,UAAU,EAAE,CAAE;MACdf,YAAY,EAAEA;IAAa,CAC5B;EACF,CACc,CAAC;AAEtB,CACF,CAAC;AAEDH,aAAa,CAACmB,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["memo","KContainer","MergedImageGrid","messageStyles","getTailCornerStyle","BubbleTailRow","jsx","_jsx","MergedMessage","message","isOutgoing","onMediaPress","groupPosition","mergeElem","multiMessage","imageMessages","filter","msg","contentType","children","View","style","bubble","bubbleSent","bubbleReceived","length","images","maxDisplay","displayName"],"sourceRoot":"../../../../../src","sources":["components/messages/mergedMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,eAAe,QAAQ,0BAAuB;AACvD,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjD,OAAO,MAAMC,aAAa,gBAAGR,IAAI,CAC/B,CAAC;EACCS,OAAO;EACPC,UAAU;EACVC,YAAY;EACZC;AACsB,CAAC,KAAK;EAC5B,MAAMC,SAAS,GAAIJ,OAAO,CAASI,SAAS;EAE5C,IAAI,CAACA,SAAS,EAAEC,YAAY,EAAE;IAC5B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEA;EAAa,CAAC,GAAGD,SAAS;EAClC,MAAME,aAAa,GAAGD,YAAY,CAACE,MAAM,CACtCC,GAAQ,IAAKA,GAAG,CAACC,WAAW,KAAK,GACpC,CAAC;EAED,oBACEX,IAAA,CAACF,aAAa;IAACK,UAAU,EAAEA,UAAW;IAACE,aAAa,EAAEA,aAAc;IAAAO,QAAA,eAClEZ,IAAA,CAACN,UAAU,CAACmB,IAAI;MACdC,KAAK,EAAE,CACLlB,aAAa,CAACmB,MAAM,EACpBZ,UAAU,GACNP,aAAa,CAACoB,UAAU,GACxBpB,aAAa,CAACqB,cAAc,EAChCpB,kBAAkB,CAACM,UAAU,EAAEE,aAAa,CAAC,CAC7C;MAAAO,QAAA,EAEDJ,aAAa,CAACU,MAAM,GAAG,CAAC,iBACvBlB,IAAA,CAACL,eAAe;QACdwB,MAAM,EAAEX,aAAc;QACtBY,UAAU,EAAE,CAAE;QACdhB,YAAY,EAAEA;MAAa,CAC5B;IACF,CACc;EAAC,CACL,CAAC;AAEpB,CACF,CAAC;AAEDH,aAAa,CAACoB,WAAW,GAAG,eAAe","ignoreList":[]}