@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 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_safeArea","_ChatSDK","_theme","_useChat","_defaultAttachmentDownloader","_MessageBubble","_MessageInput","_SurveyOverlay","_AttachmentGallery","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_STRINGS","headerTitle","emptyStateText","inputPlaceholder","sendingText","errorRetry","surveyTitle","surveySubmit","surveySkip","surveyClose","galleryDownload","ChatScreen","onClose","theme","themeOverride","strings","onPickFiles","onDownloadAttachment","config","ChatSDK","getSDKConfig","baseTheme","buildTheme","listRef","useRef","messages","isLoading","isSending","error","survey","sendMessage","sendCallback","submitSurvey","dismissSurvey","retry","useChat","galleryIndex","setGalleryIndex","useState","galleryVisible","setGalleryVisible","galleryAttachments","useMemo","flatMap","m","attachments","filter","a","id","map","messageTime","time","openGallery","attachment","idx","findIndex","Math","max","showInitialLoader","length","title","widgetTitle","useEffect","setTimeout","current","scrollToEnd","animated","headerContent","jsxs","Fragment","children","jsx","TouchableOpacity","onPress","style","styles","backBtn","hitSlop","Text","backIcon","color","headerText","imageLogo","Image","source","uri","logo","numberOfLines","ellipsizeMode","View","root","backgroundColor","background","KeyboardAvoidingView","flex","behavior","Platform","OS","undefined","SafeAreaView","headerBg","header","paddingTop","getAndroidStatusBarHeight","errorBanner","errorText","retryText","primaryColor","loader","ActivityIndicator","size","FlatList","ref","list","data","keyExtractor","renderItem","item","MessageBubble","message","onButtonPress","cbData","serverId","onAttachmentPress","contentContainerStyle","messageList","messageListEmpty","showsVerticalScrollIndicator","ListEmptyComponent","emptyWrap","emptyText","systemText","MessageInput","onSend","text","files","SurveyOverlay","onSubmit","onDismiss","AttachmentGallery","initialIndex","visible","downloadLabel","defaultAttachmentDownloader","StyleSheet","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":[]}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageBubble = MessageBubble;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _attachmentUtils = require("../attachmentUtils.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function MessageBubble({
13
+ message,
14
+ theme,
15
+ onButtonPress,
16
+ onAttachmentPress
17
+ }) {
18
+ if (message.type === 'system' || message.type === 'event') {
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
20
+ style: styles.systemRow,
21
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
22
+ style: [styles.systemText, {
23
+ color: theme.systemText
24
+ }],
25
+ children: message.text
26
+ })
27
+ });
28
+ }
29
+ const isOutbound = message.type === 'contact';
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
31
+ style: [styles.row, isOutbound ? styles.rowRight : styles.rowLeft],
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
33
+ style: [styles.bubble, isOutbound ? [styles.outbound, {
34
+ backgroundColor: theme.outboundBg
35
+ }] : [styles.inbound, {
36
+ backgroundColor: theme.inboundBg
37
+ }]],
38
+ children: [!isOutbound && message.sender?.name ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
39
+ style: [styles.senderName, {
40
+ color: theme.primaryColor
41
+ }],
42
+ children: message.sender.name
43
+ }) : null, message.attachments && message.attachments.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
44
+ style: styles.attachments,
45
+ children: message.attachments.map((att, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(AttachmentView, {
46
+ attachment: att,
47
+ isOutbound: isOutbound,
48
+ theme: theme,
49
+ onPress: att.id > 0 ? () => onAttachmentPress?.(att) : undefined
50
+ }, att.id !== 0 ? att.id : `temp-${i}`))
51
+ }), message.text ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
52
+ style: [styles.text, {
53
+ color: isOutbound ? theme.outboundText : theme.inboundText
54
+ }],
55
+ children: message.text
56
+ }) : null, message.buttons && message.buttons.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
57
+ style: styles.buttons,
58
+ children: message.buttons.map((btn, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(BotButton, {
59
+ button: btn,
60
+ theme: theme,
61
+ onPress: () => onButtonPress?.(btn.callback_data, message.serverMessageId ?? 0)
62
+ }, i))
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
64
+ style: [styles.time, {
65
+ color: isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText
66
+ }],
67
+ children: message.time
68
+ })]
69
+ })
70
+ });
71
+ }
72
+ function formatBytes(bytes) {
73
+ if (bytes <= 0) return '';
74
+ if (bytes < 1024) return `${bytes} Б`;
75
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} КБ`;
76
+ return `${(bytes / (1024 * 1024)).toFixed(1)} МБ`;
77
+ }
78
+ function AttachmentView({
79
+ attachment,
80
+ isOutbound,
81
+ theme,
82
+ onPress
83
+ }) {
84
+ if (attachment.type === 'image') {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
86
+ onPress: onPress,
87
+ disabled: !onPress,
88
+ activeOpacity: 0.85,
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
90
+ source: {
91
+ uri: attachment.url
92
+ },
93
+ style: styles.image,
94
+ resizeMode: "cover"
95
+ })
96
+ });
97
+ }
98
+ const nameColor = isOutbound ? theme.outboundText : theme.inboundText;
99
+ const sizeColor = isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText;
100
+ const displayName = (0, _attachmentUtils.attachmentDisplayName)(attachment);
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
102
+ style: styles.fileBlock,
103
+ onPress: onPress,
104
+ disabled: !onPress,
105
+ activeOpacity: 0.75,
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
107
+ style: [styles.fileName, {
108
+ color: nameColor
109
+ }],
110
+ numberOfLines: 2,
111
+ children: displayName
112
+ }), attachment.size > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
113
+ style: [styles.fileSize, {
114
+ color: sizeColor
115
+ }],
116
+ children: formatBytes(attachment.size)
117
+ })]
118
+ });
119
+ }
120
+ function BotButton({
121
+ button,
122
+ theme,
123
+ onPress
124
+ }) {
125
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
126
+ style: [styles.botButton, {
127
+ borderColor: theme.primaryColor
128
+ }],
129
+ onPress: onPress,
130
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
131
+ style: [styles.botButtonText, {
132
+ color: theme.primaryColor
133
+ }],
134
+ children: button.text
135
+ })
136
+ });
137
+ }
138
+ const BUBBLE_MAX_WIDTH = _reactNative.Dimensions.get('window').width * 0.78;
139
+ const styles = _reactNative.StyleSheet.create({
140
+ row: {
141
+ flexDirection: 'row',
142
+ marginVertical: 3,
143
+ paddingHorizontal: 16
144
+ },
145
+ rowRight: {
146
+ justifyContent: 'flex-end'
147
+ },
148
+ rowLeft: {
149
+ justifyContent: 'flex-start'
150
+ },
151
+ bubble: {
152
+ maxWidth: BUBBLE_MAX_WIDTH,
153
+ minWidth: 56,
154
+ borderRadius: 16,
155
+ paddingHorizontal: 14,
156
+ paddingTop: 10,
157
+ paddingBottom: 8
158
+ },
159
+ outbound: {
160
+ borderBottomRightRadius: 4
161
+ },
162
+ inbound: {
163
+ borderBottomLeftRadius: 4
164
+ },
165
+ senderName: {
166
+ fontSize: 12,
167
+ fontWeight: '600',
168
+ marginBottom: 4
169
+ },
170
+ text: {
171
+ fontSize: 15,
172
+ lineHeight: 21
173
+ },
174
+ time: {
175
+ fontSize: 11,
176
+ lineHeight: 14,
177
+ alignSelf: 'flex-end',
178
+ marginTop: 6
179
+ },
180
+ systemRow: {
181
+ alignItems: 'center',
182
+ marginVertical: 8,
183
+ paddingHorizontal: 16
184
+ },
185
+ systemText: {
186
+ fontSize: 12,
187
+ textAlign: 'center'
188
+ },
189
+ attachments: {
190
+ gap: 6,
191
+ marginBottom: 4
192
+ },
193
+ image: {
194
+ width: 200,
195
+ height: 150,
196
+ borderRadius: 8
197
+ },
198
+ fileBlock: {
199
+ gap: 2,
200
+ minWidth: 120
201
+ },
202
+ fileName: {
203
+ fontSize: 14,
204
+ fontWeight: '500',
205
+ lineHeight: 19
206
+ },
207
+ fileSize: {
208
+ fontSize: 11,
209
+ lineHeight: 15
210
+ },
211
+ buttons: {
212
+ gap: 6,
213
+ marginTop: 8
214
+ },
215
+ botButton: {
216
+ borderWidth: 1.5,
217
+ borderRadius: 8,
218
+ paddingVertical: 8,
219
+ paddingHorizontal: 12,
220
+ alignItems: 'center'
221
+ },
222
+ botButtonText: {
223
+ fontSize: 14,
224
+ fontWeight: '500'
225
+ }
226
+ });
227
+ //# sourceMappingURL=MessageBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_attachmentUtils","_jsxRuntime","e","__esModule","default","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","jsx","View","style","styles","systemRow","children","Text","systemText","color","text","isOutbound","row","rowRight","rowLeft","jsxs","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","TouchableOpacity","disabled","activeOpacity","Image","source","uri","url","image","resizeMode","nameColor","sizeColor","displayName","attachmentDisplayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","Dimensions","get","width","StyleSheet","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,273 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageInput = MessageInput;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _safeArea = require("../safeArea.js");
10
+ var _filePicker = require("../filePicker.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ function docIcon(mime) {
14
+ if (mime === 'application/pdf') return '📄';
15
+ if (mime.includes('word') || mime.includes('document')) return '📝';
16
+ if (mime.includes('sheet') || mime.includes('excel')) return '📊';
17
+ if (mime.startsWith('audio/')) return '🎵';
18
+ if (mime.startsWith('video/')) return '🎬';
19
+ return '📎';
20
+ }
21
+ function MessageInput({
22
+ theme,
23
+ isSending,
24
+ onSend,
25
+ onPickFiles,
26
+ strings
27
+ }) {
28
+ const [text, setText] = (0, _react.useState)('');
29
+ const [files, setFiles] = (0, _react.useState)([]);
30
+ const [picking, setPicking] = (0, _react.useState)(false);
31
+ const inputRef = (0, _react.useRef)(null);
32
+ const canSend = (text.trim().length > 0 || files.length > 0) && !isSending;
33
+ const placeholder = strings?.inputPlaceholder ?? 'Сообщение…';
34
+ const picker = onPickFiles ?? _filePicker.pickFiles;
35
+ const handlePickFiles = async () => {
36
+ if (picking) return;
37
+ setPicking(true);
38
+ try {
39
+ const picked = await picker();
40
+ if (picked && picked.length > 0) {
41
+ setFiles(prev => [...prev, ...picked]);
42
+ }
43
+ } finally {
44
+ setPicking(false);
45
+ }
46
+ };
47
+ const removeFile = index => {
48
+ setFiles(prev => prev.filter((_, i) => i !== index));
49
+ };
50
+ const handleSend = () => {
51
+ if (!canSend) return;
52
+ const trimmed = text.trim();
53
+ onSend(trimmed, files);
54
+ setText('');
55
+ setFiles([]);
56
+ };
57
+ const inputBar = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
58
+ style: [styles.container, {
59
+ backgroundColor: theme.background,
60
+ borderTopColor: theme.inputBorder,
61
+ paddingBottom: _safeArea.INPUT_BOTTOM_PADDING
62
+ }],
63
+ children: [files.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
64
+ horizontal: true,
65
+ showsHorizontalScrollIndicator: false,
66
+ style: styles.filesStrip,
67
+ contentContainerStyle: styles.filesStripContent,
68
+ children: files.map((file, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
69
+ style: styles.filePreview,
70
+ children: [file.type.startsWith('image/') ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
71
+ source: {
72
+ uri: file.uri
73
+ },
74
+ style: styles.previewImage
75
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
76
+ style: [styles.previewDoc, {
77
+ backgroundColor: theme.inputBg,
78
+ borderColor: theme.inputBorder
79
+ }],
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
81
+ style: styles.previewDocIcon,
82
+ children: docIcon(file.type)
83
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
84
+ style: [styles.previewDocName, {
85
+ color: theme.inputText
86
+ }],
87
+ numberOfLines: 2,
88
+ children: file.name
89
+ })]
90
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
91
+ style: styles.removeBtn,
92
+ onPress: () => removeFile(i),
93
+ hitSlop: 6,
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
95
+ style: styles.removeBtnText,
96
+ children: "\u2715"
97
+ })
98
+ })]
99
+ }, i))
100
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
101
+ style: styles.inputRow,
102
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
103
+ style: [styles.attachBtn, {
104
+ backgroundColor: theme.inputBg,
105
+ borderColor: theme.inputBorder
106
+ }],
107
+ onPress: handlePickFiles,
108
+ disabled: picking || isSending,
109
+ activeOpacity: 0.7,
110
+ children: picking ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
111
+ color: theme.systemText,
112
+ size: "small"
113
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
114
+ style: [styles.attachIcon, {
115
+ color: theme.primaryColor
116
+ }],
117
+ children: "\u2295"
118
+ })
119
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
120
+ style: [styles.inputWrap, {
121
+ backgroundColor: theme.inputBg,
122
+ borderColor: theme.inputBorder
123
+ }],
124
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
125
+ ref: inputRef,
126
+ style: [styles.input, {
127
+ color: theme.inputText
128
+ }],
129
+ placeholder: placeholder,
130
+ placeholderTextColor: theme.systemText,
131
+ multiline: true,
132
+ maxLength: 4000,
133
+ value: text,
134
+ onChangeText: setText,
135
+ onSubmitEditing: handleSend,
136
+ returnKeyType: "send",
137
+ blurOnSubmit: false
138
+ })
139
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
140
+ style: [styles.sendBtn, {
141
+ backgroundColor: canSend ? theme.sendButtonBg : theme.inputBorder
142
+ }],
143
+ onPress: handleSend,
144
+ disabled: !canSend,
145
+ activeOpacity: 0.7,
146
+ children: isSending ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
147
+ color: "#fff",
148
+ size: "small"
149
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
150
+ style: styles.sendIcon,
151
+ children: "\u2191"
152
+ })
153
+ })]
154
+ })]
155
+ });
156
+ if (_reactNative.Platform.OS === 'ios') {
157
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.SafeAreaView, {
158
+ style: {
159
+ backgroundColor: theme.background
160
+ },
161
+ children: inputBar
162
+ });
163
+ }
164
+ return inputBar;
165
+ }
166
+ const styles = _reactNative.StyleSheet.create({
167
+ container: {
168
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth
169
+ },
170
+ filesStrip: {
171
+ maxHeight: 110,
172
+ borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
173
+ borderBottomColor: 'rgba(0,0,0,0.07)'
174
+ },
175
+ filesStripContent: {
176
+ paddingHorizontal: 12,
177
+ paddingVertical: 10,
178
+ gap: 10
179
+ },
180
+ filePreview: {
181
+ position: 'relative'
182
+ },
183
+ previewImage: {
184
+ width: 80,
185
+ height: 80,
186
+ borderRadius: 8
187
+ },
188
+ previewDoc: {
189
+ width: 80,
190
+ height: 80,
191
+ borderRadius: 8,
192
+ borderWidth: 1,
193
+ alignItems: 'center',
194
+ justifyContent: 'center',
195
+ padding: 6,
196
+ gap: 4
197
+ },
198
+ previewDocIcon: {
199
+ fontSize: 24
200
+ },
201
+ previewDocName: {
202
+ fontSize: 9,
203
+ textAlign: 'center',
204
+ lineHeight: 12
205
+ },
206
+ removeBtn: {
207
+ position: 'absolute',
208
+ top: -6,
209
+ right: -6,
210
+ width: 20,
211
+ height: 20,
212
+ borderRadius: 10,
213
+ backgroundColor: '#333',
214
+ alignItems: 'center',
215
+ justifyContent: 'center'
216
+ },
217
+ removeBtnText: {
218
+ color: '#fff',
219
+ fontSize: 9,
220
+ lineHeight: 10,
221
+ fontWeight: 'bold'
222
+ },
223
+ inputRow: {
224
+ flexDirection: 'row',
225
+ alignItems: 'flex-end',
226
+ paddingHorizontal: 12,
227
+ paddingTop: 10,
228
+ paddingBottom: 0,
229
+ gap: 8
230
+ },
231
+ attachBtn: {
232
+ width: 40,
233
+ height: 40,
234
+ borderRadius: 20,
235
+ borderWidth: 1,
236
+ alignItems: 'center',
237
+ justifyContent: 'center',
238
+ flexShrink: 0
239
+ },
240
+ attachIcon: {
241
+ fontSize: 22,
242
+ lineHeight: 24
243
+ },
244
+ inputWrap: {
245
+ flex: 1,
246
+ borderWidth: 1,
247
+ borderRadius: 20,
248
+ paddingHorizontal: 14,
249
+ paddingVertical: 8,
250
+ minHeight: 40,
251
+ maxHeight: 120
252
+ },
253
+ input: {
254
+ fontSize: 15,
255
+ lineHeight: 20,
256
+ padding: 0
257
+ },
258
+ sendBtn: {
259
+ width: 40,
260
+ height: 40,
261
+ borderRadius: 20,
262
+ alignItems: 'center',
263
+ justifyContent: 'center',
264
+ flexShrink: 0
265
+ },
266
+ sendIcon: {
267
+ color: '#fff',
268
+ fontSize: 18,
269
+ fontWeight: 'bold',
270
+ lineHeight: 20
271
+ }
272
+ });
273
+ //# sourceMappingURL=MessageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_safeArea","_filePicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","docIcon","mime","includes","startsWith","MessageInput","theme","isSending","onSend","onPickFiles","strings","text","setText","useState","files","setFiles","picking","setPicking","inputRef","useRef","canSend","trim","length","placeholder","inputPlaceholder","picker","defaultPickFiles","handlePickFiles","picked","prev","removeFile","index","filter","_","handleSend","trimmed","inputBar","jsxs","View","style","styles","container","backgroundColor","background","borderTopColor","inputBorder","paddingBottom","INPUT_BOTTOM_PADDING","children","jsx","ScrollView","horizontal","showsHorizontalScrollIndicator","filesStrip","contentContainerStyle","filesStripContent","map","file","filePreview","type","Image","source","uri","previewImage","previewDoc","inputBg","borderColor","Text","previewDocIcon","previewDocName","color","inputText","numberOfLines","name","TouchableOpacity","removeBtn","onPress","hitSlop","removeBtnText","inputRow","attachBtn","disabled","activeOpacity","ActivityIndicator","systemText","size","attachIcon","primaryColor","inputWrap","TextInput","ref","input","placeholderTextColor","multiline","maxLength","value","onChangeText","onSubmitEditing","returnKeyType","blurOnSubmit","sendBtn","sendButtonBg","sendIcon","Platform","OS","SafeAreaView","StyleSheet","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA6D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAa7D,SAASkB,OAAOA,CAACC,IAAY,EAAU;EACrC,IAAIA,IAAI,KAAK,iBAAiB,EAAE,OAAO,IAAI;EAC3C,IAAIA,IAAI,CAACC,QAAQ,CAAC,MAAM,CAAC,IAAID,IAAI,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI;EACnE,IAAID,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC,IAAID,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI;EACjE,IAAID,IAAI,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI;EAC1C,IAAIF,IAAI,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI;EAC1C,OAAO,IAAI;AACb;AAEO,SAASC,YAAYA,CAAC;EAAEC,KAAK;EAAEC,SAAS;EAAEC,MAAM;EAAEC,WAAW;EAAEC;AAAe,CAAC,EAAE;EACtF,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAS,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAC1C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAO,IAAAF,eAAQ,EAAoB,EAAE,CAAC;EAC7D,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAMK,QAAQ,GAAgB,IAAAC,aAAM,EAAY,IAAI,CAAC;EAErD,MAAMC,OAAO,GAAO,CAACT,IAAI,CAACU,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC,IAAIR,KAAK,CAACQ,MAAM,GAAG,CAAC,KAAK,CAACf,SAAS;EAC9E,MAAMgB,WAAW,GAAGb,OAAO,EAAEc,gBAAgB,IAAI,YAAY;EAC7D,MAAMC,MAAM,GAAQhB,WAAW,IAAIiB,qBAAgB;EAEnD,MAAMC,eAAe,GAAG,MAAAA,CAAA,KAAY;IAClC,IAAIX,OAAO,EAAE;IACbC,UAAU,CAAC,IAAI,CAAC;IAChB,IAAI;MACF,MAAMW,MAAM,GAAG,MAAMH,MAAM,CAAC,CAAC;MAC7B,IAAIG,MAAM,IAAIA,MAAM,CAACN,MAAM,GAAG,CAAC,EAAE;QAC/BP,QAAQ,CAAEc,IAAI,IAAK,CAAC,GAAGA,IAAI,EAAE,GAAGD,MAAM,CAAC,CAAC;MAC1C;IACF,CAAC,SAAS;MACRX,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC;EAED,MAAMa,UAAU,GAAIC,KAAa,IAAK;IACpChB,QAAQ,CAAEc,IAAI,IAAKA,IAAI,CAACG,MAAM,CAAC,CAACC,CAAC,EAAE5C,CAAC,KAAKA,CAAC,KAAK0C,KAAK,CAAC,CAAC;EACxD,CAAC;EAED,MAAMG,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI,CAACd,OAAO,EAAE;IACd,MAAMe,OAAO,GAAGxB,IAAI,CAACU,IAAI,CAAC,CAAC;IAC3Bb,MAAM,CAAC2B,OAAO,EAAErB,KAAK,CAAC;IACtBF,OAAO,CAAC,EAAE,CAAC;IACXG,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EAED,MAAMqB,QAAQ,gBACZ,IAAAvD,WAAA,CAAAwD,IAAA,EAAC3D,YAAA,CAAA4D,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAEpC,KAAK,CAACqC,UAAU;MACjCC,cAAc,EAAGtC,KAAK,CAACuC,WAAW;MAClCC,aAAa,EAAIC;IACnB,CAAC,CACD;IAAAC,QAAA,GAEDlC,KAAK,CAACQ,MAAM,GAAG,CAAC,iBACf,IAAAzC,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAwE,UAAU;MACTC,UAAU;MACVC,8BAA8B,EAAE,KAAM;MACtCb,KAAK,EAAEC,MAAM,CAACa,UAAW;MACzBC,qBAAqB,EAAEd,MAAM,CAACe,iBAAkB;MAAAP,QAAA,EAE/ClC,KAAK,CAAC0C,GAAG,CAAC,CAACC,IAAI,EAAEpE,CAAC,kBACjB,IAAAR,WAAA,CAAAwD,IAAA,EAAC3D,YAAA,CAAA4D,IAAI;QAASC,KAAK,EAAEC,MAAM,CAACkB,WAAY;QAAAV,QAAA,GACrCS,IAAI,CAACE,IAAI,CAACvD,UAAU,CAAC,QAAQ,CAAC,gBAC7B,IAAAvB,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAkF,KAAK;UAACC,MAAM,EAAE;YAAEC,GAAG,EAAEL,IAAI,CAACK;UAAI,CAAE;UAACvB,KAAK,EAAEC,MAAM,CAACuB;QAAa,CAAE,CAAC,gBAEhE,IAAAlF,WAAA,CAAAwD,IAAA,EAAC3D,YAAA,CAAA4D,IAAI;UAACC,KAAK,EAAE,CAACC,MAAM,CAACwB,UAAU,EAAE;YAAEtB,eAAe,EAAEpC,KAAK,CAAC2D,OAAO;YAAEC,WAAW,EAAE5D,KAAK,CAACuC;UAAY,CAAC,CAAE;UAAAG,QAAA,gBACnG,IAAAnE,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyF,IAAI;YAAC5B,KAAK,EAAEC,MAAM,CAAC4B,cAAe;YAAApB,QAAA,EAAE/C,OAAO,CAACwD,IAAI,CAACE,IAAI;UAAC,CAAO,CAAC,eAC/D,IAAA9E,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyF,IAAI;YAAC5B,KAAK,EAAE,CAACC,MAAM,CAAC6B,cAAc,EAAE;cAAEC,KAAK,EAAEhE,KAAK,CAACiE;YAAU,CAAC,CAAE;YAACC,aAAa,EAAE,CAAE;YAAAxB,QAAA,EAChFS,IAAI,CAACgB;UAAI,CACN,CAAC;QAAA,CACH,CACP,eACD,IAAA5F,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAgG,gBAAgB;UACfnC,KAAK,EAAEC,MAAM,CAACmC,SAAU;UACxBC,OAAO,EAAEA,CAAA,KAAM9C,UAAU,CAACzC,CAAC,CAAE;UAC7BwF,OAAO,EAAE,CAAE;UAAA7B,QAAA,eAEX,IAAAnE,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyF,IAAI;YAAC5B,KAAK,EAAEC,MAAM,CAACsC,aAAc;YAAA9B,QAAA,EAAC;UAAC,CAAM;QAAC,CAC3B,CAAC;MAAA,GAjBV3D,CAkBL,CACP;IAAC,CACQ,CACb,eAED,IAAAR,WAAA,CAAAwD,IAAA,EAAC3D,YAAA,CAAA4D,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACuC,QAAS;MAAA/B,QAAA,gBAC3B,IAAAnE,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAgG,gBAAgB;QACfnC,KAAK,EAAE,CAACC,MAAM,CAACwC,SAAS,EAAE;UAAEtC,eAAe,EAAEpC,KAAK,CAAC2D,OAAO;UAAEC,WAAW,EAAE5D,KAAK,CAACuC;QAAY,CAAC,CAAE;QAC9F+B,OAAO,EAAEjD,eAAgB;QACzBsD,QAAQ,EAAEjE,OAAO,IAAIT,SAAU;QAC/B2E,aAAa,EAAE,GAAI;QAAAlC,QAAA,EAElBhC,OAAO,gBACN,IAAAnC,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyG,iBAAiB;UAACb,KAAK,EAAEhE,KAAK,CAAC8E,UAAW;UAACC,IAAI,EAAC;QAAO,CAAE,CAAC,gBAE3D,IAAAxG,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyF,IAAI;UAAC5B,KAAK,EAAE,CAACC,MAAM,CAAC8C,UAAU,EAAE;YAAEhB,KAAK,EAAEhE,KAAK,CAACiF;UAAa,CAAC,CAAE;UAAAvC,QAAA,EAAC;QAAC,CAAM;MACzE,CACe,CAAC,eAEnB,IAAAnE,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAA4D,IAAI;QAACC,KAAK,EAAE,CAACC,MAAM,CAACgD,SAAS,EAAE;UAAE9C,eAAe,EAAEpC,KAAK,CAAC2D,OAAO;UAAEC,WAAW,EAAE5D,KAAK,CAACuC;QAAY,CAAC,CAAE;QAAAG,QAAA,eAClG,IAAAnE,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAA+G,SAAS;UACRC,GAAG,EAAExE,QAAS;UACdqB,KAAK,EAAE,CAACC,MAAM,CAACmD,KAAK,EAAE;YAAErB,KAAK,EAAEhE,KAAK,CAACiE;UAAU,CAAC,CAAE;UAClDhD,WAAW,EAAEA,WAAY;UACzBqE,oBAAoB,EAAEtF,KAAK,CAAC8E,UAAW;UACvCS,SAAS;UACTC,SAAS,EAAE,IAAK;UAChBC,KAAK,EAAEpF,IAAK;UACZqF,YAAY,EAAEpF,OAAQ;UACtBqF,eAAe,EAAE/D,UAAW;UAC5BgE,aAAa,EAAC,MAAM;UACpBC,YAAY,EAAE;QAAM,CACrB;MAAC,CACE,CAAC,eAEP,IAAAtH,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAgG,gBAAgB;QACfnC,KAAK,EAAE,CACLC,MAAM,CAAC4D,OAAO,EACd;UAAE1D,eAAe,EAAEtB,OAAO,GAAGd,KAAK,CAAC+F,YAAY,GAAG/F,KAAK,CAACuC;QAAY,CAAC,CACrE;QACF+B,OAAO,EAAE1C,UAAW;QACpB+C,QAAQ,EAAE,CAAC7D,OAAQ;QACnB8D,aAAa,EAAE,GAAI;QAAAlC,QAAA,EAElBzC,SAAS,gBACR,IAAA1B,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyG,iBAAiB;UAACb,KAAK,EAAC,MAAM;UAACe,IAAI,EAAC;QAAO,CAAE,CAAC,gBAE/C,IAAAxG,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAAyF,IAAI;UAAC5B,KAAK,EAAEC,MAAM,CAAC8D,QAAS;UAAAtD,QAAA,EAAC;QAAC,CAAM;MACtC,CACe,CAAC;IAAA,CACf,CAAC;EAAA,CACH,CACP;EAED,IAAIuD,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,oBACE,IAAA3H,WAAA,CAAAoE,GAAA,EAACvE,YAAA,CAAA+H,YAAY;MAAClE,KAAK,EAAE;QAAEG,eAAe,EAAEpC,KAAK,CAACqC;MAAW,CAAE;MAAAK,QAAA,EACxDZ;IAAQ,CACG,CAAC;EAEnB;EAEA,OAAOA,QAAQ;AACjB;AAEA,MAAMI,MAAM,GAAGkE,uBAAU,CAACC,MAAM,CAAC;EAC/BlE,SAAS,EAAE;IACTmE,cAAc,EAAEF,uBAAU,CAACG;EAC7B,CAAC;EACDxD,UAAU,EAAE;IACVyD,SAAS,EAAE,GAAG;IACdC,iBAAiB,EAAEL,uBAAU,CAACG,aAAa;IAC3CG,iBAAiB,EAAE;EACrB,CAAC;EACDzD,iBAAiB,EAAE;IACjB0D,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,GAAG,EAAE;EACP,CAAC;EACDzD,WAAW,EAAE;IACX0D,QAAQ,EAAE;EACZ,CAAC;EACDrD,YAAY,EAAE;IACZsD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE;EAChB,CAAC;EACDvD,UAAU,EAAE;IACVqD,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,CAAC;IACVR,GAAG,EAAE;EACP,CAAC;EACD/C,cAAc,EAAE;IACdwD,QAAQ,EAAE;EACZ,CAAC;EACDvD,cAAc,EAAE;IACduD,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACd,CAAC;EACDnD,SAAS,EAAE;IACTyC,QAAQ,EAAE,UAAU;IACpBW,GAAG,EAAE,CAAC,CAAC;IACPC,KAAK,EAAE,CAAC,CAAC;IACTX,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChB7E,eAAe,EAAE,MAAM;IACvB+E,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD5C,aAAa,EAAE;IACbR,KAAK,EAAE,MAAM;IACbsD,QAAQ,EAAE,CAAC;IACXE,UAAU,EAAE,EAAE;IACdG,UAAU,EAAE;EACd,CAAC;EACDlD,QAAQ,EAAE;IACRmD,aAAa,EAAE,KAAK;IACpBT,UAAU,EAAK,UAAU;IACzBR,iBAAiB,EAAE,EAAE;IACrBkB,UAAU,EAAK,EAAE;IACjBrF,aAAa,EAAE,CAAC;IAChBqE,GAAG,EAAY;EACjB,CAAC;EACDnC,SAAS,EAAE;IACTqC,KAAK,EAAS,EAAE;IAChBC,MAAM,EAAQ,EAAE;IAChBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAG,CAAC;IACfC,UAAU,EAAI,QAAQ;IACtBC,cAAc,EAAE,QAAQ;IACxBU,UAAU,EAAI;EAChB,CAAC;EACD9C,UAAU,EAAE;IACVsC,QAAQ,EAAI,EAAE;IACdE,UAAU,EAAE;EACd,CAAC;EACDtC,SAAS,EAAE;IACT6C,IAAI,EAAc,CAAC;IACnBb,WAAW,EAAO,CAAC;IACnBD,YAAY,EAAM,EAAE;IACpBN,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAG,CAAC;IACnBoB,SAAS,EAAS,EAAE;IACpBxB,SAAS,EAAS;EACpB,CAAC;EACDnB,KAAK,EAAE;IACLiC,QAAQ,EAAI,EAAE;IACdE,UAAU,EAAE,EAAE;IACdH,OAAO,EAAK;EACd,CAAC;EACDvB,OAAO,EAAE;IACPiB,KAAK,EAAW,EAAE;IAClBC,MAAM,EAAU,EAAE;IAClBC,YAAY,EAAI,EAAE;IAClBE,UAAU,EAAM,QAAQ;IACxBC,cAAc,EAAE,QAAQ;IACxBU,UAAU,EAAM;EAClB,CAAC;EACD9B,QAAQ,EAAE;IACRhC,KAAK,EAAO,MAAM;IAClBsD,QAAQ,EAAI,EAAE;IACdK,UAAU,EAAE,MAAM;IAClBH,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}