@ion299/sdk-react-native 0.1.0-beta.1
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/CHANGELOG.md +17 -0
- package/ChatPlatformSdk.podspec +20 -0
- package/README.md +315 -0
- package/android/build.gradle +54 -0
- package/android/src/main/AndroidManifest.xml +18 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkDownloaderModule.kt +240 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkFilePickerModule.kt +165 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkPackage.kt +15 -0
- package/android/src/main/res/xml/chat_sdk_file_paths.xml +7 -0
- package/ios/ChatSdkDownloader.m +10 -0
- package/ios/ChatSdkDownloader.swift +141 -0
- package/ios/ChatSdkFilePicker.m +9 -0
- package/ios/ChatSdkFilePicker.swift +161 -0
- package/lib/commonjs/ChatSDK.js +193 -0
- package/lib/commonjs/ChatSDK.js.map +1 -0
- package/lib/commonjs/api.js +195 -0
- package/lib/commonjs/api.js.map +1 -0
- package/lib/commonjs/attachmentUtils.js +39 -0
- package/lib/commonjs/attachmentUtils.js.map +1 -0
- package/lib/commonjs/components/AttachmentGallery.js +367 -0
- package/lib/commonjs/components/AttachmentGallery.js.map +1 -0
- package/lib/commonjs/components/ChatScreen.js +286 -0
- package/lib/commonjs/components/ChatScreen.js.map +1 -0
- package/lib/commonjs/components/MessageBubble.js +227 -0
- package/lib/commonjs/components/MessageBubble.js.map +1 -0
- package/lib/commonjs/components/MessageInput.js +273 -0
- package/lib/commonjs/components/MessageInput.js.map +1 -0
- package/lib/commonjs/components/SurveyOverlay.js +499 -0
- package/lib/commonjs/components/SurveyOverlay.js.map +1 -0
- package/lib/commonjs/downloaders/defaultAttachmentDownloader.js +28 -0
- package/lib/commonjs/downloaders/defaultAttachmentDownloader.js.map +1 -0
- package/lib/commonjs/filePicker.js +25 -0
- package/lib/commonjs/filePicker.js.map +1 -0
- package/lib/commonjs/index.js +27 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/native/NativeChatSdkDownloader.js +28 -0
- package/lib/commonjs/native/NativeChatSdkDownloader.js.map +1 -0
- package/lib/commonjs/native/NativeChatSdkFilePicker.js +17 -0
- package/lib/commonjs/native/NativeChatSdkFilePicker.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/realtime.js +242 -0
- package/lib/commonjs/realtime.js.map +1 -0
- package/lib/commonjs/safeArea.js +18 -0
- package/lib/commonjs/safeArea.js.map +1 -0
- package/lib/commonjs/session.js +159 -0
- package/lib/commonjs/session.js.map +1 -0
- package/lib/commonjs/surveyCache.js +30 -0
- package/lib/commonjs/surveyCache.js.map +1 -0
- package/lib/commonjs/theme.js +29 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/useChat.js +145 -0
- package/lib/commonjs/useChat.js.map +1 -0
- package/lib/module/ChatSDK.js +189 -0
- package/lib/module/ChatSDK.js.map +1 -0
- package/lib/module/api.js +190 -0
- package/lib/module/api.js.map +1 -0
- package/lib/module/attachmentUtils.js +33 -0
- package/lib/module/attachmentUtils.js.map +1 -0
- package/lib/module/components/AttachmentGallery.js +362 -0
- package/lib/module/components/AttachmentGallery.js.map +1 -0
- package/lib/module/components/ChatScreen.js +281 -0
- package/lib/module/components/ChatScreen.js.map +1 -0
- package/lib/module/components/MessageBubble.js +222 -0
- package/lib/module/components/MessageBubble.js.map +1 -0
- package/lib/module/components/MessageInput.js +268 -0
- package/lib/module/components/MessageInput.js.map +1 -0
- package/lib/module/components/SurveyOverlay.js +494 -0
- package/lib/module/components/SurveyOverlay.js.map +1 -0
- package/lib/module/downloaders/defaultAttachmentDownloader.js +22 -0
- package/lib/module/downloaders/defaultAttachmentDownloader.js.map +1 -0
- package/lib/module/filePicker.js +20 -0
- package/lib/module/filePicker.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native/NativeChatSdkDownloader.js +23 -0
- package/lib/module/native/NativeChatSdkDownloader.js.map +1 -0
- package/lib/module/native/NativeChatSdkFilePicker.js +13 -0
- package/lib/module/native/NativeChatSdkFilePicker.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/realtime.js +236 -0
- package/lib/module/realtime.js.map +1 -0
- package/lib/module/safeArea.js +14 -0
- package/lib/module/safeArea.js.map +1 -0
- package/lib/module/session.js +154 -0
- package/lib/module/session.js.map +1 -0
- package/lib/module/surveyCache.js +23 -0
- package/lib/module/surveyCache.js.map +1 -0
- package/lib/module/theme.js +25 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/useChat.js +141 -0
- package/lib/module/useChat.js.map +1 -0
- package/lib/typescript/commonjs/ChatSDK.d.ts +49 -0
- package/lib/typescript/commonjs/ChatSDK.d.ts.map +1 -0
- package/lib/typescript/commonjs/api.d.ts +31 -0
- package/lib/typescript/commonjs/api.d.ts.map +1 -0
- package/lib/typescript/commonjs/attachmentUtils.d.ts +12 -0
- package/lib/typescript/commonjs/attachmentUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/AttachmentGallery.d.ts +16 -0
- package/lib/typescript/commonjs/components/AttachmentGallery.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/ChatScreen.d.ts +16 -0
- package/lib/typescript/commonjs/components/ChatScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/MessageBubble.d.ts +12 -0
- package/lib/typescript/commonjs/components/MessageBubble.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/MessageInput.d.ts +14 -0
- package/lib/typescript/commonjs/components/MessageInput.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/SurveyOverlay.d.ts +13 -0
- package/lib/typescript/commonjs/components/SurveyOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/downloaders/defaultAttachmentDownloader.d.ts +3 -0
- package/lib/typescript/commonjs/downloaders/defaultAttachmentDownloader.d.ts.map +1 -0
- package/lib/typescript/commonjs/filePicker.d.ts +4 -0
- package/lib/typescript/commonjs/filePicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +7 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/NativeChatSdkDownloader.d.ts +24 -0
- package/lib/typescript/commonjs/native/NativeChatSdkDownloader.d.ts.map +1 -0
- package/lib/typescript/commonjs/native/NativeChatSdkFilePicker.d.ts +17 -0
- package/lib/typescript/commonjs/native/NativeChatSdkFilePicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/realtime.d.ts +42 -0
- package/lib/typescript/commonjs/realtime.d.ts.map +1 -0
- package/lib/typescript/commonjs/safeArea.d.ts +4 -0
- package/lib/typescript/commonjs/safeArea.d.ts.map +1 -0
- package/lib/typescript/commonjs/session.d.ts +45 -0
- package/lib/typescript/commonjs/session.d.ts.map +1 -0
- package/lib/typescript/commonjs/surveyCache.d.ts +5 -0
- package/lib/typescript/commonjs/surveyCache.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme.d.ts +21 -0
- package/lib/typescript/commonjs/theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/types.d.ts +156 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/useChat.d.ts +16 -0
- package/lib/typescript/commonjs/useChat.d.ts.map +1 -0
- package/lib/typescript/module/ChatSDK.d.ts +49 -0
- package/lib/typescript/module/ChatSDK.d.ts.map +1 -0
- package/lib/typescript/module/api.d.ts +31 -0
- package/lib/typescript/module/api.d.ts.map +1 -0
- package/lib/typescript/module/attachmentUtils.d.ts +12 -0
- package/lib/typescript/module/attachmentUtils.d.ts.map +1 -0
- package/lib/typescript/module/components/AttachmentGallery.d.ts +16 -0
- package/lib/typescript/module/components/AttachmentGallery.d.ts.map +1 -0
- package/lib/typescript/module/components/ChatScreen.d.ts +16 -0
- package/lib/typescript/module/components/ChatScreen.d.ts.map +1 -0
- package/lib/typescript/module/components/MessageBubble.d.ts +12 -0
- package/lib/typescript/module/components/MessageBubble.d.ts.map +1 -0
- package/lib/typescript/module/components/MessageInput.d.ts +14 -0
- package/lib/typescript/module/components/MessageInput.d.ts.map +1 -0
- package/lib/typescript/module/components/SurveyOverlay.d.ts +13 -0
- package/lib/typescript/module/components/SurveyOverlay.d.ts.map +1 -0
- package/lib/typescript/module/downloaders/defaultAttachmentDownloader.d.ts +3 -0
- package/lib/typescript/module/downloaders/defaultAttachmentDownloader.d.ts.map +1 -0
- package/lib/typescript/module/filePicker.d.ts +4 -0
- package/lib/typescript/module/filePicker.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +7 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/native/NativeChatSdkDownloader.d.ts +24 -0
- package/lib/typescript/module/native/NativeChatSdkDownloader.d.ts.map +1 -0
- package/lib/typescript/module/native/NativeChatSdkFilePicker.d.ts +17 -0
- package/lib/typescript/module/native/NativeChatSdkFilePicker.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/realtime.d.ts +42 -0
- package/lib/typescript/module/realtime.d.ts.map +1 -0
- package/lib/typescript/module/safeArea.d.ts +4 -0
- package/lib/typescript/module/safeArea.d.ts.map +1 -0
- package/lib/typescript/module/session.d.ts +45 -0
- package/lib/typescript/module/session.d.ts.map +1 -0
- package/lib/typescript/module/surveyCache.d.ts +5 -0
- package/lib/typescript/module/surveyCache.d.ts.map +1 -0
- package/lib/typescript/module/theme.d.ts +21 -0
- package/lib/typescript/module/theme.d.ts.map +1 -0
- package/lib/typescript/module/types.d.ts +156 -0
- package/lib/typescript/module/types.d.ts.map +1 -0
- package/lib/typescript/module/useChat.d.ts +16 -0
- package/lib/typescript/module/useChat.d.ts.map +1 -0
- package/package.json +75 -0
- package/react-native.config.js +10 -0
- package/src/ChatSDK.ts +237 -0
- package/src/api.ts +228 -0
- package/src/attachmentUtils.ts +49 -0
- package/src/components/AttachmentGallery.tsx +363 -0
- package/src/components/ChatScreen.tsx +267 -0
- package/src/components/MessageBubble.tsx +208 -0
- package/src/components/MessageInput.tsx +280 -0
- package/src/components/SurveyOverlay.tsx +469 -0
- package/src/downloaders/defaultAttachmentDownloader.ts +27 -0
- package/src/filePicker.ts +22 -0
- package/src/index.ts +30 -0
- package/src/native/NativeChatSdkDownloader.ts +49 -0
- package/src/native/NativeChatSdkFilePicker.ts +30 -0
- package/src/realtime.ts +278 -0
- package/src/safeArea.ts +8 -0
- package/src/session.ts +196 -0
- package/src/surveyCache.ts +24 -0
- package/src/theme.ts +49 -0
- package/src/types.ts +199 -0
- package/src/useChat.ts +190 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, Alert, Dimensions, FlatList, Modal, Platform, SafeAreaView, StatusBar, StyleSheet, Text, TouchableOpacity, View, Image } from 'react-native';
|
|
5
|
+
import { attachmentDisplayName } from "../attachmentUtils.js";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
const {
|
|
8
|
+
width: SW
|
|
9
|
+
} = Dimensions.get('window');
|
|
10
|
+
function formatBytes(bytes) {
|
|
11
|
+
if (bytes <= 0) return '';
|
|
12
|
+
if (bytes < 1024) return `${bytes} Б`;
|
|
13
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} КБ`;
|
|
14
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} МБ`;
|
|
15
|
+
}
|
|
16
|
+
function GallerySlide({
|
|
17
|
+
item,
|
|
18
|
+
isVisible
|
|
19
|
+
}) {
|
|
20
|
+
const [loading, setLoading] = useState(true);
|
|
21
|
+
const displayName = attachmentDisplayName(item);
|
|
22
|
+
if (item.type === 'image') {
|
|
23
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
24
|
+
style: slide.root,
|
|
25
|
+
children: [loading && isVisible && /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
26
|
+
color: "#fff",
|
|
27
|
+
size: "large",
|
|
28
|
+
style: StyleSheet.absoluteFill
|
|
29
|
+
}), /*#__PURE__*/_jsx(Image, {
|
|
30
|
+
source: {
|
|
31
|
+
uri: item.url
|
|
32
|
+
},
|
|
33
|
+
style: slide.image,
|
|
34
|
+
resizeMode: "contain",
|
|
35
|
+
onLoadStart: () => setLoading(true),
|
|
36
|
+
onLoadEnd: () => setLoading(false)
|
|
37
|
+
})]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
41
|
+
style: [slide.root, slide.doc],
|
|
42
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
43
|
+
style: slide.docName,
|
|
44
|
+
numberOfLines: 6,
|
|
45
|
+
children: displayName
|
|
46
|
+
}), item.size > 0 && /*#__PURE__*/_jsx(Text, {
|
|
47
|
+
style: slide.docSize,
|
|
48
|
+
children: formatBytes(item.size)
|
|
49
|
+
})]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export function AttachmentGallery({
|
|
53
|
+
attachments,
|
|
54
|
+
initialIndex,
|
|
55
|
+
visible,
|
|
56
|
+
onClose,
|
|
57
|
+
downloadLabel = 'Скачать',
|
|
58
|
+
onDownloadAttachment,
|
|
59
|
+
theme
|
|
60
|
+
}) {
|
|
61
|
+
const listRef = useRef(null);
|
|
62
|
+
const [currentIndex, setCurrentIndex] = useState(initialIndex);
|
|
63
|
+
const [isDownloading, setIsDownloading] = useState(false);
|
|
64
|
+
const current = attachments[currentIndex];
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (visible) {
|
|
67
|
+
setCurrentIndex(initialIndex);
|
|
68
|
+
}
|
|
69
|
+
}, [visible, initialIndex]);
|
|
70
|
+
const handleViewableChange = useCallback(({
|
|
71
|
+
viewableItems
|
|
72
|
+
}) => {
|
|
73
|
+
if (viewableItems[0]?.index != null) {
|
|
74
|
+
setCurrentIndex(viewableItems[0].index);
|
|
75
|
+
}
|
|
76
|
+
}, []);
|
|
77
|
+
const viewabilityConfig = useRef({
|
|
78
|
+
viewAreaCoveragePercentThreshold: 50
|
|
79
|
+
});
|
|
80
|
+
const scrollTo = index => {
|
|
81
|
+
listRef.current?.scrollToIndex({
|
|
82
|
+
index,
|
|
83
|
+
animated: true
|
|
84
|
+
});
|
|
85
|
+
setCurrentIndex(index);
|
|
86
|
+
};
|
|
87
|
+
const handleDownload = async () => {
|
|
88
|
+
if (!current || isDownloading) return;
|
|
89
|
+
setIsDownloading(true);
|
|
90
|
+
try {
|
|
91
|
+
await onDownloadAttachment(current);
|
|
92
|
+
} catch (e) {
|
|
93
|
+
const message = e instanceof Error ? e.message : 'Не удалось скачать файл';
|
|
94
|
+
Alert.alert('Ошибка', message);
|
|
95
|
+
} finally {
|
|
96
|
+
setIsDownloading(false);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const renderItem = ({
|
|
100
|
+
item,
|
|
101
|
+
index
|
|
102
|
+
}) => /*#__PURE__*/_jsx(GallerySlide, {
|
|
103
|
+
item: item,
|
|
104
|
+
isVisible: index === currentIndex
|
|
105
|
+
});
|
|
106
|
+
const counterText = attachments.length > 1 ? `${currentIndex + 1} / ${attachments.length}` : '';
|
|
107
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
108
|
+
visible: visible,
|
|
109
|
+
transparent: false,
|
|
110
|
+
animationType: "fade",
|
|
111
|
+
onRequestClose: onClose,
|
|
112
|
+
statusBarTranslucent: true,
|
|
113
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
114
|
+
style: styles.root,
|
|
115
|
+
children: [Platform.OS === 'android' && /*#__PURE__*/_jsx(StatusBar, {
|
|
116
|
+
barStyle: "light-content",
|
|
117
|
+
backgroundColor: "#000",
|
|
118
|
+
translucent: true
|
|
119
|
+
}), /*#__PURE__*/_jsx(SafeAreaView, {
|
|
120
|
+
style: styles.headerSafe,
|
|
121
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
122
|
+
style: styles.header,
|
|
123
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
124
|
+
style: styles.headerSide
|
|
125
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
style: styles.counter,
|
|
127
|
+
children: counterText
|
|
128
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
129
|
+
style: styles.closeBtn,
|
|
130
|
+
onPress: onClose,
|
|
131
|
+
hitSlop: 12,
|
|
132
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
133
|
+
style: styles.closeIcon,
|
|
134
|
+
children: "\u2715"
|
|
135
|
+
})
|
|
136
|
+
})]
|
|
137
|
+
})
|
|
138
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
139
|
+
style: styles.listWrap,
|
|
140
|
+
children: [/*#__PURE__*/_jsx(FlatList, {
|
|
141
|
+
ref: listRef,
|
|
142
|
+
data: attachments,
|
|
143
|
+
keyExtractor: a => String(a.id),
|
|
144
|
+
renderItem: renderItem,
|
|
145
|
+
horizontal: true,
|
|
146
|
+
pagingEnabled: true,
|
|
147
|
+
showsHorizontalScrollIndicator: false,
|
|
148
|
+
initialScrollIndex: initialIndex,
|
|
149
|
+
getItemLayout: (_, index) => ({
|
|
150
|
+
length: SW,
|
|
151
|
+
offset: SW * index,
|
|
152
|
+
index
|
|
153
|
+
}),
|
|
154
|
+
onViewableItemsChanged: handleViewableChange,
|
|
155
|
+
viewabilityConfig: viewabilityConfig.current,
|
|
156
|
+
style: styles.list
|
|
157
|
+
}), attachments.length > 1 && currentIndex > 0 && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
158
|
+
style: [styles.navBtn, styles.navLeft],
|
|
159
|
+
onPress: () => scrollTo(currentIndex - 1),
|
|
160
|
+
activeOpacity: 0.7,
|
|
161
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
162
|
+
style: styles.navIcon,
|
|
163
|
+
children: "\u2039"
|
|
164
|
+
})
|
|
165
|
+
}), attachments.length > 1 && currentIndex < attachments.length - 1 && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
166
|
+
style: [styles.navBtn, styles.navRight],
|
|
167
|
+
onPress: () => scrollTo(currentIndex + 1),
|
|
168
|
+
activeOpacity: 0.7,
|
|
169
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
170
|
+
style: styles.navIcon,
|
|
171
|
+
children: "\u203A"
|
|
172
|
+
})
|
|
173
|
+
})]
|
|
174
|
+
}), current && /*#__PURE__*/_jsx(SafeAreaView, {
|
|
175
|
+
style: styles.footerSafe,
|
|
176
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
177
|
+
style: styles.footer,
|
|
178
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
179
|
+
style: styles.meta,
|
|
180
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
181
|
+
style: styles.metaName,
|
|
182
|
+
numberOfLines: 1,
|
|
183
|
+
children: attachmentDisplayName(current)
|
|
184
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
185
|
+
style: styles.metaInfo,
|
|
186
|
+
children: [formatBytes(current.size), current.messageTime].filter(Boolean).join(' · ')
|
|
187
|
+
})]
|
|
188
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
189
|
+
style: [styles.downloadBtn, {
|
|
190
|
+
backgroundColor: theme.primaryColor
|
|
191
|
+
}],
|
|
192
|
+
onPress: () => void handleDownload(),
|
|
193
|
+
activeOpacity: 0.85,
|
|
194
|
+
disabled: isDownloading,
|
|
195
|
+
children: isDownloading ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
196
|
+
color: "#fff",
|
|
197
|
+
size: "small"
|
|
198
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
199
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
200
|
+
style: styles.downloadIcon,
|
|
201
|
+
children: "\u2193"
|
|
202
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
203
|
+
style: styles.downloadText,
|
|
204
|
+
children: downloadLabel
|
|
205
|
+
})]
|
|
206
|
+
})
|
|
207
|
+
})]
|
|
208
|
+
})
|
|
209
|
+
})]
|
|
210
|
+
})
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
const slide = StyleSheet.create({
|
|
214
|
+
root: {
|
|
215
|
+
width: SW,
|
|
216
|
+
flex: 1,
|
|
217
|
+
alignItems: 'center',
|
|
218
|
+
justifyContent: 'center'
|
|
219
|
+
},
|
|
220
|
+
image: {
|
|
221
|
+
width: SW,
|
|
222
|
+
height: '100%'
|
|
223
|
+
},
|
|
224
|
+
doc: {
|
|
225
|
+
paddingHorizontal: 32,
|
|
226
|
+
gap: 12
|
|
227
|
+
},
|
|
228
|
+
docName: {
|
|
229
|
+
color: '#fff',
|
|
230
|
+
fontSize: 20,
|
|
231
|
+
fontWeight: '600',
|
|
232
|
+
textAlign: 'center',
|
|
233
|
+
lineHeight: 28
|
|
234
|
+
},
|
|
235
|
+
docSize: {
|
|
236
|
+
color: 'rgba(255,255,255,0.7)',
|
|
237
|
+
fontSize: 15,
|
|
238
|
+
textAlign: 'center'
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
const styles = StyleSheet.create({
|
|
242
|
+
root: {
|
|
243
|
+
flex: 1,
|
|
244
|
+
backgroundColor: '#000'
|
|
245
|
+
},
|
|
246
|
+
headerSafe: {
|
|
247
|
+
backgroundColor: 'rgba(0,0,0,0.85)',
|
|
248
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
249
|
+
borderBottomColor: 'rgba(255,255,255,0.15)'
|
|
250
|
+
},
|
|
251
|
+
header: {
|
|
252
|
+
flexDirection: 'row',
|
|
253
|
+
alignItems: 'center',
|
|
254
|
+
paddingHorizontal: 16,
|
|
255
|
+
paddingVertical: 10
|
|
256
|
+
},
|
|
257
|
+
headerSide: {
|
|
258
|
+
width: 40
|
|
259
|
+
},
|
|
260
|
+
counter: {
|
|
261
|
+
flex: 1,
|
|
262
|
+
color: '#fff',
|
|
263
|
+
fontSize: 16,
|
|
264
|
+
fontWeight: '600',
|
|
265
|
+
textAlign: 'center'
|
|
266
|
+
},
|
|
267
|
+
closeBtn: {
|
|
268
|
+
width: 40,
|
|
269
|
+
height: 40,
|
|
270
|
+
borderRadius: 20,
|
|
271
|
+
backgroundColor: '#fff',
|
|
272
|
+
alignItems: 'center',
|
|
273
|
+
justifyContent: 'center'
|
|
274
|
+
},
|
|
275
|
+
closeIcon: {
|
|
276
|
+
color: '#111',
|
|
277
|
+
fontSize: 18,
|
|
278
|
+
fontWeight: '700',
|
|
279
|
+
lineHeight: 20
|
|
280
|
+
},
|
|
281
|
+
listWrap: {
|
|
282
|
+
flex: 1
|
|
283
|
+
},
|
|
284
|
+
list: {
|
|
285
|
+
flex: 1
|
|
286
|
+
},
|
|
287
|
+
navBtn: {
|
|
288
|
+
position: 'absolute',
|
|
289
|
+
top: 0,
|
|
290
|
+
bottom: 0,
|
|
291
|
+
width: 56,
|
|
292
|
+
alignItems: 'center',
|
|
293
|
+
justifyContent: 'center'
|
|
294
|
+
},
|
|
295
|
+
navLeft: {
|
|
296
|
+
left: 0
|
|
297
|
+
},
|
|
298
|
+
navRight: {
|
|
299
|
+
right: 0
|
|
300
|
+
},
|
|
301
|
+
navIcon: {
|
|
302
|
+
color: '#fff',
|
|
303
|
+
fontSize: 40,
|
|
304
|
+
lineHeight: 44,
|
|
305
|
+
textShadowColor: 'rgba(0,0,0,0.8)',
|
|
306
|
+
textShadowOffset: {
|
|
307
|
+
width: 0,
|
|
308
|
+
height: 1
|
|
309
|
+
},
|
|
310
|
+
textShadowRadius: 6
|
|
311
|
+
},
|
|
312
|
+
footerSafe: {
|
|
313
|
+
backgroundColor: 'rgba(0,0,0,0.9)',
|
|
314
|
+
borderTopWidth: StyleSheet.hairlineWidth,
|
|
315
|
+
borderTopColor: 'rgba(255,255,255,0.15)'
|
|
316
|
+
},
|
|
317
|
+
footer: {
|
|
318
|
+
flexDirection: 'row',
|
|
319
|
+
alignItems: 'center',
|
|
320
|
+
paddingHorizontal: 20,
|
|
321
|
+
paddingVertical: 16,
|
|
322
|
+
gap: 12
|
|
323
|
+
},
|
|
324
|
+
meta: {
|
|
325
|
+
flex: 1,
|
|
326
|
+
gap: 4
|
|
327
|
+
},
|
|
328
|
+
metaName: {
|
|
329
|
+
color: '#fff',
|
|
330
|
+
fontSize: 15,
|
|
331
|
+
fontWeight: '600',
|
|
332
|
+
lineHeight: 20
|
|
333
|
+
},
|
|
334
|
+
metaInfo: {
|
|
335
|
+
color: 'rgba(255,255,255,0.7)',
|
|
336
|
+
fontSize: 13,
|
|
337
|
+
lineHeight: 18
|
|
338
|
+
},
|
|
339
|
+
downloadBtn: {
|
|
340
|
+
flexDirection: 'row',
|
|
341
|
+
alignItems: 'center',
|
|
342
|
+
justifyContent: 'center',
|
|
343
|
+
minWidth: 110,
|
|
344
|
+
borderRadius: 20,
|
|
345
|
+
paddingHorizontal: 18,
|
|
346
|
+
paddingVertical: 10,
|
|
347
|
+
gap: 6,
|
|
348
|
+
flexShrink: 0
|
|
349
|
+
},
|
|
350
|
+
downloadIcon: {
|
|
351
|
+
color: '#fff',
|
|
352
|
+
fontSize: 16,
|
|
353
|
+
fontWeight: 'bold',
|
|
354
|
+
lineHeight: 18
|
|
355
|
+
},
|
|
356
|
+
downloadText: {
|
|
357
|
+
color: '#fff',
|
|
358
|
+
fontSize: 14,
|
|
359
|
+
fontWeight: '600'
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
//# sourceMappingURL=AttachmentGallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","ActivityIndicator","Alert","Dimensions","FlatList","Modal","Platform","SafeAreaView","StatusBar","StyleSheet","Text","TouchableOpacity","View","Image","attachmentDisplayName","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","width","SW","get","formatBytes","bytes","toFixed","GallerySlide","item","isVisible","loading","setLoading","displayName","type","style","slide","root","children","color","size","absoluteFill","source","uri","url","image","resizeMode","onLoadStart","onLoadEnd","doc","docName","numberOfLines","docSize","AttachmentGallery","attachments","initialIndex","visible","onClose","downloadLabel","onDownloadAttachment","theme","listRef","currentIndex","setCurrentIndex","isDownloading","setIsDownloading","current","handleViewableChange","viewableItems","index","viewabilityConfig","viewAreaCoveragePercentThreshold","scrollTo","scrollToIndex","animated","handleDownload","e","message","Error","alert","renderItem","counterText","length","transparent","animationType","onRequestClose","statusBarTranslucent","styles","OS","barStyle","backgroundColor","translucent","headerSafe","header","headerSide","counter","closeBtn","onPress","hitSlop","closeIcon","listWrap","ref","data","keyExtractor","a","String","id","horizontal","pagingEnabled","showsHorizontalScrollIndicator","initialScrollIndex","getItemLayout","_","offset","onViewableItemsChanged","list","navBtn","navLeft","activeOpacity","navIcon","navRight","footerSafe","footer","meta","metaName","metaInfo","messageTime","filter","Boolean","join","downloadBtn","primaryColor","disabled","downloadIcon","downloadText","create","flex","alignItems","justifyContent","height","paddingHorizontal","gap","fontSize","fontWeight","textAlign","lineHeight","borderBottomWidth","hairlineWidth","borderBottomColor","flexDirection","paddingVertical","borderRadius","position","top","bottom","left","right","textShadowColor","textShadowOffset","textShadowRadius","borderTopWidth","borderTopColor","minWidth","flexShrink"],"sourceRoot":"..\\..\\..\\src","sources":["components/AttachmentGallery.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, FlatList, Image, KeyboardAvoidingView, Platform, SafeAreaView, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import { getAndroidStatusBarHeight } from "../safeArea.js";
|
|
6
|
+
import { ChatSDK } from "../ChatSDK.js";
|
|
7
|
+
import { buildTheme } from "../theme.js";
|
|
8
|
+
import { useChat } from "../useChat.js";
|
|
9
|
+
import { defaultAttachmentDownloader } from "../downloaders/defaultAttachmentDownloader.js";
|
|
10
|
+
import { MessageBubble } from "./MessageBubble.js";
|
|
11
|
+
import { MessageInput } from "./MessageInput.js";
|
|
12
|
+
import { SurveyOverlay } from "./SurveyOverlay.js";
|
|
13
|
+
import { AttachmentGallery } from "./AttachmentGallery.js";
|
|
14
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
const DEFAULT_STRINGS = {
|
|
16
|
+
headerTitle: 'Чат',
|
|
17
|
+
emptyStateText: 'Начните диалог — оператор ответит в ближайшее время',
|
|
18
|
+
inputPlaceholder: 'Сообщение…',
|
|
19
|
+
sendingText: 'Отправка…',
|
|
20
|
+
errorRetry: 'Повторить',
|
|
21
|
+
surveyTitle: 'Оцените качество поддержки',
|
|
22
|
+
surveySubmit: 'Отправить',
|
|
23
|
+
surveySkip: 'Пропустить',
|
|
24
|
+
surveyClose: 'Закрыть',
|
|
25
|
+
galleryDownload: 'Скачать'
|
|
26
|
+
};
|
|
27
|
+
export function ChatScreen({
|
|
28
|
+
onClose,
|
|
29
|
+
theme: themeOverride,
|
|
30
|
+
strings,
|
|
31
|
+
onPickFiles,
|
|
32
|
+
onDownloadAttachment
|
|
33
|
+
}) {
|
|
34
|
+
const config = ChatSDK.getSDKConfig();
|
|
35
|
+
const baseTheme = buildTheme(config);
|
|
36
|
+
const theme = themeOverride ? {
|
|
37
|
+
...baseTheme,
|
|
38
|
+
...themeOverride
|
|
39
|
+
} : baseTheme;
|
|
40
|
+
const listRef = useRef(null);
|
|
41
|
+
const t = {
|
|
42
|
+
...DEFAULT_STRINGS,
|
|
43
|
+
...strings
|
|
44
|
+
};
|
|
45
|
+
const {
|
|
46
|
+
messages,
|
|
47
|
+
isLoading,
|
|
48
|
+
isSending,
|
|
49
|
+
error,
|
|
50
|
+
survey,
|
|
51
|
+
sendMessage,
|
|
52
|
+
sendCallback,
|
|
53
|
+
submitSurvey,
|
|
54
|
+
dismissSurvey,
|
|
55
|
+
retry
|
|
56
|
+
} = useChat();
|
|
57
|
+
const [galleryIndex, setGalleryIndex] = useState(0);
|
|
58
|
+
const [galleryVisible, setGalleryVisible] = useState(false);
|
|
59
|
+
const galleryAttachments = useMemo(() => messages.flatMap(m => (m.attachments ?? []).filter(a => a.id > 0).map(a => ({
|
|
60
|
+
...a,
|
|
61
|
+
messageTime: m.time
|
|
62
|
+
}))), [messages]);
|
|
63
|
+
const openGallery = attachment => {
|
|
64
|
+
const idx = galleryAttachments.findIndex(a => a.id === attachment.id);
|
|
65
|
+
setGalleryIndex(Math.max(0, idx));
|
|
66
|
+
setGalleryVisible(true);
|
|
67
|
+
};
|
|
68
|
+
const showInitialLoader = isLoading && messages.length === 0;
|
|
69
|
+
const title = strings?.headerTitle ?? config?.widgetTitle ?? DEFAULT_STRINGS.headerTitle;
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (messages.length > 0) {
|
|
72
|
+
setTimeout(() => listRef.current?.scrollToEnd({
|
|
73
|
+
animated: true
|
|
74
|
+
}), 100);
|
|
75
|
+
}
|
|
76
|
+
}, [messages.length]);
|
|
77
|
+
const headerContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
78
|
+
children: [onClose && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
79
|
+
onPress: onClose,
|
|
80
|
+
style: styles.backBtn,
|
|
81
|
+
hitSlop: 8,
|
|
82
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
83
|
+
style: [styles.backIcon, {
|
|
84
|
+
color: theme.headerText
|
|
85
|
+
}],
|
|
86
|
+
children: "\u2039"
|
|
87
|
+
})
|
|
88
|
+
}), config?.imageLogo ? /*#__PURE__*/_jsx(Image, {
|
|
89
|
+
source: {
|
|
90
|
+
uri: config.imageLogo
|
|
91
|
+
},
|
|
92
|
+
style: styles.logo
|
|
93
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
94
|
+
style: [styles.headerTitle, {
|
|
95
|
+
color: theme.headerText
|
|
96
|
+
}],
|
|
97
|
+
numberOfLines: 2,
|
|
98
|
+
ellipsizeMode: "tail",
|
|
99
|
+
children: title
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
103
|
+
style: [styles.root, {
|
|
104
|
+
backgroundColor: theme.background
|
|
105
|
+
}],
|
|
106
|
+
children: [/*#__PURE__*/_jsxs(KeyboardAvoidingView, {
|
|
107
|
+
style: styles.flex,
|
|
108
|
+
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
109
|
+
children: [Platform.OS === 'ios' ? /*#__PURE__*/_jsx(SafeAreaView, {
|
|
110
|
+
style: {
|
|
111
|
+
backgroundColor: theme.headerBg
|
|
112
|
+
},
|
|
113
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
114
|
+
style: styles.header,
|
|
115
|
+
children: headerContent
|
|
116
|
+
})
|
|
117
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
118
|
+
style: [styles.header, {
|
|
119
|
+
backgroundColor: theme.headerBg,
|
|
120
|
+
paddingTop: getAndroidStatusBarHeight() + 8
|
|
121
|
+
}],
|
|
122
|
+
children: headerContent
|
|
123
|
+
}), error && /*#__PURE__*/_jsxs(View, {
|
|
124
|
+
style: styles.errorBanner,
|
|
125
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
126
|
+
style: styles.errorText,
|
|
127
|
+
children: error
|
|
128
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
129
|
+
onPress: retry,
|
|
130
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
131
|
+
style: [styles.retryText, {
|
|
132
|
+
color: theme.primaryColor
|
|
133
|
+
}],
|
|
134
|
+
children: t.errorRetry
|
|
135
|
+
})
|
|
136
|
+
})]
|
|
137
|
+
}), showInitialLoader ? /*#__PURE__*/_jsx(View, {
|
|
138
|
+
style: styles.loader,
|
|
139
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
140
|
+
color: theme.primaryColor,
|
|
141
|
+
size: "large"
|
|
142
|
+
})
|
|
143
|
+
}) : /*#__PURE__*/_jsx(FlatList, {
|
|
144
|
+
ref: listRef,
|
|
145
|
+
style: styles.list,
|
|
146
|
+
data: messages,
|
|
147
|
+
keyExtractor: m => m.id,
|
|
148
|
+
renderItem: ({
|
|
149
|
+
item
|
|
150
|
+
}) => /*#__PURE__*/_jsx(MessageBubble, {
|
|
151
|
+
message: item,
|
|
152
|
+
theme: theme,
|
|
153
|
+
onButtonPress: (cbData, serverId) => void sendCallback(serverId, cbData),
|
|
154
|
+
onAttachmentPress: openGallery
|
|
155
|
+
}),
|
|
156
|
+
contentContainerStyle: [styles.messageList, messages.length === 0 && styles.messageListEmpty],
|
|
157
|
+
showsVerticalScrollIndicator: false,
|
|
158
|
+
ListEmptyComponent: /*#__PURE__*/_jsx(View, {
|
|
159
|
+
style: styles.emptyWrap,
|
|
160
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
161
|
+
style: [styles.emptyText, {
|
|
162
|
+
color: theme.systemText
|
|
163
|
+
}],
|
|
164
|
+
children: t.emptyStateText
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
}), /*#__PURE__*/_jsx(MessageInput, {
|
|
168
|
+
theme: theme,
|
|
169
|
+
isSending: isSending,
|
|
170
|
+
onSend: (text, files) => void sendMessage(text, files),
|
|
171
|
+
onPickFiles: onPickFiles,
|
|
172
|
+
strings: t
|
|
173
|
+
})]
|
|
174
|
+
}), survey && /*#__PURE__*/_jsx(SurveyOverlay, {
|
|
175
|
+
config: survey,
|
|
176
|
+
theme: theme,
|
|
177
|
+
strings: t,
|
|
178
|
+
onSubmit: submitSurvey,
|
|
179
|
+
onDismiss: dismissSurvey
|
|
180
|
+
}), galleryAttachments.length > 0 && /*#__PURE__*/_jsx(AttachmentGallery, {
|
|
181
|
+
attachments: galleryAttachments,
|
|
182
|
+
initialIndex: galleryIndex,
|
|
183
|
+
visible: galleryVisible,
|
|
184
|
+
onClose: () => setGalleryVisible(false),
|
|
185
|
+
downloadLabel: t.galleryDownload,
|
|
186
|
+
onDownloadAttachment: onDownloadAttachment ?? defaultAttachmentDownloader,
|
|
187
|
+
theme: theme
|
|
188
|
+
})]
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
const styles = StyleSheet.create({
|
|
192
|
+
root: {
|
|
193
|
+
flex: 1
|
|
194
|
+
},
|
|
195
|
+
flex: {
|
|
196
|
+
flex: 1
|
|
197
|
+
},
|
|
198
|
+
list: {
|
|
199
|
+
flex: 1
|
|
200
|
+
},
|
|
201
|
+
header: {
|
|
202
|
+
flexDirection: 'row',
|
|
203
|
+
alignItems: 'center',
|
|
204
|
+
paddingHorizontal: 16,
|
|
205
|
+
paddingBottom: 14,
|
|
206
|
+
gap: 10,
|
|
207
|
+
elevation: 2,
|
|
208
|
+
shadowColor: '#000',
|
|
209
|
+
shadowOffset: {
|
|
210
|
+
width: 0,
|
|
211
|
+
height: 1
|
|
212
|
+
},
|
|
213
|
+
shadowOpacity: 0.12,
|
|
214
|
+
shadowRadius: 3
|
|
215
|
+
},
|
|
216
|
+
backBtn: {
|
|
217
|
+
padding: 4,
|
|
218
|
+
flexShrink: 0
|
|
219
|
+
},
|
|
220
|
+
backIcon: {
|
|
221
|
+
fontSize: 28,
|
|
222
|
+
lineHeight: 28,
|
|
223
|
+
fontWeight: '300'
|
|
224
|
+
},
|
|
225
|
+
logo: {
|
|
226
|
+
width: 32,
|
|
227
|
+
height: 32,
|
|
228
|
+
borderRadius: 16,
|
|
229
|
+
flexShrink: 0
|
|
230
|
+
},
|
|
231
|
+
headerTitle: {
|
|
232
|
+
fontSize: 17,
|
|
233
|
+
fontWeight: '600',
|
|
234
|
+
flex: 1,
|
|
235
|
+
flexShrink: 1,
|
|
236
|
+
minWidth: 0
|
|
237
|
+
},
|
|
238
|
+
messageList: {
|
|
239
|
+
paddingTop: 12,
|
|
240
|
+
paddingBottom: 8,
|
|
241
|
+
flexGrow: 1
|
|
242
|
+
},
|
|
243
|
+
messageListEmpty: {
|
|
244
|
+
justifyContent: 'center'
|
|
245
|
+
},
|
|
246
|
+
loader: {
|
|
247
|
+
flex: 1,
|
|
248
|
+
alignItems: 'center',
|
|
249
|
+
justifyContent: 'center'
|
|
250
|
+
},
|
|
251
|
+
emptyWrap: {
|
|
252
|
+
alignItems: 'center',
|
|
253
|
+
justifyContent: 'center',
|
|
254
|
+
paddingHorizontal: 32,
|
|
255
|
+
paddingVertical: 60
|
|
256
|
+
},
|
|
257
|
+
emptyText: {
|
|
258
|
+
fontSize: 14,
|
|
259
|
+
textAlign: 'center',
|
|
260
|
+
lineHeight: 20
|
|
261
|
+
},
|
|
262
|
+
errorBanner: {
|
|
263
|
+
flexDirection: 'row',
|
|
264
|
+
alignItems: 'center',
|
|
265
|
+
justifyContent: 'space-between',
|
|
266
|
+
backgroundColor: '#fff3f3',
|
|
267
|
+
paddingHorizontal: 16,
|
|
268
|
+
paddingVertical: 8,
|
|
269
|
+
gap: 8
|
|
270
|
+
},
|
|
271
|
+
errorText: {
|
|
272
|
+
color: '#cc2222',
|
|
273
|
+
fontSize: 13,
|
|
274
|
+
flex: 1
|
|
275
|
+
},
|
|
276
|
+
retryText: {
|
|
277
|
+
fontSize: 13,
|
|
278
|
+
fontWeight: '500'
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
//# sourceMappingURL=ChatScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","useState","ActivityIndicator","FlatList","Image","KeyboardAvoidingView","Platform","SafeAreaView","StyleSheet","Text","TouchableOpacity","View","getAndroidStatusBarHeight","ChatSDK","buildTheme","useChat","defaultAttachmentDownloader","MessageBubble","MessageInput","SurveyOverlay","AttachmentGallery","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_STRINGS","headerTitle","emptyStateText","inputPlaceholder","sendingText","errorRetry","surveyTitle","surveySubmit","surveySkip","surveyClose","galleryDownload","ChatScreen","onClose","theme","themeOverride","strings","onPickFiles","onDownloadAttachment","config","getSDKConfig","baseTheme","listRef","t","messages","isLoading","isSending","error","survey","sendMessage","sendCallback","submitSurvey","dismissSurvey","retry","galleryIndex","setGalleryIndex","galleryVisible","setGalleryVisible","galleryAttachments","flatMap","m","attachments","filter","a","id","map","messageTime","time","openGallery","attachment","idx","findIndex","Math","max","showInitialLoader","length","title","widgetTitle","setTimeout","current","scrollToEnd","animated","headerContent","children","onPress","style","styles","backBtn","hitSlop","backIcon","color","headerText","imageLogo","source","uri","logo","numberOfLines","ellipsizeMode","root","backgroundColor","background","flex","behavior","OS","undefined","headerBg","header","paddingTop","errorBanner","errorText","retryText","primaryColor","loader","size","ref","list","data","keyExtractor","renderItem","item","message","onButtonPress","cbData","serverId","onAttachmentPress","contentContainerStyle","messageList","messageListEmpty","showsVerticalScrollIndicator","ListEmptyComponent","emptyWrap","emptyText","systemText","onSend","text","files","onSubmit","onDismiss","initialIndex","visible","downloadLabel","create","flexDirection","alignItems","paddingHorizontal","paddingBottom","gap","elevation","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","padding","flexShrink","fontSize","lineHeight","fontWeight","borderRadius","minWidth","flexGrow","justifyContent","paddingVertical","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/ChatScreen.tsx"],"mappings":"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","ignoreList":[]}
|