@kesha-antonov/react-native-chat 4.2.0 → 4.4.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.
- package/README.md +253 -47
- package/lib/Actions.d.ts +5 -5
- package/lib/Actions.d.ts.map +1 -1
- package/lib/Actions.js +28 -39
- package/lib/Actions.js.map +1 -1
- package/lib/Avatar.d.ts.map +1 -1
- package/lib/Avatar.js +34 -32
- package/lib/Avatar.js.map +1 -1
- package/lib/Bubble/index.d.ts.map +1 -1
- package/lib/Bubble/index.js +98 -28
- package/lib/Bubble/index.js.map +1 -1
- package/lib/Bubble/styles.d.ts +28 -11
- package/lib/Bubble/styles.d.ts.map +1 -1
- package/lib/Bubble/styles.js +108 -80
- package/lib/Bubble/styles.js.map +1 -1
- package/lib/Bubble/types.d.ts +12 -7
- package/lib/Bubble/types.d.ts.map +1 -1
- package/lib/Chat/ChatKeyboardAvoidingView.d.ts +8 -3
- package/lib/Chat/ChatKeyboardAvoidingView.d.ts.map +1 -1
- package/lib/Chat/ChatKeyboardAvoidingView.js +3 -5
- package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
- package/lib/Chat/index.d.ts +1 -0
- package/lib/Chat/index.d.ts.map +1 -1
- package/lib/Chat/index.js +94 -28
- package/lib/Chat/index.js.map +1 -1
- package/lib/Chat/types.d.ts +66 -24
- package/lib/Chat/types.d.ts.map +1 -1
- package/lib/ChatAvatar.d.ts.map +1 -1
- package/lib/ChatAvatar.js +11 -17
- package/lib/ChatAvatar.js.map +1 -1
- package/lib/ChatContext.d.ts +31 -1
- package/lib/ChatContext.d.ts.map +1 -1
- package/lib/ChatContext.js +4 -0
- package/lib/ChatContext.js.map +1 -1
- package/lib/Color.d.ts.map +1 -1
- package/lib/Color.js +6 -2
- package/lib/Color.js.map +1 -1
- package/lib/Composer.d.ts +14 -1
- package/lib/Composer.d.ts.map +1 -1
- package/lib/Composer.js +68 -50
- package/lib/Composer.js.map +1 -1
- package/lib/Constant.d.ts +1 -0
- package/lib/Constant.d.ts.map +1 -1
- package/lib/Constant.js +1 -0
- package/lib/Constant.js.map +1 -1
- package/lib/Day/index.d.ts.map +1 -1
- package/lib/Day/index.js +7 -3
- package/lib/Day/index.js.map +1 -1
- package/lib/Day/styles.d.ts +6 -7
- package/lib/Day/styles.d.ts.map +1 -1
- package/lib/Day/styles.js +11 -13
- package/lib/Day/styles.js.map +1 -1
- package/lib/Icons.d.ts +24 -0
- package/lib/Icons.d.ts.map +1 -0
- package/lib/Icons.js +2 -0
- package/lib/Icons.js.map +1 -0
- package/lib/InputToolbar.d.ts +18 -5
- package/lib/InputToolbar.d.ts.map +1 -1
- package/lib/InputToolbar.js +246 -19
- package/lib/InputToolbar.js.map +1 -1
- package/lib/LoadEarlierMessages.d.ts.map +1 -1
- package/lib/LoadEarlierMessages.js +12 -7
- package/lib/LoadEarlierMessages.js.map +1 -1
- package/lib/Message/index.d.ts.map +1 -1
- package/lib/Message/index.js +21 -12
- package/lib/Message/index.js.map +1 -1
- package/lib/Message/styles.js +2 -2
- package/lib/Message/styles.js.map +1 -1
- package/lib/MessageAudio.d.ts +2 -1
- package/lib/MessageAudio.d.ts.map +1 -1
- package/lib/MessageAudio.js +121 -19
- package/lib/MessageAudio.js.map +1 -1
- package/lib/MessageLocation.d.ts +9 -0
- package/lib/MessageLocation.d.ts.map +1 -0
- package/lib/MessageLocation.js +85 -0
- package/lib/MessageLocation.js.map +1 -0
- package/lib/MessageText.d.ts +12 -1
- package/lib/MessageText.d.ts.map +1 -1
- package/lib/MessageText.js +38 -11
- package/lib/MessageText.js.map +1 -1
- package/lib/MessageVideo.d.ts +2 -1
- package/lib/MessageVideo.d.ts.map +1 -1
- package/lib/MessageVideo.js +156 -18
- package/lib/MessageVideo.js.map +1 -1
- package/lib/MessagesContainer/components/Item/index.d.ts +2 -1
- package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
- package/lib/MessagesContainer/components/Item/index.js +23 -1
- package/lib/MessagesContainer/components/Item/index.js.map +1 -1
- package/lib/MessagesContainer/index.d.ts.map +1 -1
- package/lib/MessagesContainer/index.js +24 -11
- package/lib/MessagesContainer/index.js.map +1 -1
- package/lib/MessagesContainer/styles.d.ts +23 -3
- package/lib/MessagesContainer/styles.d.ts.map +1 -1
- package/lib/MessagesContainer/styles.js +25 -5
- package/lib/MessagesContainer/styles.js.map +1 -1
- package/lib/Models.d.ts +72 -0
- package/lib/Models.d.ts.map +1 -1
- package/lib/QuickReplies.d.ts +1 -1
- package/lib/QuickReplies.d.ts.map +1 -1
- package/lib/QuickReplies.js +13 -7
- package/lib/QuickReplies.js.map +1 -1
- package/lib/Reactions/MessageReactions.d.ts.map +1 -1
- package/lib/Reactions/MessageReactions.js +11 -10
- package/lib/Reactions/MessageReactions.js.map +1 -1
- package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
- package/lib/Reactions/ReactionPicker.js +5 -3
- package/lib/Reactions/ReactionPicker.js.map +1 -1
- package/lib/Send.d.ts +2 -2
- package/lib/Send.d.ts.map +1 -1
- package/lib/Send.js +37 -37
- package/lib/Send.js.map +1 -1
- package/lib/SystemMessage.d.ts.map +1 -1
- package/lib/SystemMessage.js +8 -5
- package/lib/SystemMessage.js.map +1 -1
- package/lib/Theme.d.ts +159 -0
- package/lib/Theme.d.ts.map +1 -0
- package/lib/Theme.js +147 -0
- package/lib/Theme.js.map +1 -0
- package/lib/Time.d.ts.map +1 -1
- package/lib/Time.js +7 -5
- package/lib/Time.js.map +1 -1
- package/lib/TypingIndicator/index.d.ts.map +1 -1
- package/lib/TypingIndicator/index.js +4 -1
- package/lib/TypingIndicator/index.js.map +1 -1
- package/lib/TypingIndicator/styles.d.ts +2 -2
- package/lib/TypingIndicator/styles.d.ts.map +1 -1
- package/lib/TypingIndicator/styles.js +4 -5
- package/lib/TypingIndicator/styles.js.map +1 -1
- package/lib/components/AttachmentSheet.d.ts +28 -0
- package/lib/components/AttachmentSheet.d.ts.map +1 -0
- package/lib/components/AttachmentSheet.js +177 -0
- package/lib/components/AttachmentSheet.js.map +1 -0
- package/lib/components/BasicMarkdown.d.ts +12 -0
- package/lib/components/BasicMarkdown.d.ts.map +1 -0
- package/lib/components/BasicMarkdown.js +220 -0
- package/lib/components/BasicMarkdown.js.map +1 -0
- package/lib/components/ContextMenu.d.ts +25 -0
- package/lib/components/ContextMenu.d.ts.map +1 -0
- package/lib/components/ContextMenu.js +122 -0
- package/lib/components/ContextMenu.js.map +1 -0
- package/lib/components/Icon.d.ts +17 -0
- package/lib/components/Icon.d.ts.map +1 -0
- package/lib/components/Icon.js +19 -0
- package/lib/components/Icon.js.map +1 -0
- package/lib/components/LucideIcon.d.ts +10 -0
- package/lib/components/LucideIcon.d.ts.map +1 -0
- package/lib/components/LucideIcon.js +118 -0
- package/lib/components/LucideIcon.js.map +1 -0
- package/lib/components/MarkdownMessageText.d.ts +19 -0
- package/lib/components/MarkdownMessageText.d.ts.map +1 -0
- package/lib/components/MarkdownMessageText.js +35 -0
- package/lib/components/MarkdownMessageText.js.map +1 -0
- package/lib/components/MediaCard.d.ts +19 -0
- package/lib/components/MediaCard.d.ts.map +1 -0
- package/lib/components/MediaCard.js +102 -0
- package/lib/components/MediaCard.js.map +1 -0
- package/lib/components/MediaControls.d.ts +41 -0
- package/lib/components/MediaControls.d.ts.map +1 -0
- package/lib/components/MediaControls.js +524 -0
- package/lib/components/MediaControls.js.map +1 -0
- package/lib/components/MessageReply.d.ts.map +1 -1
- package/lib/components/MessageReply.js +11 -9
- package/lib/components/MessageReply.js.map +1 -1
- package/lib/components/ReplyPreview.d.ts +3 -1
- package/lib/components/ReplyPreview.d.ts.map +1 -1
- package/lib/components/ReplyPreview.js +37 -36
- package/lib/components/ReplyPreview.js.map +1 -1
- package/lib/components/SendIcon.d.ts +13 -0
- package/lib/components/SendIcon.d.ts.map +1 -0
- package/lib/components/SendIcon.js +37 -0
- package/lib/components/SendIcon.js.map +1 -0
- package/lib/components/Ticks.d.ts +25 -0
- package/lib/components/Ticks.d.ts.map +1 -0
- package/lib/components/Ticks.js +102 -0
- package/lib/components/Ticks.js.map +1 -0
- package/lib/components/VideoNoteOverlay.d.ts +25 -0
- package/lib/components/VideoNoteOverlay.d.ts.map +1 -0
- package/lib/components/VideoNoteOverlay.js +151 -0
- package/lib/components/VideoNoteOverlay.js.map +1 -0
- package/lib/components/VideoNoteRecorder.d.ts +19 -0
- package/lib/components/VideoNoteRecorder.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder.js +634 -0
- package/lib/components/VideoNoteRecorder.js.map +1 -0
- package/lib/components/VideoRecordButton.d.ts +29 -0
- package/lib/components/VideoRecordButton.d.ts.map +1 -0
- package/lib/components/VideoRecordButton.js +117 -0
- package/lib/components/VideoRecordButton.js.map +1 -0
- package/lib/components/VoiceMessageInput.d.ts +33 -0
- package/lib/components/VoiceMessageInput.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput.js +403 -0
- package/lib/components/VoiceMessageInput.js.map +1 -0
- package/lib/components/WaveformPlayer.d.ts +19 -0
- package/lib/components/WaveformPlayer.d.ts.map +1 -0
- package/lib/components/WaveformPlayer.js +367 -0
- package/lib/components/WaveformPlayer.js.map +1 -0
- package/lib/components/mediaPalette.d.ts +23 -0
- package/lib/components/mediaPalette.d.ts.map +1 -0
- package/lib/components/mediaPalette.js +16 -0
- package/lib/components/mediaPalette.js.map +1 -0
- package/lib/components/mediaPlayback.d.ts +22 -0
- package/lib/components/mediaPlayback.d.ts.map +1 -0
- package/lib/components/mediaPlayback.js +34 -0
- package/lib/components/mediaPlayback.js.map +1 -0
- package/lib/dayjsLocales.d.ts +18 -0
- package/lib/dayjsLocales.d.ts.map +1 -0
- package/lib/dayjsLocales.js +36 -0
- package/lib/dayjsLocales.js.map +1 -0
- package/lib/hooks/useColorScheme.d.ts +9 -2
- package/lib/hooks/useColorScheme.d.ts.map +1 -1
- package/lib/hooks/useColorScheme.js +9 -3
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useIcons.d.ts +4 -0
- package/lib/hooks/useIcons.d.ts.map +1 -0
- package/lib/hooks/useIcons.js +8 -0
- package/lib/hooks/useIcons.js.map +1 -0
- package/lib/hooks/useIsRTL.d.ts +3 -0
- package/lib/hooks/useIsRTL.d.ts.map +1 -0
- package/lib/hooks/useIsRTL.js +7 -0
- package/lib/hooks/useIsRTL.js.map +1 -0
- package/lib/hooks/useKeyboardVerticalOffset.d.ts +29 -8
- package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
- package/lib/hooks/useKeyboardVerticalOffset.js +41 -8
- package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
- package/lib/hooks/useLabels.d.ts +4 -0
- package/lib/hooks/useLabels.d.ts.map +1 -0
- package/lib/hooks/useLabels.js +8 -0
- package/lib/hooks/useLabels.js.map +1 -0
- package/lib/hooks/useTheme.d.ts +21 -0
- package/lib/hooks/useTheme.d.ts.map +1 -0
- package/lib/hooks/useTheme.js +32 -0
- package/lib/hooks/useTheme.js.map +1 -0
- package/lib/i18n.d.ts +66 -0
- package/lib/i18n.d.ts.map +1 -0
- package/lib/i18n.js +53 -0
- package/lib/i18n.js.map +1 -0
- package/lib/index.d.ts +19 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -1
- package/lib/locales/ar.d.ts +3 -0
- package/lib/locales/ar.d.ts.map +1 -0
- package/lib/locales/ar.js +22 -0
- package/lib/locales/ar.js.map +1 -0
- package/lib/locales/de.d.ts +3 -0
- package/lib/locales/de.d.ts.map +1 -0
- package/lib/locales/de.js +22 -0
- package/lib/locales/de.js.map +1 -0
- package/lib/locales/es.d.ts +3 -0
- package/lib/locales/es.d.ts.map +1 -0
- package/lib/locales/es.js +22 -0
- package/lib/locales/es.js.map +1 -0
- package/lib/locales/fr.d.ts +3 -0
- package/lib/locales/fr.d.ts.map +1 -0
- package/lib/locales/fr.js +22 -0
- package/lib/locales/fr.js.map +1 -0
- package/lib/locales/hi.d.ts +3 -0
- package/lib/locales/hi.d.ts.map +1 -0
- package/lib/locales/hi.js +22 -0
- package/lib/locales/hi.js.map +1 -0
- package/lib/locales/id.d.ts +3 -0
- package/lib/locales/id.d.ts.map +1 -0
- package/lib/locales/id.js +22 -0
- package/lib/locales/id.js.map +1 -0
- package/lib/locales/index.d.ts +19 -0
- package/lib/locales/index.d.ts.map +1 -0
- package/lib/locales/index.js +39 -0
- package/lib/locales/index.js.map +1 -0
- package/lib/locales/it.d.ts +3 -0
- package/lib/locales/it.d.ts.map +1 -0
- package/lib/locales/it.js +22 -0
- package/lib/locales/it.js.map +1 -0
- package/lib/locales/ja.d.ts +3 -0
- package/lib/locales/ja.d.ts.map +1 -0
- package/lib/locales/ja.js +22 -0
- package/lib/locales/ja.js.map +1 -0
- package/lib/locales/ko.d.ts +3 -0
- package/lib/locales/ko.d.ts.map +1 -0
- package/lib/locales/ko.js +22 -0
- package/lib/locales/ko.js.map +1 -0
- package/lib/locales/nl.d.ts +3 -0
- package/lib/locales/nl.d.ts.map +1 -0
- package/lib/locales/nl.js +22 -0
- package/lib/locales/nl.js.map +1 -0
- package/lib/locales/pl.d.ts +3 -0
- package/lib/locales/pl.d.ts.map +1 -0
- package/lib/locales/pl.js +22 -0
- package/lib/locales/pl.js.map +1 -0
- package/lib/locales/pt.d.ts +3 -0
- package/lib/locales/pt.d.ts.map +1 -0
- package/lib/locales/pt.js +22 -0
- package/lib/locales/pt.js.map +1 -0
- package/lib/locales/ru.d.ts +3 -0
- package/lib/locales/ru.d.ts.map +1 -0
- package/lib/locales/ru.js +22 -0
- package/lib/locales/ru.js.map +1 -0
- package/lib/locales/tr.d.ts +3 -0
- package/lib/locales/tr.d.ts.map +1 -0
- package/lib/locales/tr.js +22 -0
- package/lib/locales/tr.js.map +1 -0
- package/lib/locales/zh.d.ts +3 -0
- package/lib/locales/zh.d.ts.map +1 -0
- package/lib/locales/zh.js +22 -0
- package/lib/locales/zh.js.map +1 -0
- package/lib/rtl.d.ts +18 -0
- package/lib/rtl.d.ts.map +1 -0
- package/lib/rtl.js +31 -0
- package/lib/rtl.js.map +1 -0
- package/lib/types.d.ts +2 -1
- package/lib/types.d.ts.map +1 -1
- package/package.json +99 -44
- package/lib/MessageReply.d.ts +0 -15
- package/lib/MessageReply.d.ts.map +0 -1
- package/lib/MessageReply.js +0 -102
- package/lib/MessageReply.js.map +0 -1
- package/lib/ReplyPreview.d.ts +0 -14
- package/lib/ReplyPreview.d.ts.map +0 -1
- package/lib/ReplyPreview.js +0 -94
- package/lib/ReplyPreview.js.map +0 -1
package/lib/Bubble/styles.js
CHANGED
|
@@ -1,82 +1,110 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
2
|
+
export const createBubbleStyles = (theme) => {
|
|
3
|
+
const { colors, radii, spacing, typography } = theme;
|
|
4
|
+
return StyleSheet.create({
|
|
5
|
+
// Fills the message row so the pressable surface reaches the far edge, with
|
|
6
|
+
// the bubble itself pinned to the sender's side.
|
|
7
|
+
container: {
|
|
8
|
+
flex: 1,
|
|
9
|
+
},
|
|
10
|
+
container_left: {
|
|
11
|
+
alignItems: 'flex-start',
|
|
12
|
+
},
|
|
13
|
+
container_right: {
|
|
14
|
+
alignItems: 'flex-end',
|
|
15
|
+
},
|
|
16
|
+
// Full-width band holding the bubble - this is what the reactions gesture is
|
|
17
|
+
// attached to, so the whole row responds and not just the bubble.
|
|
18
|
+
rowSurface: {
|
|
19
|
+
alignSelf: 'stretch',
|
|
20
|
+
},
|
|
21
|
+
rowSurface_left: {
|
|
22
|
+
alignItems: 'flex-start',
|
|
23
|
+
},
|
|
24
|
+
rowSurface_right: {
|
|
25
|
+
alignItems: 'flex-end',
|
|
26
|
+
},
|
|
27
|
+
wrapper: {
|
|
28
|
+
borderRadius: radii.bubble,
|
|
29
|
+
minHeight: 20,
|
|
30
|
+
maxWidth: '70%',
|
|
31
|
+
},
|
|
32
|
+
wrapper_left: {
|
|
33
|
+
backgroundColor: colors.incomingBubble,
|
|
34
|
+
justifyContent: 'flex-end',
|
|
35
|
+
},
|
|
36
|
+
wrapper_right: {
|
|
37
|
+
backgroundColor: colors.outgoingBubble,
|
|
38
|
+
justifyContent: 'flex-end',
|
|
39
|
+
},
|
|
40
|
+
// A round video note floats with no bubble background/chrome (Telegram-style).
|
|
41
|
+
noteWrapper: {
|
|
42
|
+
backgroundColor: 'transparent',
|
|
43
|
+
},
|
|
44
|
+
// With the bubble background gone, the meta row would render white-on-light.
|
|
45
|
+
// Telegram floats it in a translucent dark pill over the circle's lower edge.
|
|
46
|
+
// Positioning shell only. Anchored to the note's bounding-box corner, which
|
|
47
|
+
// on a circle sits just outside the shape - where Telegram puts the
|
|
48
|
+
// timestamp, clear of the duration pill centred on the circle itself.
|
|
49
|
+
noteMetaPill: {
|
|
50
|
+
position: 'absolute',
|
|
51
|
+
bottom: 2,
|
|
52
|
+
right: 0,
|
|
53
|
+
justifyContent: 'flex-end',
|
|
54
|
+
// Overrides `bottom`'s padding, which would otherwise offset the pill.
|
|
55
|
+
paddingHorizontal: 0,
|
|
56
|
+
paddingTop: 0,
|
|
57
|
+
paddingBottom: 0,
|
|
58
|
+
},
|
|
59
|
+
// The meta row grows to fill a bubble; on a note it just hugs. It sits on
|
|
60
|
+
// the chat background beside the duration now, not over the video, so it
|
|
61
|
+
// needs no pill behind it.
|
|
62
|
+
noteMetaInner: {
|
|
63
|
+
flexGrow: 0,
|
|
64
|
+
},
|
|
65
|
+
noteMetaText: {
|
|
66
|
+
color: colors.incomingMeta,
|
|
67
|
+
},
|
|
68
|
+
bottom: {
|
|
69
|
+
flexDirection: 'row',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
justifyContent: 'flex-end',
|
|
72
|
+
paddingHorizontal: spacing.bubblePaddingH,
|
|
73
|
+
paddingBottom: spacing.bubblePaddingV,
|
|
74
|
+
},
|
|
75
|
+
// Soften the inner corners of grouped messages instead of squaring them off.
|
|
76
|
+
containerToNext_left: {
|
|
77
|
+
borderBottomLeftRadius: radii.bubbleGrouped,
|
|
78
|
+
},
|
|
79
|
+
containerToNext_right: {
|
|
80
|
+
borderBottomRightRadius: radii.bubbleGrouped,
|
|
81
|
+
},
|
|
82
|
+
containerToPrevious_left: {
|
|
83
|
+
borderTopLeftRadius: radii.bubbleGrouped,
|
|
84
|
+
},
|
|
85
|
+
containerToPrevious_right: {
|
|
86
|
+
borderTopRightRadius: radii.bubbleGrouped,
|
|
87
|
+
},
|
|
88
|
+
messageTimeAndStatusContainer: {
|
|
89
|
+
flexGrow: 1,
|
|
90
|
+
flexDirection: 'row',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
justifyContent: 'flex-end',
|
|
93
|
+
gap: 3,
|
|
94
|
+
},
|
|
95
|
+
messageStatusContainer: {
|
|
96
|
+
flexDirection: 'row',
|
|
97
|
+
alignItems: 'center',
|
|
98
|
+
},
|
|
99
|
+
usernameContainer: {
|
|
100
|
+
paddingHorizontal: spacing.bubblePaddingH,
|
|
101
|
+
paddingTop: spacing.bubblePaddingV,
|
|
102
|
+
},
|
|
103
|
+
username: {
|
|
104
|
+
fontSize: typography.senderName.fontSize,
|
|
105
|
+
fontWeight: typography.senderName.fontWeight,
|
|
106
|
+
color: colors.senderName,
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
};
|
|
82
110
|
//# sourceMappingURL=styles.js.map
|
package/lib/Bubble/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Bubble/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAEpD,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,4EAA4E;QAC5E,iDAAiD;QACjD,SAAS,EAAE;YACT,IAAI,EAAE,CAAC;SACR;QACD,cAAc,EAAE;YACd,UAAU,EAAE,YAAY;SACzB;QACD,eAAe,EAAE;YACf,UAAU,EAAE,UAAU;SACvB;QAED,6EAA6E;QAC7E,kEAAkE;QAClE,UAAU,EAAE;YACV,SAAS,EAAE,SAAS;SACrB;QACD,eAAe,EAAE;YACf,UAAU,EAAE,YAAY;SACzB;QACD,gBAAgB,EAAE;YAChB,UAAU,EAAE,UAAU;SACvB;QAED,OAAO,EAAE;YACP,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,KAAK;SAChB;QACD,YAAY,EAAE;YACZ,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,cAAc,EAAE,UAAU;SAC3B;QACD,aAAa,EAAE;YACb,eAAe,EAAE,MAAM,CAAC,cAAc;YACtC,cAAc,EAAE,UAAU;SAC3B;QACD,+EAA+E;QAC/E,WAAW,EAAE;YACX,eAAe,EAAE,aAAa;SAC/B;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,oEAAoE;QACpE,sEAAsE;QACtE,YAAY,EAAE;YACZ,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,UAAU;YAC1B,uEAAuE;YACvE,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SACjB;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,2BAA2B;QAC3B,aAAa,EAAE;YACb,QAAQ,EAAE,CAAC;SACZ;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC,YAAY;SAC3B;QAED,MAAM,EAAE;YACN,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,UAAU;YAC1B,iBAAiB,EAAE,OAAO,CAAC,cAAc;YACzC,aAAa,EAAE,OAAO,CAAC,cAAc;SACtC;QAED,6EAA6E;QAC7E,oBAAoB,EAAE;YACpB,sBAAsB,EAAE,KAAK,CAAC,aAAa;SAC5C;QACD,qBAAqB,EAAE;YACrB,uBAAuB,EAAE,KAAK,CAAC,aAAa;SAC7C;QAED,wBAAwB,EAAE;YACxB,mBAAmB,EAAE,KAAK,CAAC,aAAa;SACzC;QACD,yBAAyB,EAAE;YACzB,oBAAoB,EAAE,KAAK,CAAC,aAAa;SAC1C;QAED,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,UAAU;YAC1B,GAAG,EAAE,CAAC;SACP;QAED,sBAAsB,EAAE;YACtB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;SACrB;QAED,iBAAiB,EAAE;YACjB,iBAAiB,EAAE,OAAO,CAAC,cAAc;YACzC,UAAU,EAAE,OAAO,CAAC,cAAc;SACnC;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ;YACxC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,UAAU;YAC5C,KAAK,EAAE,MAAM,CAAC,UAAU;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/lib/Bubble/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { StyleProp, ViewStyle, TextStyle, Pressable } from 'react-native';
|
|
|
3
3
|
import { MessageReplyProps } from '../components/MessageReply';
|
|
4
4
|
import { MessageImageProps } from '../MessageImage';
|
|
5
5
|
import { MessageTextProps } from '../MessageText';
|
|
6
|
-
import { User, IMessage, LeftRightStyle, Reply, ReplyMessage, Omit, MessageVideoProps, MessageAudioProps } from '../Models';
|
|
6
|
+
import { User, IMessage, LeftRightStyle, Reply, ReplyMessage, Omit, MessageVideoProps, MessageAudioProps, MessageLocationProps, MessageMenuItem } from '../Models';
|
|
7
7
|
import { QuickRepliesProps } from '../QuickReplies';
|
|
8
8
|
import { ReactionsProps } from '../Reactions';
|
|
9
9
|
import { MessageReplyStyleProps } from '../Reply';
|
|
@@ -11,6 +11,7 @@ import { TimeProps } from '../Time';
|
|
|
11
11
|
export type RenderMessageImageProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageImageProps<TMessage>;
|
|
12
12
|
export type RenderMessageVideoProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageVideoProps<TMessage>;
|
|
13
13
|
export type RenderMessageAudioProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageAudioProps<TMessage>;
|
|
14
|
+
export type RenderMessageLocationProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageLocationProps<TMessage>;
|
|
14
15
|
export type RenderMessageTextProps<TMessage extends IMessage> = Omit<BubbleProps<TMessage>, 'containerStyle' | 'wrapperStyle'> & MessageTextProps<TMessage>;
|
|
15
16
|
/** Props for message reply functionality in bubble */
|
|
16
17
|
export interface BubbleReplyProps<TMessage extends IMessage> extends MessageReplyStyleProps {
|
|
@@ -47,6 +48,7 @@ export interface BubbleProps<TMessage extends IMessage> {
|
|
|
47
48
|
renderMessageImage?: (props: RenderMessageImageProps<TMessage>) => React.ReactNode;
|
|
48
49
|
renderMessageVideo?: (props: RenderMessageVideoProps<TMessage>) => React.ReactNode;
|
|
49
50
|
renderMessageAudio?: (props: RenderMessageAudioProps<TMessage>) => React.ReactNode;
|
|
51
|
+
renderMessageLocation?: (props: RenderMessageLocationProps<TMessage>) => React.ReactNode;
|
|
50
52
|
renderMessageText?: (props: RenderMessageTextProps<TMessage>) => React.ReactNode;
|
|
51
53
|
renderCustomView?: (bubbleProps: BubbleProps<TMessage>) => React.ReactNode;
|
|
52
54
|
renderTime?: (timeProps: TimeProps<TMessage>) => React.ReactNode;
|
|
@@ -58,13 +60,16 @@ export interface BubbleProps<TMessage extends IMessage> {
|
|
|
58
60
|
messageReply?: BubbleReplyProps<TMessage>;
|
|
59
61
|
/** Emoji reactions configuration */
|
|
60
62
|
reactions?: ReactionsProps<TMessage>;
|
|
63
|
+
/** Telegram-style long-press context menu actions (array or per-message function) */
|
|
64
|
+
messageActions?: MessageMenuItem[] | ((message: TMessage) => MessageMenuItem[]);
|
|
61
65
|
/**
|
|
62
|
-
* Controls whether the bubble
|
|
63
|
-
*
|
|
64
|
-
* `false`) for messages that render natively interactive content -
|
|
65
|
-
* player with its own controls, a map, a WebView - whose touches
|
|
66
|
-
* compete with the bubble.
|
|
67
|
-
*
|
|
66
|
+
* Controls whether the bubble attaches its tap / long-press gestures, which
|
|
67
|
+
* `reactions` and `messageActions` rely on. Pass `false` (or a predicate
|
|
68
|
+
* returning `false`) for messages that render natively interactive content -
|
|
69
|
+
* a video player with its own controls, a map, a WebView - whose touches
|
|
70
|
+
* must not compete with the bubble.
|
|
71
|
+
* Note: with gestures off, that message can no longer open the reaction
|
|
72
|
+
* picker or the context menu.
|
|
68
73
|
* @default true
|
|
69
74
|
*/
|
|
70
75
|
isMessageGestureEnabled?: boolean | ((message: TMessage) => boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Bubble/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Bubble/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,20 @@ import React from 'react';
|
|
|
2
2
|
import { KeyboardAvoidingViewProps } from 'react-native-keyboard-controller';
|
|
3
3
|
interface ChatKeyboardAvoidingViewProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* How far down the window the chat starts, measured by the container above us
|
|
7
|
+
* (see `useKeyboardVerticalOffset`).
|
|
8
|
+
*/
|
|
9
|
+
keyboardVerticalOffset: number;
|
|
5
10
|
/** Consumer overrides, applied last so `keyboardVerticalOffset` can be replaced. */
|
|
6
11
|
keyboardAvoidingViewProps?: KeyboardAvoidingViewProps;
|
|
7
12
|
}
|
|
8
13
|
/**
|
|
9
14
|
* Keeps the input toolbar above the keyboard.
|
|
10
15
|
*
|
|
11
|
-
* Split out of `Chat` so the
|
|
12
|
-
*
|
|
16
|
+
* Split out of `Chat` so the offset can be measured on the container and handed
|
|
17
|
+
* down, keeping the subscription out of the chat's own render path.
|
|
13
18
|
*/
|
|
14
|
-
export declare function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }: ChatKeyboardAvoidingViewProps): React.JSX.Element;
|
|
19
|
+
export declare function ChatKeyboardAvoidingView({ children, keyboardVerticalOffset, keyboardAvoidingViewProps, }: ChatKeyboardAvoidingViewProps): React.JSX.Element;
|
|
15
20
|
export {};
|
|
16
21
|
//# sourceMappingURL=ChatKeyboardAvoidingView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatKeyboardAvoidingView.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAwB,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatKeyboardAvoidingView.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAwB,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAGlG,UAAU,6BAA6B;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CACtD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAE,EACxC,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,GAC1B,EAAE,6BAA6B,qBAW/B"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
|
|
3
|
-
import { useKeyboardVerticalOffset } from '../hooks/useKeyboardVerticalOffset';
|
|
4
3
|
import stylesCommon from '../styles';
|
|
5
4
|
/**
|
|
6
5
|
* Keeps the input toolbar above the keyboard.
|
|
7
6
|
*
|
|
8
|
-
* Split out of `Chat` so the
|
|
9
|
-
*
|
|
7
|
+
* Split out of `Chat` so the offset can be measured on the container and handed
|
|
8
|
+
* down, keeping the subscription out of the chat's own render path.
|
|
10
9
|
*/
|
|
11
|
-
export function ChatKeyboardAvoidingView({ children, keyboardAvoidingViewProps, }) {
|
|
12
|
-
const keyboardVerticalOffset = useKeyboardVerticalOffset();
|
|
10
|
+
export function ChatKeyboardAvoidingView({ children, keyboardVerticalOffset, keyboardAvoidingViewProps, }) {
|
|
13
11
|
return (<KeyboardAvoidingView behavior='translate-with-padding' keyboardVerticalOffset={keyboardVerticalOffset} style={stylesCommon.fill} {...keyboardAvoidingViewProps}>
|
|
14
12
|
{children}
|
|
15
13
|
</KeyboardAvoidingView>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatKeyboardAvoidingView.js","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAA6B,MAAM,kCAAkC,CAAA;AAClG,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatKeyboardAvoidingView.js","sourceRoot":"","sources":["../../src/Chat/ChatKeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAA6B,MAAM,kCAAkC,CAAA;AAClG,OAAO,YAAY,MAAM,WAAW,CAAA;AAapC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAE,EACxC,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,GACK;IAC9B,OAAO,CACL,CAAC,oBAAoB,CACnB,QAAQ,CAAC,wBAAwB,CACjC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,CAC/C,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CACzB,IAAI,yBAAyB,CAAC,CAE9B;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,oBAAoB,CAAC,CACxB,CAAA;AACH,CAAC"}
|
package/lib/Chat/index.d.ts
CHANGED
package/lib/Chat/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAA;AAQd,OAAO,iBAAiB,CAAA;AAYxB,OAAO,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAA;AAOlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAyWnC,iBAAS,WAAW,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAG,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,qBAyErF;kBAzEQ,WAAW;iBA2EE,QAAQ,SAAS,QAAQ,mBAC5B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;kBAWC,QAAQ,SAAS,QAAQ,mBAC7B,QAAQ,EAAE,wBACjB,QAAQ,EAAE;;AAWtB,OAAO,EACL,WAAW,IAAI,IAAI,EACpB,CAAA"}
|
package/lib/Chat/index.js
CHANGED
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
import React, { createRef, useEffect, useMemo,
|
|
1
|
+
import React, { createRef, useEffect, useMemo, useState, useCallback, } from 'react';
|
|
2
2
|
import { View, useColorScheme, } from 'react-native';
|
|
3
|
-
import { ActionSheetProvider, } from '@expo/react-native-action-sheet';
|
|
4
3
|
import dayjs from 'dayjs';
|
|
5
4
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
|
5
|
+
import '../dayjsLocales';
|
|
6
6
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
7
7
|
import { KeyboardProvider } from 'react-native-keyboard-controller';
|
|
8
|
-
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
8
|
+
import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context';
|
|
9
9
|
import { ChatContext } from '../ChatContext';
|
|
10
10
|
import { TEST_ID } from '../Constant';
|
|
11
|
+
import { normalizeColorScheme } from '../hooks/useColorScheme';
|
|
11
12
|
import { useHasKeyboardProvider } from '../hooks/useHasKeyboardProvider';
|
|
13
|
+
import { useKeyboardVerticalOffset } from '../hooks/useKeyboardVerticalOffset';
|
|
14
|
+
import { resolveLabels } from '../i18n';
|
|
12
15
|
import { InputToolbar } from '../InputToolbar';
|
|
13
16
|
import { MessagesContainer } from '../MessagesContainer';
|
|
17
|
+
import { isRTLLocale } from '../rtl';
|
|
14
18
|
import stylesCommon from '../styles';
|
|
19
|
+
import { resolveTheme } from '../Theme';
|
|
15
20
|
import { renderComponentOrElement } from '../utils';
|
|
16
21
|
import { ChatKeyboardAvoidingView } from './ChatKeyboardAvoidingView';
|
|
17
22
|
import styles from './styles';
|
|
18
23
|
dayjs.extend(localizedFormat);
|
|
24
|
+
/** Seed for Chat's own SafeAreaProvider - real frame, but no insets claimed yet. */
|
|
25
|
+
const INITIAL_SAFE_AREA_METRICS = {
|
|
26
|
+
frame: initialWindowMetrics?.frame ?? { x: 0, y: 0, width: 0, height: 0 },
|
|
27
|
+
insets: { top: 0, left: 0, right: 0, bottom: 0 },
|
|
28
|
+
};
|
|
19
29
|
function Chat(props) {
|
|
20
30
|
const { messages = [], initialText = '', isTyping,
|
|
21
31
|
// "random" function from here: https://stackoverflow.com/a/8084248/3452513
|
|
22
32
|
// we do not use uuid since it would add extra native dependency (https://www.npmjs.com/package/react-native-get-random-values)
|
|
23
33
|
// lib's user can decide which algorithm to use and pass it as a prop
|
|
24
|
-
messageIdGenerator = () => (Math.random() + 1).toString(36).substring(7), user = {}, onSend, locale = 'en', colorScheme: colorSchemeProp, renderLoading, actionSheet, textInputProps, renderChatFooter, renderInputToolbar, isInverted = true,
|
|
34
|
+
messageIdGenerator = () => (Math.random() + 1).toString(36).substring(7), user = {}, onSend, locale = 'en', forceRTL, colorScheme: colorSchemeProp, theme, darkTheme, icons, labels, renderLoading, actionSheet, textInputProps, renderChatFooter, renderInputToolbar, isInverted = true,
|
|
25
35
|
// Reply props
|
|
26
36
|
reply, } = props;
|
|
27
37
|
// Extract reply props for internal use
|
|
@@ -32,8 +42,14 @@ function Chat(props) {
|
|
|
32
42
|
const replyPreviewContainerStyle = reply?.previewStyle?.containerStyle;
|
|
33
43
|
const replyPreviewTextStyle = reply?.previewStyle?.textStyle;
|
|
34
44
|
const systemColorScheme = useColorScheme();
|
|
35
|
-
|
|
36
|
-
const
|
|
45
|
+
// RN 0.86 can report 'unspecified'; normalize it away before it reaches the theme.
|
|
46
|
+
const colorScheme = normalizeColorScheme(colorSchemeProp !== undefined ? colorSchemeProp : systemColorScheme);
|
|
47
|
+
// Resolve the theme once per change so its identity is stable; this is what
|
|
48
|
+
// makes on-the-fly theme / color-scheme switching propagate to every memoized
|
|
49
|
+
// StyleSheet without rebuilding styles on unrelated renders.
|
|
50
|
+
const resolvedTheme = useMemo(() => resolveTheme(colorScheme, theme, darkTheme), [colorScheme, theme, darkTheme]);
|
|
51
|
+
const resolvedLabels = useMemo(() => resolveLabels(locale, labels), [locale, labels]);
|
|
52
|
+
const isRTL = useMemo(() => forceRTL ?? isRTLLocale(locale), [forceRTL, locale]);
|
|
37
53
|
const messagesContainerRef = useMemo(() => props.messagesContainerRef || createRef(), [props.messagesContainerRef]);
|
|
38
54
|
const textInputRef = useMemo(() => props.textInputRef || createRef(), [props.textInputRef]);
|
|
39
55
|
const [isInitialized, setIsInitialized] = useState(false);
|
|
@@ -139,7 +155,19 @@ function Chat(props) {
|
|
|
139
155
|
if (props.text === undefined)
|
|
140
156
|
setText(text);
|
|
141
157
|
}, [props.text, props.textInputProps]);
|
|
158
|
+
// Measures where the chat starts in the window, which is what the
|
|
159
|
+
// KeyboardAvoidingView needs to keep the toolbar on the keyboard.
|
|
160
|
+
const keyboardOffset = useKeyboardVerticalOffset();
|
|
161
|
+
const measureKeyboardOffset = keyboardOffset.onLayout;
|
|
162
|
+
// Reveal only once the real offset has been measured, not just once the layout
|
|
163
|
+
// event that kicked off measuring it has fired - `isInitialized` alone let the
|
|
164
|
+
// toolbar paint for a frame at the pre-measurement seed, which is offset 0 for
|
|
165
|
+
// any chat that isn't full-screen. See `useKeyboardVerticalOffset` (#12).
|
|
166
|
+
const isReady = isInitialized && keyboardOffset.isMeasured;
|
|
142
167
|
const onInitialLayoutViewLayout = useCallback((e) => {
|
|
168
|
+
// Runs on every layout, not just the first: a header appearing or the
|
|
169
|
+
// device rotating moves the chat's top edge.
|
|
170
|
+
measureKeyboardOffset();
|
|
143
171
|
if (isInitialized)
|
|
144
172
|
return;
|
|
145
173
|
const { layout } = e.nativeEvent;
|
|
@@ -148,7 +176,7 @@ function Chat(props) {
|
|
|
148
176
|
notifyInputTextReset();
|
|
149
177
|
setIsInitialized(true);
|
|
150
178
|
setText(getTextFromProp(initialText));
|
|
151
|
-
}, [isInitialized, initialText, notifyInputTextReset, getTextFromProp]);
|
|
179
|
+
}, [isInitialized, initialText, notifyInputTextReset, getTextFromProp, measureKeyboardOffset]);
|
|
152
180
|
const inputToolbarFragment = useMemo(() => {
|
|
153
181
|
if (!isInitialized)
|
|
154
182
|
return null;
|
|
@@ -188,40 +216,53 @@ function Chat(props) {
|
|
|
188
216
|
replyPreviewTextStyle,
|
|
189
217
|
]);
|
|
190
218
|
const contextValues = useMemo(() => ({
|
|
219
|
+
// The built-in UI no longer uses an action sheet; this stays as an
|
|
220
|
+
// escape hatch for consumers who pass their own `actionSheet` (e.g.
|
|
221
|
+
// @expo/react-native-action-sheet). Defaults to a no-op.
|
|
191
222
|
actionSheet: actionSheet ||
|
|
192
223
|
(() => ({
|
|
193
|
-
showActionSheetWithOptions:
|
|
224
|
+
showActionSheetWithOptions: () => { },
|
|
194
225
|
})),
|
|
195
226
|
getLocale: () => locale,
|
|
227
|
+
getIsRTL: () => isRTL,
|
|
196
228
|
getColorScheme: () => colorScheme,
|
|
197
|
-
|
|
229
|
+
getTheme: () => resolvedTheme,
|
|
230
|
+
getIcons: () => icons,
|
|
231
|
+
getLabels: () => resolvedLabels,
|
|
232
|
+
}), [actionSheet, locale, isRTL, colorScheme, resolvedTheme, icons, resolvedLabels]);
|
|
198
233
|
useEffect(() => {
|
|
199
234
|
if (props.text != null)
|
|
200
235
|
setText(props.text);
|
|
201
236
|
}, [props.text]);
|
|
202
237
|
return (<ChatContext.Provider value={contextValues}>
|
|
203
|
-
<
|
|
204
|
-
<
|
|
205
|
-
<
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
</View>
|
|
213
|
-
</ActionSheetProvider>
|
|
238
|
+
<View testID={TEST_ID.WRAPPER} ref={keyboardOffset.ref} style={[stylesCommon.fill, styles.contentContainer]} onLayout={onInitialLayoutViewLayout}>
|
|
239
|
+
<ChatKeyboardAvoidingView keyboardVerticalOffset={keyboardOffset.keyboardVerticalOffset} keyboardAvoidingViewProps={props.keyboardAvoidingViewProps}>
|
|
240
|
+
<View testID={TEST_ID.CONTENT} style={[stylesCommon.fill, !isReady && styles.hidden]}>
|
|
241
|
+
{renderMessages}
|
|
242
|
+
{inputToolbarFragment}
|
|
243
|
+
</View>
|
|
244
|
+
{!isReady && renderComponentOrElement(renderLoading, {})}
|
|
245
|
+
</ChatKeyboardAvoidingView>
|
|
246
|
+
</View>
|
|
214
247
|
</ChatContext.Provider>);
|
|
215
248
|
}
|
|
216
249
|
function ChatWrapper(props) {
|
|
217
|
-
const { keyboardProviderProps, disableKeyboardProvider = false, ...rest } = props;
|
|
250
|
+
const { keyboardProviderProps, disableKeyboardProvider = false, disableGestureHandlerRootView = false, ...rest } = props;
|
|
218
251
|
// Apps are meant to mount `KeyboardProvider` once, at the root. Nesting a second one
|
|
219
252
|
// breaks keyboard handling on Android, so we only provide one when the app has none.
|
|
220
|
-
|
|
253
|
+
//
|
|
254
|
+
// Locked in on mount rather than read fresh every render: Chat is often portaled in
|
|
255
|
+
// and out of the tree (a bottom sheet, a conditional screen), and if this ever flipped
|
|
256
|
+
// on a later render, `chat` below would move from being a direct child of the fragment
|
|
257
|
+
// to a child of `KeyboardProvider` (or back) - a structural change React can only handle
|
|
258
|
+
// by unmounting and remounting the whole subtree. That kind of surprise remount, with a
|
|
259
|
+
// shared element reused across both branches, is exactly the shape of hazard reported in
|
|
260
|
+
// #17 alongside a rare Fabric/Yoga layout assertion; locking the choice removes it even
|
|
261
|
+
// though it wasn't confirmed as that bug's root cause.
|
|
262
|
+
const [hasKeyboardProvider] = useState(useHasKeyboardProvider());
|
|
221
263
|
const chat = <Chat {...rest}/>;
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
{disableKeyboardProvider || hasKeyboardProvider
|
|
264
|
+
const withKeyboardProvider = (<>
|
|
265
|
+
{disableKeyboardProvider || hasKeyboardProvider
|
|
225
266
|
? chat
|
|
226
267
|
: (
|
|
227
268
|
// No `statusBarTranslucent` / `navigationBarTranslucent` here on purpose.
|
|
@@ -233,9 +274,34 @@ function ChatWrapper(props) {
|
|
|
233
274
|
// the app really is edge-to-edge, so forcing them only ever mismatches a
|
|
234
275
|
// window that is not. Override via `keyboardProviderProps` if needed.
|
|
235
276
|
<KeyboardProvider {...keyboardProviderProps}>
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
277
|
+
{chat}
|
|
278
|
+
</KeyboardProvider>)}
|
|
279
|
+
</>);
|
|
280
|
+
const content = (
|
|
281
|
+
// Chat measures its *own* insets rather than reusing the app's. Reusing them
|
|
282
|
+
// double-pads: a navigator has usually already inset the screen, so the
|
|
283
|
+
// window's bottom inset is consumed before the chat even renders.
|
|
284
|
+
//
|
|
285
|
+
// The provider is seeded with zero insets on purpose. Without `initialMetrics`
|
|
286
|
+
// react-native-safe-area-context seeds a nested provider from its parent, so
|
|
287
|
+
// the first frame used the window's insets and the second the measured ones -
|
|
288
|
+
// bottom 34 -> 0 on an iPhone, which is the jump you see on every mount.
|
|
289
|
+
// Seeding zero matches what a chat inside a navigator settles on, so nothing
|
|
290
|
+
// moves; a genuinely full-screen chat grows into its inset on the next frame
|
|
291
|
+
// instead of collapsing out of one.
|
|
292
|
+
<SafeAreaProvider initialMetrics={INITIAL_SAFE_AREA_METRICS}>
|
|
293
|
+
{withKeyboardProvider}
|
|
294
|
+
</SafeAreaProvider>);
|
|
295
|
+
// Apps are meant to mount `GestureHandlerRootView` once, at the root, same as
|
|
296
|
+
// `KeyboardProvider` above - a nested one changes the native view hierarchy around
|
|
297
|
+
// the composer for no benefit. Unlike `KeyboardProvider`, this can't be auto-detected:
|
|
298
|
+
// `react-native-gesture-handler` doesn't publicly expose whether one is already
|
|
299
|
+
// mounted above, so an app that has its own (directly, or via something like a bottom
|
|
300
|
+
// sheet library) needs to opt out explicitly.
|
|
301
|
+
if (disableGestureHandlerRootView)
|
|
302
|
+
return <View style={styles.fill}>{content}</View>;
|
|
303
|
+
return (<GestureHandlerRootView style={styles.fill}>
|
|
304
|
+
{content}
|
|
239
305
|
</GestureHandlerRootView>);
|
|
240
306
|
}
|
|
241
307
|
ChatWrapper.append = (currentMessages = [], messages, isInverted = true) => {
|
package/lib/Chat/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Chat/index.tsx"],"names":[],"mappings":"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"}
|