@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.
Files changed (199) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/ChatPlatformSdk.podspec +20 -0
  3. package/README.md +315 -0
  4. package/android/build.gradle +54 -0
  5. package/android/src/main/AndroidManifest.xml +18 -0
  6. package/android/src/main/java/com/chatplatform/sdk/ChatSdkDownloaderModule.kt +240 -0
  7. package/android/src/main/java/com/chatplatform/sdk/ChatSdkFilePickerModule.kt +165 -0
  8. package/android/src/main/java/com/chatplatform/sdk/ChatSdkPackage.kt +15 -0
  9. package/android/src/main/res/xml/chat_sdk_file_paths.xml +7 -0
  10. package/ios/ChatSdkDownloader.m +10 -0
  11. package/ios/ChatSdkDownloader.swift +141 -0
  12. package/ios/ChatSdkFilePicker.m +9 -0
  13. package/ios/ChatSdkFilePicker.swift +161 -0
  14. package/lib/commonjs/ChatSDK.js +193 -0
  15. package/lib/commonjs/ChatSDK.js.map +1 -0
  16. package/lib/commonjs/api.js +195 -0
  17. package/lib/commonjs/api.js.map +1 -0
  18. package/lib/commonjs/attachmentUtils.js +39 -0
  19. package/lib/commonjs/attachmentUtils.js.map +1 -0
  20. package/lib/commonjs/components/AttachmentGallery.js +367 -0
  21. package/lib/commonjs/components/AttachmentGallery.js.map +1 -0
  22. package/lib/commonjs/components/ChatScreen.js +286 -0
  23. package/lib/commonjs/components/ChatScreen.js.map +1 -0
  24. package/lib/commonjs/components/MessageBubble.js +227 -0
  25. package/lib/commonjs/components/MessageBubble.js.map +1 -0
  26. package/lib/commonjs/components/MessageInput.js +273 -0
  27. package/lib/commonjs/components/MessageInput.js.map +1 -0
  28. package/lib/commonjs/components/SurveyOverlay.js +499 -0
  29. package/lib/commonjs/components/SurveyOverlay.js.map +1 -0
  30. package/lib/commonjs/downloaders/defaultAttachmentDownloader.js +28 -0
  31. package/lib/commonjs/downloaders/defaultAttachmentDownloader.js.map +1 -0
  32. package/lib/commonjs/filePicker.js +25 -0
  33. package/lib/commonjs/filePicker.js.map +1 -0
  34. package/lib/commonjs/index.js +27 -0
  35. package/lib/commonjs/index.js.map +1 -0
  36. package/lib/commonjs/native/NativeChatSdkDownloader.js +28 -0
  37. package/lib/commonjs/native/NativeChatSdkDownloader.js.map +1 -0
  38. package/lib/commonjs/native/NativeChatSdkFilePicker.js +17 -0
  39. package/lib/commonjs/native/NativeChatSdkFilePicker.js.map +1 -0
  40. package/lib/commonjs/package.json +1 -0
  41. package/lib/commonjs/realtime.js +242 -0
  42. package/lib/commonjs/realtime.js.map +1 -0
  43. package/lib/commonjs/safeArea.js +18 -0
  44. package/lib/commonjs/safeArea.js.map +1 -0
  45. package/lib/commonjs/session.js +159 -0
  46. package/lib/commonjs/session.js.map +1 -0
  47. package/lib/commonjs/surveyCache.js +30 -0
  48. package/lib/commonjs/surveyCache.js.map +1 -0
  49. package/lib/commonjs/theme.js +29 -0
  50. package/lib/commonjs/theme.js.map +1 -0
  51. package/lib/commonjs/types.js +2 -0
  52. package/lib/commonjs/types.js.map +1 -0
  53. package/lib/commonjs/useChat.js +145 -0
  54. package/lib/commonjs/useChat.js.map +1 -0
  55. package/lib/module/ChatSDK.js +189 -0
  56. package/lib/module/ChatSDK.js.map +1 -0
  57. package/lib/module/api.js +190 -0
  58. package/lib/module/api.js.map +1 -0
  59. package/lib/module/attachmentUtils.js +33 -0
  60. package/lib/module/attachmentUtils.js.map +1 -0
  61. package/lib/module/components/AttachmentGallery.js +362 -0
  62. package/lib/module/components/AttachmentGallery.js.map +1 -0
  63. package/lib/module/components/ChatScreen.js +281 -0
  64. package/lib/module/components/ChatScreen.js.map +1 -0
  65. package/lib/module/components/MessageBubble.js +222 -0
  66. package/lib/module/components/MessageBubble.js.map +1 -0
  67. package/lib/module/components/MessageInput.js +268 -0
  68. package/lib/module/components/MessageInput.js.map +1 -0
  69. package/lib/module/components/SurveyOverlay.js +494 -0
  70. package/lib/module/components/SurveyOverlay.js.map +1 -0
  71. package/lib/module/downloaders/defaultAttachmentDownloader.js +22 -0
  72. package/lib/module/downloaders/defaultAttachmentDownloader.js.map +1 -0
  73. package/lib/module/filePicker.js +20 -0
  74. package/lib/module/filePicker.js.map +1 -0
  75. package/lib/module/index.js +6 -0
  76. package/lib/module/index.js.map +1 -0
  77. package/lib/module/native/NativeChatSdkDownloader.js +23 -0
  78. package/lib/module/native/NativeChatSdkDownloader.js.map +1 -0
  79. package/lib/module/native/NativeChatSdkFilePicker.js +13 -0
  80. package/lib/module/native/NativeChatSdkFilePicker.js.map +1 -0
  81. package/lib/module/package.json +1 -0
  82. package/lib/module/realtime.js +236 -0
  83. package/lib/module/realtime.js.map +1 -0
  84. package/lib/module/safeArea.js +14 -0
  85. package/lib/module/safeArea.js.map +1 -0
  86. package/lib/module/session.js +154 -0
  87. package/lib/module/session.js.map +1 -0
  88. package/lib/module/surveyCache.js +23 -0
  89. package/lib/module/surveyCache.js.map +1 -0
  90. package/lib/module/theme.js +25 -0
  91. package/lib/module/theme.js.map +1 -0
  92. package/lib/module/types.js +2 -0
  93. package/lib/module/types.js.map +1 -0
  94. package/lib/module/useChat.js +141 -0
  95. package/lib/module/useChat.js.map +1 -0
  96. package/lib/typescript/commonjs/ChatSDK.d.ts +49 -0
  97. package/lib/typescript/commonjs/ChatSDK.d.ts.map +1 -0
  98. package/lib/typescript/commonjs/api.d.ts +31 -0
  99. package/lib/typescript/commonjs/api.d.ts.map +1 -0
  100. package/lib/typescript/commonjs/attachmentUtils.d.ts +12 -0
  101. package/lib/typescript/commonjs/attachmentUtils.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/components/AttachmentGallery.d.ts +16 -0
  103. package/lib/typescript/commonjs/components/AttachmentGallery.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/components/ChatScreen.d.ts +16 -0
  105. package/lib/typescript/commonjs/components/ChatScreen.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/components/MessageBubble.d.ts +12 -0
  107. package/lib/typescript/commonjs/components/MessageBubble.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/components/MessageInput.d.ts +14 -0
  109. package/lib/typescript/commonjs/components/MessageInput.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/components/SurveyOverlay.d.ts +13 -0
  111. package/lib/typescript/commonjs/components/SurveyOverlay.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/downloaders/defaultAttachmentDownloader.d.ts +3 -0
  113. package/lib/typescript/commonjs/downloaders/defaultAttachmentDownloader.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/filePicker.d.ts +4 -0
  115. package/lib/typescript/commonjs/filePicker.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/index.d.ts +7 -0
  117. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/native/NativeChatSdkDownloader.d.ts +24 -0
  119. package/lib/typescript/commonjs/native/NativeChatSdkDownloader.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/native/NativeChatSdkFilePicker.d.ts +17 -0
  121. package/lib/typescript/commonjs/native/NativeChatSdkFilePicker.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/package.json +1 -0
  123. package/lib/typescript/commonjs/realtime.d.ts +42 -0
  124. package/lib/typescript/commonjs/realtime.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/safeArea.d.ts +4 -0
  126. package/lib/typescript/commonjs/safeArea.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/session.d.ts +45 -0
  128. package/lib/typescript/commonjs/session.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/surveyCache.d.ts +5 -0
  130. package/lib/typescript/commonjs/surveyCache.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/theme.d.ts +21 -0
  132. package/lib/typescript/commonjs/theme.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/types.d.ts +156 -0
  134. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/useChat.d.ts +16 -0
  136. package/lib/typescript/commonjs/useChat.d.ts.map +1 -0
  137. package/lib/typescript/module/ChatSDK.d.ts +49 -0
  138. package/lib/typescript/module/ChatSDK.d.ts.map +1 -0
  139. package/lib/typescript/module/api.d.ts +31 -0
  140. package/lib/typescript/module/api.d.ts.map +1 -0
  141. package/lib/typescript/module/attachmentUtils.d.ts +12 -0
  142. package/lib/typescript/module/attachmentUtils.d.ts.map +1 -0
  143. package/lib/typescript/module/components/AttachmentGallery.d.ts +16 -0
  144. package/lib/typescript/module/components/AttachmentGallery.d.ts.map +1 -0
  145. package/lib/typescript/module/components/ChatScreen.d.ts +16 -0
  146. package/lib/typescript/module/components/ChatScreen.d.ts.map +1 -0
  147. package/lib/typescript/module/components/MessageBubble.d.ts +12 -0
  148. package/lib/typescript/module/components/MessageBubble.d.ts.map +1 -0
  149. package/lib/typescript/module/components/MessageInput.d.ts +14 -0
  150. package/lib/typescript/module/components/MessageInput.d.ts.map +1 -0
  151. package/lib/typescript/module/components/SurveyOverlay.d.ts +13 -0
  152. package/lib/typescript/module/components/SurveyOverlay.d.ts.map +1 -0
  153. package/lib/typescript/module/downloaders/defaultAttachmentDownloader.d.ts +3 -0
  154. package/lib/typescript/module/downloaders/defaultAttachmentDownloader.d.ts.map +1 -0
  155. package/lib/typescript/module/filePicker.d.ts +4 -0
  156. package/lib/typescript/module/filePicker.d.ts.map +1 -0
  157. package/lib/typescript/module/index.d.ts +7 -0
  158. package/lib/typescript/module/index.d.ts.map +1 -0
  159. package/lib/typescript/module/native/NativeChatSdkDownloader.d.ts +24 -0
  160. package/lib/typescript/module/native/NativeChatSdkDownloader.d.ts.map +1 -0
  161. package/lib/typescript/module/native/NativeChatSdkFilePicker.d.ts +17 -0
  162. package/lib/typescript/module/native/NativeChatSdkFilePicker.d.ts.map +1 -0
  163. package/lib/typescript/module/package.json +1 -0
  164. package/lib/typescript/module/realtime.d.ts +42 -0
  165. package/lib/typescript/module/realtime.d.ts.map +1 -0
  166. package/lib/typescript/module/safeArea.d.ts +4 -0
  167. package/lib/typescript/module/safeArea.d.ts.map +1 -0
  168. package/lib/typescript/module/session.d.ts +45 -0
  169. package/lib/typescript/module/session.d.ts.map +1 -0
  170. package/lib/typescript/module/surveyCache.d.ts +5 -0
  171. package/lib/typescript/module/surveyCache.d.ts.map +1 -0
  172. package/lib/typescript/module/theme.d.ts +21 -0
  173. package/lib/typescript/module/theme.d.ts.map +1 -0
  174. package/lib/typescript/module/types.d.ts +156 -0
  175. package/lib/typescript/module/types.d.ts.map +1 -0
  176. package/lib/typescript/module/useChat.d.ts +16 -0
  177. package/lib/typescript/module/useChat.d.ts.map +1 -0
  178. package/package.json +75 -0
  179. package/react-native.config.js +10 -0
  180. package/src/ChatSDK.ts +237 -0
  181. package/src/api.ts +228 -0
  182. package/src/attachmentUtils.ts +49 -0
  183. package/src/components/AttachmentGallery.tsx +363 -0
  184. package/src/components/ChatScreen.tsx +267 -0
  185. package/src/components/MessageBubble.tsx +208 -0
  186. package/src/components/MessageInput.tsx +280 -0
  187. package/src/components/SurveyOverlay.tsx +469 -0
  188. package/src/downloaders/defaultAttachmentDownloader.ts +27 -0
  189. package/src/filePicker.ts +22 -0
  190. package/src/index.ts +30 -0
  191. package/src/native/NativeChatSdkDownloader.ts +49 -0
  192. package/src/native/NativeChatSdkFilePicker.ts +30 -0
  193. package/src/realtime.ts +278 -0
  194. package/src/safeArea.ts +8 -0
  195. package/src/session.ts +196 -0
  196. package/src/surveyCache.ts +24 -0
  197. package/src/theme.ts +49 -0
  198. package/src/types.ts +199 -0
  199. package/src/useChat.ts +190 -0
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Dimensions, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
+ import { attachmentDisplayName } from "../attachmentUtils.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export function MessageBubble({
8
+ message,
9
+ theme,
10
+ onButtonPress,
11
+ onAttachmentPress
12
+ }) {
13
+ if (message.type === 'system' || message.type === 'event') {
14
+ return /*#__PURE__*/_jsx(View, {
15
+ style: styles.systemRow,
16
+ children: /*#__PURE__*/_jsx(Text, {
17
+ style: [styles.systemText, {
18
+ color: theme.systemText
19
+ }],
20
+ children: message.text
21
+ })
22
+ });
23
+ }
24
+ const isOutbound = message.type === 'contact';
25
+ return /*#__PURE__*/_jsx(View, {
26
+ style: [styles.row, isOutbound ? styles.rowRight : styles.rowLeft],
27
+ children: /*#__PURE__*/_jsxs(View, {
28
+ style: [styles.bubble, isOutbound ? [styles.outbound, {
29
+ backgroundColor: theme.outboundBg
30
+ }] : [styles.inbound, {
31
+ backgroundColor: theme.inboundBg
32
+ }]],
33
+ children: [!isOutbound && message.sender?.name ? /*#__PURE__*/_jsx(Text, {
34
+ style: [styles.senderName, {
35
+ color: theme.primaryColor
36
+ }],
37
+ children: message.sender.name
38
+ }) : null, message.attachments && message.attachments.length > 0 && /*#__PURE__*/_jsx(View, {
39
+ style: styles.attachments,
40
+ children: message.attachments.map((att, i) => /*#__PURE__*/_jsx(AttachmentView, {
41
+ attachment: att,
42
+ isOutbound: isOutbound,
43
+ theme: theme,
44
+ onPress: att.id > 0 ? () => onAttachmentPress?.(att) : undefined
45
+ }, att.id !== 0 ? att.id : `temp-${i}`))
46
+ }), message.text ? /*#__PURE__*/_jsx(Text, {
47
+ style: [styles.text, {
48
+ color: isOutbound ? theme.outboundText : theme.inboundText
49
+ }],
50
+ children: message.text
51
+ }) : null, message.buttons && message.buttons.length > 0 && /*#__PURE__*/_jsx(View, {
52
+ style: styles.buttons,
53
+ children: message.buttons.map((btn, i) => /*#__PURE__*/_jsx(BotButton, {
54
+ button: btn,
55
+ theme: theme,
56
+ onPress: () => onButtonPress?.(btn.callback_data, message.serverMessageId ?? 0)
57
+ }, i))
58
+ }), /*#__PURE__*/_jsx(Text, {
59
+ style: [styles.time, {
60
+ color: isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText
61
+ }],
62
+ children: message.time
63
+ })]
64
+ })
65
+ });
66
+ }
67
+ function formatBytes(bytes) {
68
+ if (bytes <= 0) return '';
69
+ if (bytes < 1024) return `${bytes} Б`;
70
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} КБ`;
71
+ return `${(bytes / (1024 * 1024)).toFixed(1)} МБ`;
72
+ }
73
+ function AttachmentView({
74
+ attachment,
75
+ isOutbound,
76
+ theme,
77
+ onPress
78
+ }) {
79
+ if (attachment.type === 'image') {
80
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
81
+ onPress: onPress,
82
+ disabled: !onPress,
83
+ activeOpacity: 0.85,
84
+ children: /*#__PURE__*/_jsx(Image, {
85
+ source: {
86
+ uri: attachment.url
87
+ },
88
+ style: styles.image,
89
+ resizeMode: "cover"
90
+ })
91
+ });
92
+ }
93
+ const nameColor = isOutbound ? theme.outboundText : theme.inboundText;
94
+ const sizeColor = isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText;
95
+ const displayName = attachmentDisplayName(attachment);
96
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
97
+ style: styles.fileBlock,
98
+ onPress: onPress,
99
+ disabled: !onPress,
100
+ activeOpacity: 0.75,
101
+ children: [/*#__PURE__*/_jsx(Text, {
102
+ style: [styles.fileName, {
103
+ color: nameColor
104
+ }],
105
+ numberOfLines: 2,
106
+ children: displayName
107
+ }), attachment.size > 0 && /*#__PURE__*/_jsx(Text, {
108
+ style: [styles.fileSize, {
109
+ color: sizeColor
110
+ }],
111
+ children: formatBytes(attachment.size)
112
+ })]
113
+ });
114
+ }
115
+ function BotButton({
116
+ button,
117
+ theme,
118
+ onPress
119
+ }) {
120
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
121
+ style: [styles.botButton, {
122
+ borderColor: theme.primaryColor
123
+ }],
124
+ onPress: onPress,
125
+ children: /*#__PURE__*/_jsx(Text, {
126
+ style: [styles.botButtonText, {
127
+ color: theme.primaryColor
128
+ }],
129
+ children: button.text
130
+ })
131
+ });
132
+ }
133
+ const BUBBLE_MAX_WIDTH = Dimensions.get('window').width * 0.78;
134
+ const styles = StyleSheet.create({
135
+ row: {
136
+ flexDirection: 'row',
137
+ marginVertical: 3,
138
+ paddingHorizontal: 16
139
+ },
140
+ rowRight: {
141
+ justifyContent: 'flex-end'
142
+ },
143
+ rowLeft: {
144
+ justifyContent: 'flex-start'
145
+ },
146
+ bubble: {
147
+ maxWidth: BUBBLE_MAX_WIDTH,
148
+ minWidth: 56,
149
+ borderRadius: 16,
150
+ paddingHorizontal: 14,
151
+ paddingTop: 10,
152
+ paddingBottom: 8
153
+ },
154
+ outbound: {
155
+ borderBottomRightRadius: 4
156
+ },
157
+ inbound: {
158
+ borderBottomLeftRadius: 4
159
+ },
160
+ senderName: {
161
+ fontSize: 12,
162
+ fontWeight: '600',
163
+ marginBottom: 4
164
+ },
165
+ text: {
166
+ fontSize: 15,
167
+ lineHeight: 21
168
+ },
169
+ time: {
170
+ fontSize: 11,
171
+ lineHeight: 14,
172
+ alignSelf: 'flex-end',
173
+ marginTop: 6
174
+ },
175
+ systemRow: {
176
+ alignItems: 'center',
177
+ marginVertical: 8,
178
+ paddingHorizontal: 16
179
+ },
180
+ systemText: {
181
+ fontSize: 12,
182
+ textAlign: 'center'
183
+ },
184
+ attachments: {
185
+ gap: 6,
186
+ marginBottom: 4
187
+ },
188
+ image: {
189
+ width: 200,
190
+ height: 150,
191
+ borderRadius: 8
192
+ },
193
+ fileBlock: {
194
+ gap: 2,
195
+ minWidth: 120
196
+ },
197
+ fileName: {
198
+ fontSize: 14,
199
+ fontWeight: '500',
200
+ lineHeight: 19
201
+ },
202
+ fileSize: {
203
+ fontSize: 11,
204
+ lineHeight: 15
205
+ },
206
+ buttons: {
207
+ gap: 6,
208
+ marginTop: 8
209
+ },
210
+ botButton: {
211
+ borderWidth: 1.5,
212
+ borderRadius: 8,
213
+ paddingVertical: 8,
214
+ paddingHorizontal: 12,
215
+ alignItems: 'center'
216
+ },
217
+ botButtonText: {
218
+ fontSize: 14,
219
+ fontWeight: '500'
220
+ }
221
+ });
222
+ //# sourceMappingURL=MessageBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Dimensions","Image","StyleSheet","Text","TouchableOpacity","View","attachmentDisplayName","jsx","_jsx","jsxs","_jsxs","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","style","styles","systemRow","children","systemText","color","text","isOutbound","row","rowRight","rowLeft","bubble","outbound","backgroundColor","outboundBg","inbound","inboundBg","sender","name","senderName","primaryColor","attachments","length","map","att","i","AttachmentView","attachment","onPress","id","undefined","outboundText","inboundText","buttons","btn","BotButton","button","callback_data","serverMessageId","time","formatBytes","bytes","toFixed","disabled","activeOpacity","source","uri","url","image","resizeMode","nameColor","sizeColor","displayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","get","width","create","flexDirection","marginVertical","paddingHorizontal","justifyContent","maxWidth","minWidth","borderRadius","paddingTop","paddingBottom","borderBottomRightRadius","borderBottomLeftRadius","fontSize","fontWeight","marginBottom","lineHeight","alignSelf","marginTop","alignItems","textAlign","gap","height","borderWidth","paddingVertical"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ import React, { useRef, useState } from 'react';
4
+ import { ActivityIndicator, Image, Platform, SafeAreaView, ScrollView, StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native';
5
+ import { INPUT_BOTTOM_PADDING } from "../safeArea.js";
6
+ import { pickFiles as defaultPickFiles } from "../filePicker.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ function docIcon(mime) {
9
+ if (mime === 'application/pdf') return '📄';
10
+ if (mime.includes('word') || mime.includes('document')) return '📝';
11
+ if (mime.includes('sheet') || mime.includes('excel')) return '📊';
12
+ if (mime.startsWith('audio/')) return '🎵';
13
+ if (mime.startsWith('video/')) return '🎬';
14
+ return '📎';
15
+ }
16
+ export function MessageInput({
17
+ theme,
18
+ isSending,
19
+ onSend,
20
+ onPickFiles,
21
+ strings
22
+ }) {
23
+ const [text, setText] = useState('');
24
+ const [files, setFiles] = useState([]);
25
+ const [picking, setPicking] = useState(false);
26
+ const inputRef = useRef(null);
27
+ const canSend = (text.trim().length > 0 || files.length > 0) && !isSending;
28
+ const placeholder = strings?.inputPlaceholder ?? 'Сообщение…';
29
+ const picker = onPickFiles ?? defaultPickFiles;
30
+ const handlePickFiles = async () => {
31
+ if (picking) return;
32
+ setPicking(true);
33
+ try {
34
+ const picked = await picker();
35
+ if (picked && picked.length > 0) {
36
+ setFiles(prev => [...prev, ...picked]);
37
+ }
38
+ } finally {
39
+ setPicking(false);
40
+ }
41
+ };
42
+ const removeFile = index => {
43
+ setFiles(prev => prev.filter((_, i) => i !== index));
44
+ };
45
+ const handleSend = () => {
46
+ if (!canSend) return;
47
+ const trimmed = text.trim();
48
+ onSend(trimmed, files);
49
+ setText('');
50
+ setFiles([]);
51
+ };
52
+ const inputBar = /*#__PURE__*/_jsxs(View, {
53
+ style: [styles.container, {
54
+ backgroundColor: theme.background,
55
+ borderTopColor: theme.inputBorder,
56
+ paddingBottom: INPUT_BOTTOM_PADDING
57
+ }],
58
+ children: [files.length > 0 && /*#__PURE__*/_jsx(ScrollView, {
59
+ horizontal: true,
60
+ showsHorizontalScrollIndicator: false,
61
+ style: styles.filesStrip,
62
+ contentContainerStyle: styles.filesStripContent,
63
+ children: files.map((file, i) => /*#__PURE__*/_jsxs(View, {
64
+ style: styles.filePreview,
65
+ children: [file.type.startsWith('image/') ? /*#__PURE__*/_jsx(Image, {
66
+ source: {
67
+ uri: file.uri
68
+ },
69
+ style: styles.previewImage
70
+ }) : /*#__PURE__*/_jsxs(View, {
71
+ style: [styles.previewDoc, {
72
+ backgroundColor: theme.inputBg,
73
+ borderColor: theme.inputBorder
74
+ }],
75
+ children: [/*#__PURE__*/_jsx(Text, {
76
+ style: styles.previewDocIcon,
77
+ children: docIcon(file.type)
78
+ }), /*#__PURE__*/_jsx(Text, {
79
+ style: [styles.previewDocName, {
80
+ color: theme.inputText
81
+ }],
82
+ numberOfLines: 2,
83
+ children: file.name
84
+ })]
85
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
86
+ style: styles.removeBtn,
87
+ onPress: () => removeFile(i),
88
+ hitSlop: 6,
89
+ children: /*#__PURE__*/_jsx(Text, {
90
+ style: styles.removeBtnText,
91
+ children: "\u2715"
92
+ })
93
+ })]
94
+ }, i))
95
+ }), /*#__PURE__*/_jsxs(View, {
96
+ style: styles.inputRow,
97
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
98
+ style: [styles.attachBtn, {
99
+ backgroundColor: theme.inputBg,
100
+ borderColor: theme.inputBorder
101
+ }],
102
+ onPress: handlePickFiles,
103
+ disabled: picking || isSending,
104
+ activeOpacity: 0.7,
105
+ children: picking ? /*#__PURE__*/_jsx(ActivityIndicator, {
106
+ color: theme.systemText,
107
+ size: "small"
108
+ }) : /*#__PURE__*/_jsx(Text, {
109
+ style: [styles.attachIcon, {
110
+ color: theme.primaryColor
111
+ }],
112
+ children: "\u2295"
113
+ })
114
+ }), /*#__PURE__*/_jsx(View, {
115
+ style: [styles.inputWrap, {
116
+ backgroundColor: theme.inputBg,
117
+ borderColor: theme.inputBorder
118
+ }],
119
+ children: /*#__PURE__*/_jsx(TextInput, {
120
+ ref: inputRef,
121
+ style: [styles.input, {
122
+ color: theme.inputText
123
+ }],
124
+ placeholder: placeholder,
125
+ placeholderTextColor: theme.systemText,
126
+ multiline: true,
127
+ maxLength: 4000,
128
+ value: text,
129
+ onChangeText: setText,
130
+ onSubmitEditing: handleSend,
131
+ returnKeyType: "send",
132
+ blurOnSubmit: false
133
+ })
134
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
135
+ style: [styles.sendBtn, {
136
+ backgroundColor: canSend ? theme.sendButtonBg : theme.inputBorder
137
+ }],
138
+ onPress: handleSend,
139
+ disabled: !canSend,
140
+ activeOpacity: 0.7,
141
+ children: isSending ? /*#__PURE__*/_jsx(ActivityIndicator, {
142
+ color: "#fff",
143
+ size: "small"
144
+ }) : /*#__PURE__*/_jsx(Text, {
145
+ style: styles.sendIcon,
146
+ children: "\u2191"
147
+ })
148
+ })]
149
+ })]
150
+ });
151
+ if (Platform.OS === 'ios') {
152
+ return /*#__PURE__*/_jsx(SafeAreaView, {
153
+ style: {
154
+ backgroundColor: theme.background
155
+ },
156
+ children: inputBar
157
+ });
158
+ }
159
+ return inputBar;
160
+ }
161
+ const styles = StyleSheet.create({
162
+ container: {
163
+ borderTopWidth: StyleSheet.hairlineWidth
164
+ },
165
+ filesStrip: {
166
+ maxHeight: 110,
167
+ borderBottomWidth: StyleSheet.hairlineWidth,
168
+ borderBottomColor: 'rgba(0,0,0,0.07)'
169
+ },
170
+ filesStripContent: {
171
+ paddingHorizontal: 12,
172
+ paddingVertical: 10,
173
+ gap: 10
174
+ },
175
+ filePreview: {
176
+ position: 'relative'
177
+ },
178
+ previewImage: {
179
+ width: 80,
180
+ height: 80,
181
+ borderRadius: 8
182
+ },
183
+ previewDoc: {
184
+ width: 80,
185
+ height: 80,
186
+ borderRadius: 8,
187
+ borderWidth: 1,
188
+ alignItems: 'center',
189
+ justifyContent: 'center',
190
+ padding: 6,
191
+ gap: 4
192
+ },
193
+ previewDocIcon: {
194
+ fontSize: 24
195
+ },
196
+ previewDocName: {
197
+ fontSize: 9,
198
+ textAlign: 'center',
199
+ lineHeight: 12
200
+ },
201
+ removeBtn: {
202
+ position: 'absolute',
203
+ top: -6,
204
+ right: -6,
205
+ width: 20,
206
+ height: 20,
207
+ borderRadius: 10,
208
+ backgroundColor: '#333',
209
+ alignItems: 'center',
210
+ justifyContent: 'center'
211
+ },
212
+ removeBtnText: {
213
+ color: '#fff',
214
+ fontSize: 9,
215
+ lineHeight: 10,
216
+ fontWeight: 'bold'
217
+ },
218
+ inputRow: {
219
+ flexDirection: 'row',
220
+ alignItems: 'flex-end',
221
+ paddingHorizontal: 12,
222
+ paddingTop: 10,
223
+ paddingBottom: 0,
224
+ gap: 8
225
+ },
226
+ attachBtn: {
227
+ width: 40,
228
+ height: 40,
229
+ borderRadius: 20,
230
+ borderWidth: 1,
231
+ alignItems: 'center',
232
+ justifyContent: 'center',
233
+ flexShrink: 0
234
+ },
235
+ attachIcon: {
236
+ fontSize: 22,
237
+ lineHeight: 24
238
+ },
239
+ inputWrap: {
240
+ flex: 1,
241
+ borderWidth: 1,
242
+ borderRadius: 20,
243
+ paddingHorizontal: 14,
244
+ paddingVertical: 8,
245
+ minHeight: 40,
246
+ maxHeight: 120
247
+ },
248
+ input: {
249
+ fontSize: 15,
250
+ lineHeight: 20,
251
+ padding: 0
252
+ },
253
+ sendBtn: {
254
+ width: 40,
255
+ height: 40,
256
+ borderRadius: 20,
257
+ alignItems: 'center',
258
+ justifyContent: 'center',
259
+ flexShrink: 0
260
+ },
261
+ sendIcon: {
262
+ color: '#fff',
263
+ fontSize: 18,
264
+ fontWeight: 'bold',
265
+ lineHeight: 20
266
+ }
267
+ });
268
+ //# sourceMappingURL=MessageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","useState","ActivityIndicator","Image","Platform","SafeAreaView","ScrollView","StyleSheet","Text","TextInput","TouchableOpacity","View","INPUT_BOTTOM_PADDING","pickFiles","defaultPickFiles","jsx","_jsx","jsxs","_jsxs","docIcon","mime","includes","startsWith","MessageInput","theme","isSending","onSend","onPickFiles","strings","text","setText","files","setFiles","picking","setPicking","inputRef","canSend","trim","length","placeholder","inputPlaceholder","picker","handlePickFiles","picked","prev","removeFile","index","filter","_","i","handleSend","trimmed","inputBar","style","styles","container","backgroundColor","background","borderTopColor","inputBorder","paddingBottom","children","horizontal","showsHorizontalScrollIndicator","filesStrip","contentContainerStyle","filesStripContent","map","file","filePreview","type","source","uri","previewImage","previewDoc","inputBg","borderColor","previewDocIcon","previewDocName","color","inputText","numberOfLines","name","removeBtn","onPress","hitSlop","removeBtnText","inputRow","attachBtn","disabled","activeOpacity","systemText","size","attachIcon","primaryColor","inputWrap","ref","input","placeholderTextColor","multiline","maxLength","value","onChangeText","onSubmitEditing","returnKeyType","blurOnSubmit","sendBtn","sendButtonBg","sendIcon","OS","create","borderTopWidth","hairlineWidth","maxHeight","borderBottomWidth","borderBottomColor","paddingHorizontal","paddingVertical","gap","position","width","height","borderRadius","borderWidth","alignItems","justifyContent","padding","fontSize","textAlign","lineHeight","top","right","fontWeight","flexDirection","paddingTop","flexShrink","flex","minHeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageInput.tsx"],"mappings":"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","ignoreList":[]}