@kesha-antonov/react-native-chat 4.1.0 → 4.3.0

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 (253) hide show
  1. package/README.md +306 -62
  2. package/lib/Actions.d.ts +5 -5
  3. package/lib/Actions.d.ts.map +1 -1
  4. package/lib/Actions.js +28 -39
  5. package/lib/Actions.js.map +1 -1
  6. package/lib/Avatar.d.ts.map +1 -1
  7. package/lib/Avatar.js +22 -27
  8. package/lib/Avatar.js.map +1 -1
  9. package/lib/Bubble/index.d.ts.map +1 -1
  10. package/lib/Bubble/index.js +138 -37
  11. package/lib/Bubble/index.js.map +1 -1
  12. package/lib/Bubble/styles.d.ts +47 -11
  13. package/lib/Bubble/styles.d.ts.map +1 -1
  14. package/lib/Bubble/styles.js +108 -57
  15. package/lib/Bubble/styles.js.map +1 -1
  16. package/lib/Bubble/types.d.ts +16 -1
  17. package/lib/Bubble/types.d.ts.map +1 -1
  18. package/lib/Chat/ChatKeyboardAvoidingView.d.ts +21 -0
  19. package/lib/Chat/ChatKeyboardAvoidingView.d.ts.map +1 -0
  20. package/lib/Chat/ChatKeyboardAvoidingView.js +15 -0
  21. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -0
  22. package/lib/Chat/index.d.ts.map +1 -1
  23. package/lib/Chat/index.js +81 -28
  24. package/lib/Chat/index.js.map +1 -1
  25. package/lib/Chat/types.d.ts +36 -6
  26. package/lib/Chat/types.d.ts.map +1 -1
  27. package/lib/ChatAvatar.d.ts.map +1 -1
  28. package/lib/ChatAvatar.js +11 -17
  29. package/lib/ChatAvatar.js.map +1 -1
  30. package/lib/ChatContext.d.ts +29 -1
  31. package/lib/ChatContext.d.ts.map +1 -1
  32. package/lib/ChatContext.js +3 -0
  33. package/lib/ChatContext.js.map +1 -1
  34. package/lib/Color.d.ts.map +1 -1
  35. package/lib/Color.js +6 -2
  36. package/lib/Color.js.map +1 -1
  37. package/lib/Composer.d.ts +14 -1
  38. package/lib/Composer.d.ts.map +1 -1
  39. package/lib/Composer.js +63 -50
  40. package/lib/Composer.js.map +1 -1
  41. package/lib/Day/index.d.ts.map +1 -1
  42. package/lib/Day/index.js +7 -3
  43. package/lib/Day/index.js.map +1 -1
  44. package/lib/Day/styles.d.ts +6 -7
  45. package/lib/Day/styles.d.ts.map +1 -1
  46. package/lib/Day/styles.js +11 -13
  47. package/lib/Day/styles.js.map +1 -1
  48. package/lib/Icons.d.ts +24 -0
  49. package/lib/Icons.d.ts.map +1 -0
  50. package/lib/Icons.js +2 -0
  51. package/lib/Icons.js.map +1 -0
  52. package/lib/InputToolbar.d.ts +18 -5
  53. package/lib/InputToolbar.d.ts.map +1 -1
  54. package/lib/InputToolbar.js +223 -19
  55. package/lib/InputToolbar.js.map +1 -1
  56. package/lib/LoadEarlierMessages.d.ts.map +1 -1
  57. package/lib/LoadEarlierMessages.js +12 -7
  58. package/lib/LoadEarlierMessages.js.map +1 -1
  59. package/lib/Message/index.d.ts.map +1 -1
  60. package/lib/Message/index.js +10 -9
  61. package/lib/Message/index.js.map +1 -1
  62. package/lib/Message/styles.d.ts +1 -4
  63. package/lib/Message/styles.d.ts.map +1 -1
  64. package/lib/Message/styles.js +4 -4
  65. package/lib/Message/styles.js.map +1 -1
  66. package/lib/MessageAudio.d.ts +2 -1
  67. package/lib/MessageAudio.d.ts.map +1 -1
  68. package/lib/MessageAudio.js +121 -19
  69. package/lib/MessageAudio.js.map +1 -1
  70. package/lib/MessageLocation.d.ts +9 -0
  71. package/lib/MessageLocation.d.ts.map +1 -0
  72. package/lib/MessageLocation.js +85 -0
  73. package/lib/MessageLocation.js.map +1 -0
  74. package/lib/MessageText.d.ts +12 -1
  75. package/lib/MessageText.d.ts.map +1 -1
  76. package/lib/MessageText.js +38 -11
  77. package/lib/MessageText.js.map +1 -1
  78. package/lib/MessageVideo.d.ts +2 -1
  79. package/lib/MessageVideo.d.ts.map +1 -1
  80. package/lib/MessageVideo.js +156 -18
  81. package/lib/MessageVideo.js.map +1 -1
  82. package/lib/MessagesContainer/FlashList.d.ts +9 -0
  83. package/lib/MessagesContainer/FlashList.d.ts.map +1 -0
  84. package/lib/MessagesContainer/FlashList.js +23 -0
  85. package/lib/MessagesContainer/FlashList.js.map +1 -0
  86. package/lib/MessagesContainer/components/Item/index.d.ts +2 -1
  87. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
  88. package/lib/MessagesContainer/components/Item/index.js +23 -1
  89. package/lib/MessagesContainer/components/Item/index.js.map +1 -1
  90. package/lib/MessagesContainer/index.d.ts.map +1 -1
  91. package/lib/MessagesContainer/index.js +133 -42
  92. package/lib/MessagesContainer/index.js.map +1 -1
  93. package/lib/MessagesContainer/styles.d.ts +23 -7
  94. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  95. package/lib/MessagesContainer/styles.js +25 -9
  96. package/lib/MessagesContainer/styles.js.map +1 -1
  97. package/lib/MessagesContainer/types.d.ts +22 -2
  98. package/lib/MessagesContainer/types.d.ts.map +1 -1
  99. package/lib/Models.d.ts +72 -0
  100. package/lib/Models.d.ts.map +1 -1
  101. package/lib/QuickReplies.d.ts +1 -1
  102. package/lib/QuickReplies.d.ts.map +1 -1
  103. package/lib/QuickReplies.js +13 -7
  104. package/lib/QuickReplies.js.map +1 -1
  105. package/lib/Reactions/MessageReactions.d.ts.map +1 -1
  106. package/lib/Reactions/MessageReactions.js +11 -10
  107. package/lib/Reactions/MessageReactions.js.map +1 -1
  108. package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
  109. package/lib/Reactions/ReactionPicker.js +5 -3
  110. package/lib/Reactions/ReactionPicker.js.map +1 -1
  111. package/lib/Send.d.ts +2 -2
  112. package/lib/Send.d.ts.map +1 -1
  113. package/lib/Send.js +37 -37
  114. package/lib/Send.js.map +1 -1
  115. package/lib/SystemMessage.d.ts.map +1 -1
  116. package/lib/SystemMessage.js +8 -5
  117. package/lib/SystemMessage.js.map +1 -1
  118. package/lib/Theme.d.ts +148 -0
  119. package/lib/Theme.d.ts.map +1 -0
  120. package/lib/Theme.js +142 -0
  121. package/lib/Theme.js.map +1 -0
  122. package/lib/Time.d.ts.map +1 -1
  123. package/lib/Time.js +7 -5
  124. package/lib/Time.js.map +1 -1
  125. package/lib/TypingIndicator/index.d.ts.map +1 -1
  126. package/lib/TypingIndicator/index.js +4 -1
  127. package/lib/TypingIndicator/index.js.map +1 -1
  128. package/lib/TypingIndicator/styles.d.ts +2 -2
  129. package/lib/TypingIndicator/styles.d.ts.map +1 -1
  130. package/lib/TypingIndicator/styles.js +4 -5
  131. package/lib/TypingIndicator/styles.js.map +1 -1
  132. package/lib/components/AttachmentSheet.d.ts +28 -0
  133. package/lib/components/AttachmentSheet.d.ts.map +1 -0
  134. package/lib/components/AttachmentSheet.js +177 -0
  135. package/lib/components/AttachmentSheet.js.map +1 -0
  136. package/lib/components/BasicMarkdown.d.ts +12 -0
  137. package/lib/components/BasicMarkdown.d.ts.map +1 -0
  138. package/lib/components/BasicMarkdown.js +220 -0
  139. package/lib/components/BasicMarkdown.js.map +1 -0
  140. package/lib/components/ContextMenu.d.ts +25 -0
  141. package/lib/components/ContextMenu.d.ts.map +1 -0
  142. package/lib/components/ContextMenu.js +122 -0
  143. package/lib/components/ContextMenu.js.map +1 -0
  144. package/lib/components/Icon.d.ts +17 -0
  145. package/lib/components/Icon.d.ts.map +1 -0
  146. package/lib/components/Icon.js +19 -0
  147. package/lib/components/Icon.js.map +1 -0
  148. package/lib/components/LucideIcon.d.ts +10 -0
  149. package/lib/components/LucideIcon.d.ts.map +1 -0
  150. package/lib/components/LucideIcon.js +118 -0
  151. package/lib/components/LucideIcon.js.map +1 -0
  152. package/lib/components/MarkdownMessageText.d.ts +19 -0
  153. package/lib/components/MarkdownMessageText.d.ts.map +1 -0
  154. package/lib/components/MarkdownMessageText.js +35 -0
  155. package/lib/components/MarkdownMessageText.js.map +1 -0
  156. package/lib/components/MediaCard.d.ts +19 -0
  157. package/lib/components/MediaCard.d.ts.map +1 -0
  158. package/lib/components/MediaCard.js +102 -0
  159. package/lib/components/MediaCard.js.map +1 -0
  160. package/lib/components/MediaControls.d.ts +41 -0
  161. package/lib/components/MediaControls.d.ts.map +1 -0
  162. package/lib/components/MediaControls.js +523 -0
  163. package/lib/components/MediaControls.js.map +1 -0
  164. package/lib/components/MessageReply.d.ts.map +1 -1
  165. package/lib/components/MessageReply.js +11 -9
  166. package/lib/components/MessageReply.js.map +1 -1
  167. package/lib/components/ReplyPreview.d.ts +3 -1
  168. package/lib/components/ReplyPreview.d.ts.map +1 -1
  169. package/lib/components/ReplyPreview.js +36 -36
  170. package/lib/components/ReplyPreview.js.map +1 -1
  171. package/lib/components/SendIcon.d.ts +13 -0
  172. package/lib/components/SendIcon.d.ts.map +1 -0
  173. package/lib/components/SendIcon.js +37 -0
  174. package/lib/components/SendIcon.js.map +1 -0
  175. package/lib/components/Ticks.d.ts +25 -0
  176. package/lib/components/Ticks.d.ts.map +1 -0
  177. package/lib/components/Ticks.js +102 -0
  178. package/lib/components/Ticks.js.map +1 -0
  179. package/lib/components/VideoNoteOverlay.d.ts +25 -0
  180. package/lib/components/VideoNoteOverlay.d.ts.map +1 -0
  181. package/lib/components/VideoNoteOverlay.js +151 -0
  182. package/lib/components/VideoNoteOverlay.js.map +1 -0
  183. package/lib/components/VideoNoteRecorder.d.ts +19 -0
  184. package/lib/components/VideoNoteRecorder.d.ts.map +1 -0
  185. package/lib/components/VideoNoteRecorder.js +634 -0
  186. package/lib/components/VideoNoteRecorder.js.map +1 -0
  187. package/lib/components/VideoRecordButton.d.ts +29 -0
  188. package/lib/components/VideoRecordButton.d.ts.map +1 -0
  189. package/lib/components/VideoRecordButton.js +117 -0
  190. package/lib/components/VideoRecordButton.js.map +1 -0
  191. package/lib/components/VoiceMessageInput.d.ts +33 -0
  192. package/lib/components/VoiceMessageInput.d.ts.map +1 -0
  193. package/lib/components/VoiceMessageInput.js +396 -0
  194. package/lib/components/VoiceMessageInput.js.map +1 -0
  195. package/lib/components/WaveformPlayer.d.ts +19 -0
  196. package/lib/components/WaveformPlayer.d.ts.map +1 -0
  197. package/lib/components/WaveformPlayer.js +367 -0
  198. package/lib/components/WaveformPlayer.js.map +1 -0
  199. package/lib/components/mediaPalette.d.ts +23 -0
  200. package/lib/components/mediaPalette.d.ts.map +1 -0
  201. package/lib/components/mediaPalette.js +16 -0
  202. package/lib/components/mediaPalette.js.map +1 -0
  203. package/lib/components/mediaPlayback.d.ts +22 -0
  204. package/lib/components/mediaPlayback.d.ts.map +1 -0
  205. package/lib/components/mediaPlayback.js +34 -0
  206. package/lib/components/mediaPlayback.js.map +1 -0
  207. package/lib/hooks/useColorScheme.d.ts +9 -2
  208. package/lib/hooks/useColorScheme.d.ts.map +1 -1
  209. package/lib/hooks/useColorScheme.js +9 -3
  210. package/lib/hooks/useColorScheme.js.map +1 -1
  211. package/lib/hooks/useHasKeyboardProvider.d.ts +19 -0
  212. package/lib/hooks/useHasKeyboardProvider.d.ts.map +1 -0
  213. package/lib/hooks/useHasKeyboardProvider.js +31 -0
  214. package/lib/hooks/useHasKeyboardProvider.js.map +1 -0
  215. package/lib/hooks/useIcons.d.ts +4 -0
  216. package/lib/hooks/useIcons.d.ts.map +1 -0
  217. package/lib/hooks/useIcons.js +8 -0
  218. package/lib/hooks/useIcons.js.map +1 -0
  219. package/lib/hooks/useIsKeyboardVisible.d.ts +12 -0
  220. package/lib/hooks/useIsKeyboardVisible.d.ts.map +1 -0
  221. package/lib/hooks/useIsKeyboardVisible.js +31 -0
  222. package/lib/hooks/useIsKeyboardVisible.js.map +1 -0
  223. package/lib/hooks/useKeyboardVerticalOffset.d.ts +28 -0
  224. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -0
  225. package/lib/hooks/useKeyboardVerticalOffset.js +43 -0
  226. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -0
  227. package/lib/hooks/useLabels.d.ts +4 -0
  228. package/lib/hooks/useLabels.d.ts.map +1 -0
  229. package/lib/hooks/useLabels.js +8 -0
  230. package/lib/hooks/useLabels.js.map +1 -0
  231. package/lib/hooks/useTheme.d.ts +21 -0
  232. package/lib/hooks/useTheme.d.ts.map +1 -0
  233. package/lib/hooks/useTheme.js +32 -0
  234. package/lib/hooks/useTheme.js.map +1 -0
  235. package/lib/i18n.d.ts +59 -0
  236. package/lib/i18n.d.ts.map +1 -0
  237. package/lib/i18n.js +122 -0
  238. package/lib/i18n.js.map +1 -0
  239. package/lib/index.d.ts +17 -0
  240. package/lib/index.d.ts.map +1 -1
  241. package/lib/index.js +17 -0
  242. package/lib/index.js.map +1 -1
  243. package/lib/types.d.ts +2 -1
  244. package/lib/types.d.ts.map +1 -1
  245. package/package.json +103 -41
  246. package/lib/MessageReply.d.ts +0 -15
  247. package/lib/MessageReply.d.ts.map +0 -1
  248. package/lib/MessageReply.js +0 -102
  249. package/lib/MessageReply.js.map +0 -1
  250. package/lib/ReplyPreview.d.ts +0 -14
  251. package/lib/ReplyPreview.d.ts.map +0 -1
  252. package/lib/ReplyPreview.js +0 -94
  253. package/lib/ReplyPreview.js.map +0 -1
package/lib/Actions.js CHANGED
@@ -1,64 +1,53 @@
1
- import React, { useCallback } from 'react';
2
- import { StyleSheet, View, Text } from 'react-native';
3
- import { useChatContext } from './ChatContext';
4
- import { Color } from './Color';
1
+ import React, { useCallback, useState } from 'react';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { AttachmentSheet } from './components/AttachmentSheet';
4
+ import { Icon } from './components/Icon';
5
+ import { PaperclipIcon } from './components/MediaControls';
5
6
  import { TouchableOpacity } from './components/TouchableOpacity';
7
+ import { useThemedStyles } from './hooks/useTheme';
6
8
  import stylesCommon from './styles';
7
- export function Actions({ actions, actionSheetOptionTintColor = Color.optionTintColor, icon, wrapperStyle, iconTextStyle, onPressActionButton, buttonStyle, }) {
8
- const { actionSheet } = useChatContext();
9
+ export function Actions({ actions, actionSheetOptionTintColor, icon, wrapperStyle, onPressActionButton, buttonStyle, }) {
10
+ const styles = useThemedStyles(createStyles);
11
+ const [isSheetVisible, setIsSheetVisible] = useState(false);
9
12
  const handlePress = useCallback(() => {
10
13
  if (onPressActionButton) {
11
14
  onPressActionButton();
12
15
  return;
13
16
  }
14
- if (!actions?.length)
15
- return;
16
- const titles = actions.map(item => item.title);
17
- actionSheet().showActionSheetWithOptions({
18
- options: titles,
19
- cancelButtonIndex: titles.length - 1,
20
- tintColor: actionSheetOptionTintColor,
21
- }, (buttonIndex) => {
22
- if (buttonIndex === undefined)
23
- return;
24
- const item = actions[buttonIndex];
25
- item.action?.();
26
- });
27
- }, [actionSheet, actions, actionSheetOptionTintColor, onPressActionButton]);
17
+ if (actions?.length)
18
+ setIsSheetVisible(true);
19
+ }, [actions, onPressActionButton]);
28
20
  const renderIcon = useCallback(() => {
29
21
  if (icon)
30
22
  return icon();
31
- return (<View style={[stylesCommon.centerItems, styles.wrapper, wrapperStyle]}>
32
- <Text style={[styles.iconText, iconTextStyle]}>{'+'}</Text>
23
+ const size = styles.iconText.fontSize;
24
+ return (<View style={[stylesCommon.centerItems, wrapperStyle]}>
25
+ <Icon name='paperclip' color={styles.iconText.color} size={size} fallback={<PaperclipIcon color={styles.iconText.color} size={size}/>}/>
33
26
  </View>);
34
- }, [icon, iconTextStyle, wrapperStyle]);
27
+ }, [icon, wrapperStyle, styles]);
35
28
  return (<View style={styles.container}>
36
- <TouchableOpacity onPress={handlePress} style={[styles.button, buttonStyle]}>
29
+ <TouchableOpacity onPress={handlePress} hitSlop={8} style={[styles.button, buttonStyle]}>
37
30
  {renderIcon()}
38
31
  </TouchableOpacity>
32
+ <AttachmentSheet visible={isSheetVisible} actions={actions ?? []} onClose={() => setIsSheetVisible(false)} tintColor={actionSheetOptionTintColor}/>
39
33
  </View>);
40
34
  }
41
- const styles = StyleSheet.create({
35
+ const createStyles = (theme) => StyleSheet.create({
42
36
  container: {
43
- alignItems: 'flex-end',
37
+ alignItems: 'center',
38
+ justifyContent: 'center',
44
39
  },
45
40
  button: {
46
- paddingLeft: 10,
47
- paddingRight: 4,
48
- paddingVertical: 7,
49
- },
50
- wrapper: {
51
- borderColor: Color.defaultColor,
52
- borderWidth: 2,
53
- width: 26,
54
- height: 26,
55
- borderRadius: 13,
41
+ alignItems: 'center',
42
+ justifyContent: 'center',
43
+ paddingBottom: 8,
56
44
  },
45
+ // Inset attachment icon: borderless, sized/colored as a field inset control.
57
46
  iconText: {
58
- color: Color.defaultColor,
47
+ color: theme.colors.incomingMeta,
59
48
  fontWeight: 'bold',
60
- fontSize: 16,
61
- lineHeight: 16,
49
+ fontSize: theme.composer.insetIconSize,
50
+ lineHeight: theme.composer.insetIconSize,
62
51
  },
63
52
  });
64
53
  //# sourceMappingURL=Actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../src/Actions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../src/Actions.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAA;AACrD,OAAO,EACL,UAAU,EAEV,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AA6CzD,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,QAAQ;IACpD,cAAc,EAAE,QAAQ,CAAA;IACxB,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,GAAG,SAAS,CAAA;IAC5E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;CACzC;AAED,wBAAgB,MAAM,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EACzD,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,4BAkG7B"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAA;AACrD,OAAO,EACL,UAAU,EAEV,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAuCzD,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,QAAQ;IACpD,cAAc,EAAE,QAAQ,CAAA;IACxB,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,GAAG,SAAS,CAAA;IAC5E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;CACzC;AAED,wBAAgB,MAAM,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EACzD,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,4BAqG7B"}
package/lib/Avatar.js CHANGED
@@ -1,37 +1,31 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import { StyleSheet, View, } from 'react-native';
3
3
  import { ChatAvatar } from './ChatAvatar';
4
+ import { useThemedStyles } from './hooks/useTheme';
4
5
  import { isSameUser, isSameDay } from './utils';
5
- const styles = {
6
- left: StyleSheet.create({
7
- container: {
8
- marginRight: 8,
9
- },
10
- onTop: {
11
- alignSelf: 'flex-start',
12
- },
13
- image: {
14
- height: 36,
15
- width: 36,
16
- borderRadius: 18,
17
- },
18
- }),
19
- right: StyleSheet.create({
20
- container: {
21
- marginLeft: 8,
22
- },
23
- onTop: {
24
- alignSelf: 'flex-start',
25
- },
26
- image: {
27
- height: 36,
28
- width: 36,
29
- borderRadius: 18,
30
- },
31
- }),
6
+ const createStyles = (theme) => {
7
+ const size = theme.avatar.size;
8
+ const image = {
9
+ height: size,
10
+ width: size,
11
+ borderRadius: size / 2,
12
+ };
13
+ return {
14
+ left: StyleSheet.create({
15
+ container: { marginRight: 8 },
16
+ onTop: { alignSelf: 'flex-start' },
17
+ image,
18
+ }),
19
+ right: StyleSheet.create({
20
+ container: { marginLeft: 8 },
21
+ onTop: { alignSelf: 'flex-start' },
22
+ image,
23
+ }),
24
+ };
32
25
  };
33
26
  export function Avatar(props) {
34
27
  const { isAvatarOnTop, isAvatarVisibleForEveryMessage, containerStyle, position, currentMessage, renderAvatar, previousMessage, nextMessage, imageStyle, onPressAvatar, onLongPressAvatar, } = props;
28
+ const styles = useThemedStyles(createStyles);
35
29
  const messageToCompare = isAvatarOnTop ? previousMessage : nextMessage;
36
30
  const renderAvatarComponent = useCallback(() => {
37
31
  if (renderAvatar)
@@ -65,6 +59,7 @@ export function Avatar(props) {
65
59
  imageStyle,
66
60
  onPressAvatar,
67
61
  onLongPressAvatar,
62
+ styles,
68
63
  ]);
69
64
  if (renderAvatar === null)
70
65
  return null;
package/lib/Avatar.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAA;AAqBrE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOpC,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAA;AAE7D,cAAc,SAAS,CAAA;AAcvB,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAG,KAAK,CAAC,YAohBjG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAA;AA4BrE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOpC,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAA;AAE7D,cAAc,SAAS,CAAA;AAcvB,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAG,KAAK,CAAC,YA4pBjG,CAAA"}
@@ -1,11 +1,16 @@
1
1
  import React, { useCallback, useMemo, useRef, useState } from 'react';
2
- import { View, Pressable, Text } from 'react-native';
2
+ import { View, Pressable, StyleSheet, Text } from 'react-native';
3
3
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
4
4
  import Animated, { Easing, ReduceMotion, runOnJS, useAnimatedStyle, useSharedValue, withTiming, } from 'react-native-reanimated';
5
5
  import { useChatContext } from '../ChatContext';
6
+ import { ContextMenu } from '../components/ContextMenu';
7
+ import { Icon } from '../components/Icon';
6
8
  import { MessageReply } from '../components/MessageReply';
9
+ import { PendingClock, Ticks } from '../components/Ticks';
10
+ import { useTheme, useThemedStyles } from '../hooks/useTheme';
7
11
  import { MessageAudio } from '../MessageAudio';
8
12
  import { MessageImage } from '../MessageImage';
13
+ import { MessageLocation } from '../MessageLocation';
9
14
  import { MessageText } from '../MessageText';
10
15
  import { MessageVideo } from '../MessageVideo';
11
16
  import { QuickReplies } from '../QuickReplies';
@@ -13,15 +18,35 @@ import { DEFAULT_REACTION_EMOJIS, MessageReactions, ReactionPicker } from '../Re
13
18
  import { getStyleWithPosition } from '../styles';
14
19
  import { Time } from '../Time';
15
20
  import { isSameUser, isSameDay, renderComponentOrElement } from '../utils';
16
- import styles from './styles';
21
+ import { createBubbleStyles } from './styles';
17
22
  export * from './types';
18
23
  const SCALE_PRESSED = 0.85;
19
24
  const SCALE_DURATION_IN = 400;
20
25
  const SCALE_DURATION_OUT = 200;
21
26
  const SCALE_EASING = Easing.inOut(Easing.quad);
22
27
  export const Bubble = (props) => {
23
- const { currentMessage, nextMessage, position, containerToNextStyle, previousMessage, containerToPreviousStyle, onQuickReply, renderQuickReplySend, quickReplyStyle, quickReplyTextStyle, quickReplyContainerStyle, containerStyle, wrapperStyle, bottomContainerStyle, onPressMessage: onPressMessageProp, onLongPressMessage: onLongPressMessageProp, reactions, } = props;
28
+ const { currentMessage, nextMessage, position, containerToNextStyle, previousMessage, containerToPreviousStyle, onQuickReply, renderQuickReplySend, quickReplyStyle, quickReplyTextStyle, quickReplyContainerStyle, containerStyle, wrapperStyle, bottomContainerStyle, onPressMessage: onPressMessageProp, onLongPressMessage: onLongPressMessageProp, reactions, messageActions, isMessageGestureEnabled = true, } = props;
24
29
  const context = useChatContext();
30
+ const theme = useTheme();
31
+ const styles = useThemedStyles(createBubbleStyles);
32
+ // Resolve the long-press context-menu actions for this message.
33
+ const menuItems = useMemo(() => {
34
+ if (!messageActions || !currentMessage)
35
+ return [];
36
+ return typeof messageActions === 'function' ? messageActions(currentMessage) : messageActions;
37
+ }, [messageActions, currentMessage]);
38
+ const hasMenu = menuItems.length > 0;
39
+ // A pure video note (round video, no text) drops the bubble background so the
40
+ // circle floats like in Telegram. Its meta row then has no bubble to sit on,
41
+ // so it moves into a translucent pill over the circle instead.
42
+ const isVideoNote = !!currentMessage?.videoNote && !!currentMessage?.video && !currentMessage?.text;
43
+ // Consumers can hand the touches back to natively interactive content
44
+ // (video controls, maps, WebViews) on a per-message basis.
45
+ const isGestureEnabled = useMemo(() => {
46
+ if (typeof isMessageGestureEnabled === 'function')
47
+ return currentMessage ? isMessageGestureEnabled(currentMessage) : true;
48
+ return isMessageGestureEnabled;
49
+ }, [isMessageGestureEnabled, currentMessage]);
25
50
  const bubbleContainerRef = useRef(null);
26
51
  const [isPickerVisible, setIsPickerVisible] = useState(false);
27
52
  const [pickerAnchor, setPickerAnchor] = useState({
@@ -52,12 +77,16 @@ export const Bubble = (props) => {
52
77
  });
53
78
  }, []);
54
79
  const tapGesture = useMemo(() => Gesture.Tap()
80
+ // Keep native subviews (video controls, maps, native buttons) receiving
81
+ // touches. iOS cancels them by default the moment this recognizer wins.
82
+ .cancelsTouchesInView(false)
55
83
  .runOnJS(true)
56
84
  .onEnd((_e, success) => {
57
85
  if (success)
58
86
  onPressMessageProp?.(context, currentMessage);
59
87
  }), [onPressMessageProp, context, currentMessage]);
60
88
  const longPressGesture = useMemo(() => Gesture.LongPress()
89
+ .cancelsTouchesInView(false)
61
90
  .onBegin(() => {
62
91
  messageScale.value = withTiming(SCALE_PRESSED, {
63
92
  duration: SCALE_DURATION_IN,
@@ -79,7 +108,11 @@ export const Bubble = (props) => {
79
108
  // Exclusive composition: a long-press wins over the tap when held long
80
109
  // enough; a quick lift lets the tap through. Both share the onBegin/onFinalize
81
110
  // scale animation because onBegin always fires before either gesture wins.
82
- const reactionsGesture = useMemo(() => Gesture.Exclusive(longPressGesture, tapGesture), [longPressGesture, tapGesture]);
111
+ // The tap is only attached when there is something to call - otherwise it
112
+ // would compete with interactive content inside the bubble for no reason.
113
+ const reactionsGesture = useMemo(() => onPressMessageProp
114
+ ? Gesture.Exclusive(longPressGesture, tapGesture)
115
+ : longPressGesture, [longPressGesture, tapGesture, onPressMessageProp]);
83
116
  const styledBubbleToNext = useMemo(() => {
84
117
  if (currentMessage &&
85
118
  nextMessage &&
@@ -96,6 +129,7 @@ export const Bubble = (props) => {
96
129
  nextMessage,
97
130
  position,
98
131
  containerToNextStyle,
132
+ styles,
99
133
  ]);
100
134
  const styledBubbleToPrevious = useMemo(() => {
101
135
  if (currentMessage &&
@@ -113,6 +147,7 @@ export const Bubble = (props) => {
113
147
  previousMessage,
114
148
  position,
115
149
  containerToPreviousStyle,
150
+ styles,
116
151
  ]);
117
152
  const renderQuickReplies = useCallback(() => {
118
153
  if (currentMessage?.quickReplies) {
@@ -176,7 +211,7 @@ export const Bubble = (props) => {
176
211
  ...messageVideoProps } = props;
177
212
  if (props.renderMessageVideo)
178
213
  return renderComponentOrElement(props.renderMessageVideo, messageVideoProps);
179
- return <MessageVideo />;
214
+ return <MessageVideo {...messageVideoProps}/>;
180
215
  }, [props, currentMessage]);
181
216
  const renderMessageAudio = useCallback(() => {
182
217
  if (!currentMessage?.audio)
@@ -188,7 +223,19 @@ export const Bubble = (props) => {
188
223
  ...messageAudioProps } = props;
189
224
  if (props.renderMessageAudio)
190
225
  return renderComponentOrElement(props.renderMessageAudio, messageAudioProps);
191
- return <MessageAudio />;
226
+ return <MessageAudio {...messageAudioProps}/>;
227
+ }, [props, currentMessage]);
228
+ const renderMessageLocation = useCallback(() => {
229
+ if (!currentMessage?.location)
230
+ return null;
231
+ const {
232
+ /* eslint-disable @typescript-eslint/no-unused-vars */
233
+ containerStyle, wrapperStyle,
234
+ /* eslint-enable @typescript-eslint/no-unused-vars */
235
+ ...messageLocationProps } = props;
236
+ if (props.renderMessageLocation)
237
+ return renderComponentOrElement(props.renderMessageLocation, messageLocationProps);
238
+ return <MessageLocation {...messageLocationProps}/>;
192
239
  }, [props, currentMessage]);
193
240
  const renderTicks = useCallback(() => {
194
241
  const { renderTicks, user, } = props;
@@ -199,22 +246,31 @@ export const Bubble = (props) => {
199
246
  currentMessage.user._id !== user._id)
200
247
  return null;
201
248
  if (currentMessage &&
202
- (currentMessage.sent || currentMessage.received || currentMessage.pending))
249
+ (currentMessage.sent || currentMessage.received || currentMessage.pending)) {
250
+ // Allow a color override via the (legacy) tickStyle prop.
251
+ const overrideColor = StyleSheet.flatten(props.tickStyle)?.color;
252
+ // A note's ticks sit on a dark pill over the video, so they are white for
253
+ // both positions unless the consumer overrode the color.
254
+ const noteColor = isVideoNote ? styles.noteMetaText.color : undefined;
255
+ const sentColor = overrideColor ?? noteColor ?? (position === 'right' ? theme.colors.ticksSent : theme.colors.incomingMeta);
256
+ const readColor = overrideColor ?? noteColor ?? (position === 'right' ? theme.colors.ticksRead : theme.colors.accent);
203
257
  return (<View style={styles.messageStatusContainer}>
204
- {!!currentMessage.sent && (<Text style={[styles.messageStatus, props.tickStyle]}>
205
- {'✓'}
206
- </Text>)}
207
- {!!currentMessage.received && (<Text style={[styles.messageStatus, props.tickStyle]}>
208
- {'✓'}
209
- </Text>)}
210
- {!!currentMessage.pending && (<Text style={[styles.messageStatus, props.tickStyle]}>
211
- {'🕓'}
212
- </Text>)}
258
+ {currentMessage.pending
259
+ ? <Icon name='clock' color={sentColor} size={11} fallback={<PendingClock color={sentColor}/>}/>
260
+ : currentMessage.received
261
+ ? <Icon name='checkAll' color={readColor} size={14} fallback={<Ticks double color={readColor}/>}/>
262
+ : currentMessage.sent
263
+ ? <Icon name='check' color={sentColor} size={14} fallback={<Ticks color={sentColor}/>}/>
264
+ : null}
213
265
  </View>);
266
+ }
214
267
  return null;
215
268
  }, [
216
269
  props,
217
270
  currentMessage,
271
+ position,
272
+ theme,
273
+ styles,
218
274
  ]);
219
275
  const renderTime = useCallback(() => {
220
276
  if (currentMessage?.createdAt) {
@@ -225,10 +281,14 @@ export const Bubble = (props) => {
225
281
  ...timeProps } = props;
226
282
  if (props.renderTime)
227
283
  return renderComponentOrElement(props.renderTime, timeProps);
284
+ // On a note the meta sits on a dark pill over the video, so it is white
285
+ // for both positions - the incoming gray would be unreadable there.
286
+ if (isVideoNote)
287
+ return (<Time {...timeProps} timeTextStyle={{ left: styles.noteMetaText, right: styles.noteMetaText }}/>);
228
288
  return <Time {...timeProps}/>;
229
289
  }
230
290
  return null;
231
- }, [props, currentMessage]);
291
+ }, [props, currentMessage, isVideoNote, styles]);
232
292
  const renderUsername = useCallback(() => {
233
293
  const { user, renderUsername, } = props;
234
294
  if (props.isUsernameVisible && currentMessage) {
@@ -246,6 +306,7 @@ export const Bubble = (props) => {
246
306
  }, [
247
307
  currentMessage,
248
308
  props,
309
+ styles,
249
310
  ]);
250
311
  const renderCustomView = useCallback(() => {
251
312
  if (props.renderCustomView)
@@ -284,6 +345,7 @@ export const Bubble = (props) => {
284
345
  {renderMessageImage()}
285
346
  {renderMessageVideo()}
286
347
  {renderMessageAudio()}
348
+ {renderMessageLocation()}
287
349
  {renderMessageText()}
288
350
  {props.isCustomViewBottom && renderCustomView()}
289
351
  </>);
@@ -293,17 +355,19 @@ export const Bubble = (props) => {
293
355
  renderMessageImage,
294
356
  renderMessageVideo,
295
357
  renderMessageAudio,
358
+ renderMessageLocation,
296
359
  renderMessageText,
297
360
  props.isCustomViewBottom,
298
361
  ]);
299
362
  const renderBubbleBody = useCallback(() => (<>
363
+ {renderUsername()}
300
364
  {renderBubbleContent()}
301
365
  <View style={[
302
366
  styles.bottom,
367
+ isVideoNote && styles.noteMetaPill,
303
368
  bottomContainerStyle?.[position],
304
369
  ]}>
305
- {renderUsername()}
306
- <View style={styles.messageTimeAndStatusContainer}>
370
+ <View style={[styles.messageTimeAndStatusContainer, isVideoNote && styles.noteMetaInner]}>
307
371
  {renderTime()}
308
372
  {renderTicks()}
309
373
  </View>
@@ -315,13 +379,21 @@ export const Bubble = (props) => {
315
379
  renderUsername,
316
380
  renderTime,
317
381
  renderTicks,
382
+ styles,
383
+ isVideoNote,
318
384
  ]);
319
385
  const wrapperStyleList = useMemo(() => [
320
386
  getStyleWithPosition(styles, 'wrapper', position),
321
387
  styledBubbleToNext,
322
388
  styledBubbleToPrevious,
323
389
  wrapperStyle?.[position],
324
- ], [position, styledBubbleToNext, styledBubbleToPrevious, wrapperStyle]);
390
+ isVideoNote && styles.noteWrapper,
391
+ ], [position, styledBubbleToNext, styledBubbleToPrevious, wrapperStyle, styles, isVideoNote]);
392
+ const containerStyleList = useMemo(() => [
393
+ getStyleWithPosition(styles, 'container', position),
394
+ containerStyle?.[position],
395
+ ], [styles, position, containerStyle]);
396
+ const rowSurfaceStyle = useMemo(() => getStyleWithPosition(styles, 'rowSurface', position), [styles, position]);
325
397
  const renderReactionsDisplay = useCallback(() => {
326
398
  const currentReactions = currentMessage?.reactions;
327
399
  if (!currentReactions || currentReactions.length === 0)
@@ -361,29 +433,58 @@ export const Bubble = (props) => {
361
433
  return renderComponentOrElement(reactions.renderReactionPicker, pickerProps);
362
434
  return <ReactionPicker {...pickerProps}/>;
363
435
  }, [reactions, isPickerVisible, currentMessage, position, pickerAnchor]);
364
- if (reactions?.isEnabled)
365
- // Reactions path: the Animated.View carries only the scale transform,
366
- // keeping the animation isolated from the static bubble styles on the
367
- // inner View. Tap/long-press are handled by the composed gesture.
368
- return (<Animated.View style={containerStyle?.[position]} ref={bubbleContainerRef}>
369
- <GestureDetector gesture={reactionsGesture}>
370
- <Animated.View style={bubbleScaleStyle}>
371
- <View style={wrapperStyleList}>
372
- {renderBubbleBody()}
373
- </View>
374
- </Animated.View>
375
- </GestureDetector>
436
+ const renderContextMenu = useCallback(() => {
437
+ const reactionsRow = reactions?.isEnabled
438
+ ? {
439
+ emojis: reactions.emojis ?? DEFAULT_REACTION_EMOJIS,
440
+ onSelect: (emoji) => reactions?.onReactionPress?.(currentMessage, emoji),
441
+ }
442
+ : undefined;
443
+ return (<ContextMenu visible={isPickerVisible} items={menuItems} onDismiss={() => setIsPickerVisible(false)} position={position} {...pickerAnchor} reactions={reactionsRow}/>);
444
+ }, [reactions, menuItems, isPickerVisible, position, pickerAnchor, currentMessage]);
445
+ // Overlay path: a long-press opens either the Telegram-style context menu
446
+ // (when messageActions are provided, optionally with a reactions row) or the
447
+ // reactions quick-picker. The Animated.View carries only the scale transform.
448
+ if (reactions?.isEnabled || hasMenu) {
449
+ // `rowSurface` spans the whole message row, so a long-press in the empty
450
+ // space beside the bubble opens the picker too - the way Telegram behaves.
451
+ const bubbleRow = (<View style={rowSurfaceStyle}>
452
+ <Animated.View style={bubbleScaleStyle}>
453
+ <View style={wrapperStyleList} ref={bubbleContainerRef}>
454
+ {renderBubbleBody()}
455
+ </View>
456
+ </Animated.View>
457
+ </View>);
458
+ return (<Animated.View style={containerStyleList}>
459
+ {isGestureEnabled
460
+ ? (<GestureDetector gesture={reactionsGesture}>
461
+ {bubbleRow}
462
+ </GestureDetector>)
463
+ : (
464
+ // Gestures are off for this message, so the surface drops *behind*
465
+ // the bubble: the bubble's own content (native video controls, a
466
+ // map, a WebView) keeps every touch that lands on it, while the rest
467
+ // of the row still opens the picker.
468
+ <>
469
+ <GestureDetector gesture={reactionsGesture}>
470
+ <View style={StyleSheet.absoluteFill}/>
471
+ </GestureDetector>
472
+ {bubbleRow}
473
+ </>)}
376
474
  {renderQuickReplies()}
377
475
  {renderReactionsDisplay()}
378
- {renderReactionPickerModal()}
476
+ {hasMenu ? renderContextMenu() : renderReactionPickerModal()}
379
477
  </Animated.View>);
478
+ }
380
479
  // Default path: unchanged behaviour for existing users, preserving
381
480
  // touchableProps, native press feedback, and the onLongPressMessage callback.
382
- return (<View style={containerStyle?.[position]}>
481
+ return (<View style={containerStyleList}>
383
482
  <View style={wrapperStyleList}>
384
- <Pressable onPress={onPress} onLongPress={onLongPress} {...props.touchableProps}>
385
- {renderBubbleBody()}
386
- </Pressable>
483
+ {isGestureEnabled
484
+ ? (<Pressable onPress={onPress} onLongPress={onLongPress} {...props.touchableProps}>
485
+ {renderBubbleBody()}
486
+ </Pressable>)
487
+ : renderBubbleBody()}
387
488
  </View>
388
489
  {renderQuickReplies()}
389
490
  </View>);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Bubble/index.tsx"],"names":[],"mappings":"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"}