@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,499 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SurveyOverlay = SurveyOverlay;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ 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); }
11
+ function buildRange(from, to) {
12
+ if (from > to) return [];
13
+ return Array.from({
14
+ length: to - from + 1
15
+ }, (_, i) => from + i);
16
+ }
17
+ function SurveyOverlay({
18
+ config,
19
+ theme,
20
+ strings,
21
+ onSubmit,
22
+ onDismiss
23
+ }) {
24
+ const [step, setStep] = (0, _react.useState)('rating');
25
+ const [rating, setRating] = (0, _react.useState)(0);
26
+ const [comment, setComment] = (0, _react.useState)('');
27
+ const [resultMessage, setResultMessage] = (0, _react.useState)('');
28
+ const [sending, setSending] = (0, _react.useState)(false);
29
+ const backdropAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
30
+ const cardAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0.88)).current;
31
+ const stepAnim = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
32
+ const fullRange = buildRange(config.range[0], config.range[1]);
33
+ const badRange = buildRange(config.badRange[0], config.badRange[1]);
34
+ const isBadRating = config.badRangeEnabled && badRange.includes(rating);
35
+ const needsComment = config.commentEnabled && (config.badRangeEnabled ? isBadRating : rating > 0);
36
+ const label = {
37
+ title: strings?.surveyTitle ?? config.title,
38
+ submit: strings?.surveySubmit ?? 'Отправить',
39
+ skip: strings?.surveySkip ?? 'Пропустить',
40
+ close: strings?.surveyClose ?? 'Закрыть',
41
+ sending: strings?.sendingText ?? 'Отправка…'
42
+ };
43
+ (0, _react.useEffect)(() => {
44
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(backdropAnim, {
45
+ toValue: 1,
46
+ duration: 250,
47
+ useNativeDriver: true
48
+ }), _reactNative.Animated.spring(cardAnim, {
49
+ toValue: 1,
50
+ damping: 18,
51
+ stiffness: 260,
52
+ useNativeDriver: true
53
+ })]).start();
54
+ }, []);
55
+ const animateStep = (0, _react.useCallback)(fn => {
56
+ _reactNative.Animated.timing(stepAnim, {
57
+ toValue: 0,
58
+ duration: 160,
59
+ easing: _reactNative.Easing.out(_reactNative.Easing.ease),
60
+ useNativeDriver: true
61
+ }).start(() => {
62
+ fn();
63
+ _reactNative.Animated.timing(stepAnim, {
64
+ toValue: 1,
65
+ duration: 200,
66
+ easing: _reactNative.Easing.out(_reactNative.Easing.ease),
67
+ useNativeDriver: true
68
+ }).start();
69
+ });
70
+ }, [stepAnim]);
71
+ const dismiss = (0, _react.useCallback)(() => {
72
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(backdropAnim, {
73
+ toValue: 0,
74
+ duration: 200,
75
+ useNativeDriver: true
76
+ }), _reactNative.Animated.timing(cardAnim, {
77
+ toValue: 0.88,
78
+ duration: 180,
79
+ useNativeDriver: true
80
+ })]).start(() => onDismiss());
81
+ }, [backdropAnim, cardAnim, onDismiss]);
82
+ const handleStarPress = (0, _react.useCallback)(score => {
83
+ setRating(score);
84
+ const isBad = config.badRangeEnabled && badRange.includes(score);
85
+ const msg = isBad ? config.badMessage : config.goodMessage;
86
+ if (config.commentEnabled && (config.badRangeEnabled ? isBad : true)) {
87
+ animateStep(() => {
88
+ setResultMessage(msg);
89
+ setStep('comment');
90
+ });
91
+ } else {
92
+ animateStep(() => {
93
+ setResultMessage(msg);
94
+ setStep('result');
95
+ });
96
+ void handleAutoSubmit(score);
97
+ }
98
+ }, [config, badRange, animateStep]);
99
+ const handleAutoSubmit = async score => {
100
+ try {
101
+ await onSubmit(score);
102
+ } catch {}
103
+ };
104
+ const handleSendComment = (0, _react.useCallback)(async () => {
105
+ if (config.commentRequired && !comment.trim()) return;
106
+ setSending(true);
107
+ try {
108
+ await onSubmit(rating, comment.trim() || undefined);
109
+ } catch {}
110
+ setSending(false);
111
+ animateStep(() => {
112
+ setResultMessage(config.afterCommentMessage);
113
+ setStep('result');
114
+ });
115
+ }, [rating, comment, config, onSubmit, animateStep]);
116
+ const handleCloseAttempt = (0, _react.useCallback)(() => {
117
+ if (step === 'result') {
118
+ dismiss();
119
+ return;
120
+ }
121
+ if (rating > 0) {
122
+ setStep('exit_confirm');
123
+ } else {
124
+ dismiss();
125
+ }
126
+ }, [step, rating, dismiss]);
127
+ const starCount = fullRange.length;
128
+ const starSize = starCount <= 5 ? 44 : starCount <= 7 ? 36 : 28;
129
+ const starGap = starCount <= 5 ? 10 : starCount <= 7 ? 7 : 5;
130
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
131
+ style: [styles.backdrop, {
132
+ opacity: backdropAnim
133
+ }],
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
135
+ onPress: handleCloseAttempt,
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
137
+ style: _reactNative.StyleSheet.absoluteFill
138
+ })
139
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.KeyboardAvoidingView, {
140
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
141
+ style: styles.kav,
142
+ pointerEvents: "box-none",
143
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
144
+ style: [styles.card, {
145
+ borderTopColor: theme.primaryColor
146
+ }, {
147
+ opacity: cardAnim,
148
+ transform: [{
149
+ scale: cardAnim.interpolate({
150
+ inputRange: [0.88, 1],
151
+ outputRange: [0.88, 1]
152
+ })
153
+ }, {
154
+ translateY: cardAnim.interpolate({
155
+ inputRange: [0.88, 1],
156
+ outputRange: [24, 0]
157
+ })
158
+ }]
159
+ }],
160
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
161
+ style: styles.closeBtn,
162
+ onPress: handleCloseAttempt,
163
+ hitSlop: 12,
164
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
165
+ style: [styles.closeBtnText, {
166
+ color: theme.systemText
167
+ }],
168
+ children: "\u2715"
169
+ })
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
171
+ style: [styles.title, {
172
+ color: theme.inboundText
173
+ }],
174
+ children: label.title
175
+ }), !!config.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
176
+ style: [styles.description, {
177
+ color: theme.systemText
178
+ }],
179
+ children: config.description
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
181
+ style: [styles.starsRow, {
182
+ gap: starGap
183
+ }],
184
+ children: fullRange.map(score => {
185
+ const filled = score <= rating;
186
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
187
+ onPress: () => step === 'rating' && handleStarPress(score),
188
+ activeOpacity: 0.75,
189
+ disabled: step !== 'rating',
190
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StarIcon, {
191
+ size: starSize,
192
+ filled: filled,
193
+ color: theme.primaryColor
194
+ })
195
+ }, score);
196
+ })
197
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
198
+ style: {
199
+ opacity: stepAnim,
200
+ transform: [{
201
+ translateY: stepAnim.interpolate({
202
+ inputRange: [0, 1],
203
+ outputRange: [12, 0]
204
+ })
205
+ }]
206
+ },
207
+ children: [step === 'rating' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
208
+ style: styles.skipBtn,
209
+ onPress: dismiss,
210
+ activeOpacity: 0.7,
211
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
212
+ style: [styles.skipText, {
213
+ color: theme.systemText
214
+ }],
215
+ children: label.skip
216
+ })
217
+ }), step === 'comment' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
218
+ style: styles.commentSection,
219
+ children: [!!resultMessage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
+ style: [styles.resultMsg, {
221
+ color: theme.primaryColor
222
+ }],
223
+ children: resultMessage
224
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
225
+ style: [styles.commentInput, {
226
+ borderColor: theme.inputBorder,
227
+ color: theme.inputText,
228
+ backgroundColor: theme.inputBg
229
+ }],
230
+ placeholder: "\u0412\u0430\u0448 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439...",
231
+ placeholderTextColor: theme.systemText,
232
+ multiline: true,
233
+ numberOfLines: 3,
234
+ value: comment,
235
+ onChangeText: setComment,
236
+ editable: !sending,
237
+ textAlignVertical: "top"
238
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
239
+ style: [styles.primaryBtn, {
240
+ backgroundColor: theme.primaryColor
241
+ }, (config.commentRequired && !comment.trim() || sending) && styles.btnDisabled],
242
+ onPress: handleSendComment,
243
+ disabled: config.commentRequired && !comment.trim() || sending,
244
+ activeOpacity: 0.82,
245
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
246
+ style: styles.primaryBtnText,
247
+ children: sending ? label.sending : label.submit
248
+ })
249
+ })]
250
+ }), step === 'result' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
251
+ style: styles.resultSection,
252
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
253
+ style: [styles.resultMsg, {
254
+ color: theme.primaryColor
255
+ }],
256
+ children: resultMessage
257
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
258
+ style: [styles.primaryBtn, {
259
+ backgroundColor: theme.primaryColor
260
+ }],
261
+ onPress: dismiss,
262
+ activeOpacity: 0.82,
263
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
264
+ style: styles.primaryBtnText,
265
+ children: label.close
266
+ })
267
+ })]
268
+ })]
269
+ }), step === 'exit_confirm' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
270
+ style: styles.confirmOverlay,
271
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
272
+ style: styles.confirmBox,
273
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
274
+ style: [styles.confirmText, {
275
+ color: theme.inboundText
276
+ }],
277
+ children: "\u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u0435\u043A\u0440\u0430\u0442\u0438\u0442\u044C \u0441\u0431\u043E\u0440 \u043E\u0431\u0440\u0430\u0442\u043D\u043E\u0439 \u0441\u0432\u044F\u0437\u0438? \u0412\u0432\u0435\u0434\u0451\u043D\u043D\u0430\u044F \u043E\u0446\u0435\u043D\u043A\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430."
278
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
279
+ style: styles.confirmBtns,
280
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
281
+ style: [styles.confirmSecondary, {
282
+ borderColor: theme.primaryColor
283
+ }],
284
+ onPress: () => setStep(rating > 0 ? needsComment ? 'comment' : 'result' : 'rating'),
285
+ activeOpacity: 0.8,
286
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
287
+ style: [styles.confirmSecondaryText, {
288
+ color: theme.primaryColor
289
+ }],
290
+ children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C"
291
+ })
292
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
293
+ style: [styles.primaryBtn, {
294
+ backgroundColor: theme.primaryColor,
295
+ flex: 1
296
+ }],
297
+ onPress: dismiss,
298
+ activeOpacity: 0.82,
299
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
300
+ style: styles.primaryBtnText,
301
+ children: "\u0412\u044B\u0439\u0442\u0438"
302
+ })
303
+ })]
304
+ })]
305
+ })
306
+ })]
307
+ })
308
+ })]
309
+ });
310
+ }
311
+ function StarIcon({
312
+ size,
313
+ filled,
314
+ color
315
+ }) {
316
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
317
+ style: {
318
+ width: size,
319
+ height: size
320
+ },
321
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
322
+ style: {
323
+ fontSize: size * 0.88,
324
+ lineHeight: size,
325
+ textAlign: 'center',
326
+ color: filled ? color : '#d0d0dc'
327
+ },
328
+ children: "\u2605"
329
+ })
330
+ });
331
+ }
332
+ const styles = _reactNative.StyleSheet.create({
333
+ backdrop: {
334
+ ..._reactNative.StyleSheet.absoluteFillObject,
335
+ backgroundColor: 'rgba(0,0,0,0.48)',
336
+ justifyContent: 'center',
337
+ alignItems: 'center',
338
+ zIndex: 100,
339
+ paddingHorizontal: 20
340
+ },
341
+ kav: {
342
+ width: '100%',
343
+ maxWidth: 480,
344
+ alignItems: 'center'
345
+ },
346
+ card: {
347
+ backgroundColor: '#fff',
348
+ borderRadius: 20,
349
+ borderTopWidth: 5,
350
+ paddingHorizontal: 24,
351
+ paddingBottom: 28,
352
+ paddingTop: 24,
353
+ width: '100%',
354
+ shadowColor: '#000',
355
+ shadowOffset: {
356
+ width: 0,
357
+ height: 10
358
+ },
359
+ shadowOpacity: 0.18,
360
+ shadowRadius: 24,
361
+ elevation: 20
362
+ },
363
+ closeBtn: {
364
+ position: 'absolute',
365
+ top: 14,
366
+ right: 18,
367
+ zIndex: 10,
368
+ padding: 6
369
+ },
370
+ closeBtnText: {
371
+ fontSize: 18,
372
+ fontWeight: '500'
373
+ },
374
+ title: {
375
+ fontSize: 20,
376
+ fontWeight: '700',
377
+ textAlign: 'center',
378
+ marginBottom: 6,
379
+ marginTop: 4,
380
+ paddingRight: 28,
381
+ lineHeight: 26
382
+ },
383
+ description: {
384
+ fontSize: 14,
385
+ textAlign: 'center',
386
+ marginBottom: 16,
387
+ lineHeight: 20
388
+ },
389
+ starsRow: {
390
+ flexDirection: 'row',
391
+ justifyContent: 'center',
392
+ flexWrap: 'wrap',
393
+ marginTop: 8,
394
+ marginBottom: 4
395
+ },
396
+ skipBtn: {
397
+ alignSelf: 'center',
398
+ marginTop: 16,
399
+ paddingVertical: 6,
400
+ paddingHorizontal: 12
401
+ },
402
+ skipText: {
403
+ fontSize: 14,
404
+ textDecorationLine: 'underline'
405
+ },
406
+ commentSection: {
407
+ marginTop: 16,
408
+ gap: 10
409
+ },
410
+ resultSection: {
411
+ marginTop: 16,
412
+ alignItems: 'center',
413
+ gap: 12
414
+ },
415
+ resultMsg: {
416
+ fontSize: 14,
417
+ textAlign: 'center',
418
+ lineHeight: 20,
419
+ fontWeight: '500'
420
+ },
421
+ commentInput: {
422
+ borderWidth: 1.5,
423
+ borderRadius: 12,
424
+ padding: 12,
425
+ fontSize: 15,
426
+ minHeight: 88,
427
+ lineHeight: 21
428
+ },
429
+ primaryBtn: {
430
+ borderRadius: 12,
431
+ paddingVertical: 13,
432
+ paddingHorizontal: 24,
433
+ alignItems: 'center',
434
+ shadowOffset: {
435
+ width: 0,
436
+ height: 3
437
+ },
438
+ shadowOpacity: 0.22,
439
+ shadowRadius: 6,
440
+ elevation: 4
441
+ },
442
+ primaryBtnText: {
443
+ color: '#fff',
444
+ fontSize: 15,
445
+ fontWeight: '700',
446
+ letterSpacing: 0.2
447
+ },
448
+ btnDisabled: {
449
+ opacity: 0.48,
450
+ shadowOpacity: 0,
451
+ elevation: 0
452
+ },
453
+ confirmOverlay: {
454
+ ..._reactNative.StyleSheet.absoluteFillObject,
455
+ backgroundColor: 'rgba(0,0,0,0.42)',
456
+ borderRadius: 20,
457
+ justifyContent: 'center',
458
+ alignItems: 'center',
459
+ zIndex: 20,
460
+ padding: 24
461
+ },
462
+ confirmBox: {
463
+ backgroundColor: '#fff',
464
+ borderRadius: 16,
465
+ padding: 20,
466
+ width: '100%',
467
+ maxWidth: 360,
468
+ shadowColor: '#000',
469
+ shadowOffset: {
470
+ width: 0,
471
+ height: 4
472
+ },
473
+ shadowOpacity: 0.2,
474
+ shadowRadius: 12,
475
+ elevation: 10
476
+ },
477
+ confirmText: {
478
+ fontSize: 14,
479
+ lineHeight: 20,
480
+ textAlign: 'center',
481
+ marginBottom: 16
482
+ },
483
+ confirmBtns: {
484
+ flexDirection: 'row',
485
+ gap: 10
486
+ },
487
+ confirmSecondary: {
488
+ flex: 1,
489
+ borderWidth: 1.5,
490
+ borderRadius: 12,
491
+ paddingVertical: 12,
492
+ alignItems: 'center'
493
+ },
494
+ confirmSecondaryText: {
495
+ fontSize: 14,
496
+ fontWeight: '600'
497
+ }
498
+ });
499
+ //# sourceMappingURL=SurveyOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","buildRange","from","to","Array","length","_","SurveyOverlay","config","theme","strings","onSubmit","onDismiss","step","setStep","useState","rating","setRating","comment","setComment","resultMessage","setResultMessage","sending","setSending","backdropAnim","useRef","Animated","Value","current","cardAnim","stepAnim","fullRange","range","badRange","isBadRating","badRangeEnabled","includes","needsComment","commentEnabled","label","title","surveyTitle","submit","surveySubmit","skip","surveySkip","close","surveyClose","sendingText","useEffect","parallel","timing","toValue","duration","useNativeDriver","spring","damping","stiffness","start","animateStep","useCallback","fn","easing","Easing","out","ease","dismiss","handleStarPress","score","isBad","msg","badMessage","goodMessage","handleAutoSubmit","handleSendComment","commentRequired","trim","undefined","afterCommentMessage","handleCloseAttempt","starCount","starSize","starGap","jsxs","View","style","styles","backdrop","opacity","children","jsx","TouchableWithoutFeedback","onPress","StyleSheet","absoluteFill","KeyboardAvoidingView","behavior","Platform","OS","kav","pointerEvents","card","borderTopColor","primaryColor","transform","scale","interpolate","inputRange","outputRange","translateY","TouchableOpacity","closeBtn","hitSlop","Text","closeBtnText","color","systemText","inboundText","description","starsRow","gap","map","filled","activeOpacity","disabled","StarIcon","size","skipBtn","skipText","commentSection","resultMsg","TextInput","commentInput","borderColor","inputBorder","inputText","backgroundColor","inputBg","placeholder","placeholderTextColor","multiline","numberOfLines","value","onChangeText","editable","textAlignVertical","primaryBtn","btnDisabled","primaryBtnText","resultSection","confirmOverlay","confirmBox","confirmText","confirmBtns","confirmSecondary","confirmSecondaryText","flex","width","height","fontSize","lineHeight","textAlign","create","absoluteFillObject","justifyContent","alignItems","zIndex","paddingHorizontal","maxWidth","borderRadius","borderTopWidth","paddingBottom","paddingTop","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","position","top","right","padding","fontWeight","marginBottom","marginTop","paddingRight","flexDirection","flexWrap","alignSelf","paddingVertical","textDecorationLine","borderWidth","minHeight","letterSpacing"],"sourceRoot":"..\\..\\..\\src","sources":["components/SurveyOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultAttachmentDownloader = void 0;
7
+ var _attachmentUtils = require("../attachmentUtils.js");
8
+ var _NativeChatSdkDownloader = _interopRequireDefault(require("../native/NativeChatSdkDownloader.js"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const defaultAttachmentDownloader = async attachment => {
11
+ if (!_NativeChatSdkDownloader.default) {
12
+ throw new Error('ChatSDK: нативный модуль ChatSdkDownloader не подключён. ' + 'Пересоберите приложение (Android: ./gradlew clean; iOS: pod install).');
13
+ }
14
+ const {
15
+ downloadUrl,
16
+ filename,
17
+ headers,
18
+ mime
19
+ } = (0, _attachmentUtils.buildAttachmentDownloadRequest)(attachment);
20
+ await _NativeChatSdkDownloader.default.download({
21
+ url: downloadUrl,
22
+ filename: (0, _attachmentUtils.sanitizeFilename)(filename) || (0, _attachmentUtils.attachmentDisplayName)(attachment),
23
+ mime: mime || 'application/octet-stream',
24
+ headers
25
+ });
26
+ };
27
+ exports.defaultAttachmentDownloader = defaultAttachmentDownloader;
28
+ //# sourceMappingURL=defaultAttachmentDownloader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_attachmentUtils","require","_NativeChatSdkDownloader","_interopRequireDefault","e","__esModule","default","defaultAttachmentDownloader","attachment","Downloader","Error","downloadUrl","filename","headers","mime","buildAttachmentDownloadRequest","download","url","sanitizeFilename","attachmentDisplayName","exports"],"sourceRoot":"..\\..\\..\\src","sources":["downloaders/defaultAttachmentDownloader.ts"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAMA,IAAAC,wBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGnD,MAAMG,2BAAsD,GAAG,MACpEC,UAA6B,IAC1B;EACH,IAAI,CAACC,gCAAU,EAAE;IACf,MAAM,IAAIC,KAAK,CACb,2DAA2D,GAC3D,uEACF,CAAC;EACH;EAEA,MAAM;IAAEC,WAAW;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAG,IAAAC,+CAA8B,EAACP,UAAU,CAAC;EAC3F,MAAMC,gCAAU,CAACO,QAAQ,CAAC;IACxBC,GAAG,EAAEN,WAAW;IAChBC,QAAQ,EAAE,IAAAM,iCAAgB,EAACN,QAAQ,CAAC,IAAI,IAAAO,sCAAqB,EAACX,UAAU,CAAC;IACzEM,IAAI,EAAEA,IAAI,IAAI,0BAA0B;IACxCD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAO,OAAA,CAAAb,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pickFiles = pickFiles;
7
+ var _NativeChatSdkFilePicker = _interopRequireDefault(require("./native/NativeChatSdkFilePicker.js"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ /** Открывает системный пикер файлов. Возвращает null если пользователь отменил выбор. */
10
+ async function pickFiles() {
11
+ if (!_NativeChatSdkFilePicker.default) {
12
+ throw new Error('ChatSDK: нативный модуль ChatSdkFilePicker не подключён. ' + 'Пересоберите приложение (Android: ./gradlew clean; iOS: pod install).');
13
+ }
14
+ const picked = await _NativeChatSdkFilePicker.default.pick({
15
+ multiple: true
16
+ });
17
+ if (!picked || picked.length === 0) return null;
18
+ return picked.map(f => ({
19
+ uri: f.uri,
20
+ name: f.name,
21
+ type: f.mime || 'application/octet-stream',
22
+ size: f.size > 0 ? f.size : undefined
23
+ }));
24
+ }
25
+ //# sourceMappingURL=filePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativeChatSdkFilePicker","_interopRequireDefault","require","e","__esModule","default","pickFiles","FilePicker","Error","picked","pick","multiple","length","map","f","uri","name","type","mime","size","undefined"],"sourceRoot":"..\\..\\src","sources":["filePicker.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGzD;AACO,eAAeG,SAASA,CAAA,EAAsC;EACnE,IAAI,CAACC,gCAAU,EAAE;IACf,MAAM,IAAIC,KAAK,CACb,2DAA2D,GAC3D,uEACF,CAAC;EACH;EAEA,MAAMC,MAAM,GAAG,MAAMF,gCAAU,CAACG,IAAI,CAAC;IAAEC,QAAQ,EAAE;EAAK,CAAC,CAAC;EACxD,IAAI,CAACF,MAAM,IAAIA,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAE/C,OAAOH,MAAM,CAACI,GAAG,CAAEC,CAAC,KAAM;IACxBC,GAAG,EAAED,CAAC,CAACC,GAAG;IACVC,IAAI,EAAEF,CAAC,CAACE,IAAI;IACZC,IAAI,EAAEH,CAAC,CAACI,IAAI,IAAI,0BAA0B;IAC1CC,IAAI,EAAEL,CAAC,CAACK,IAAI,GAAG,CAAC,GAAGL,CAAC,CAACK,IAAI,GAAGC;EAC9B,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ChatSDK", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ChatSDK.ChatSDK;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ChatScreen", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ChatScreen.ChatScreen;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useChat", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useChat.useChat;
22
+ }
23
+ });
24
+ var _ChatSDK = require("./ChatSDK.js");
25
+ var _ChatScreen = require("./components/ChatScreen.js");
26
+ var _useChat = require("./useChat.js");
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ChatSDK","require","_ChatScreen","_useChat"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.onDownloadProgress = onDownloadProgress;
8
+ var _reactNative = require("react-native");
9
+ const MODULE_NAME = 'ChatSdkDownloader';
10
+ function loadModule() {
11
+ try {
12
+ return _reactNative.TurboModuleRegistry.get(MODULE_NAME);
13
+ } catch {
14
+ return _reactNative.NativeModules[MODULE_NAME] ?? null;
15
+ }
16
+ }
17
+ const moduleRef = loadModule();
18
+ var _default = exports.default = moduleRef;
19
+ let emitter = null;
20
+ function getEmitter() {
21
+ if (!moduleRef) return null;
22
+ if (!emitter) emitter = new _reactNative.NativeEventEmitter(moduleRef);
23
+ return emitter;
24
+ }
25
+ function onDownloadProgress(handler) {
26
+ return getEmitter()?.addListener('ChatSdkDownloadProgress', handler) ?? null;
27
+ }
28
+ //# sourceMappingURL=NativeChatSdkDownloader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","MODULE_NAME","loadModule","TurboModuleRegistry","get","NativeModules","moduleRef","_default","exports","default","emitter","getEmitter","NativeEventEmitter","onDownloadProgress","handler","addListener"],"sourceRoot":"..\\..\\..\\src","sources":["native/NativeChatSdkDownloader.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAsBA,MAAMC,WAAW,GAAG,mBAAmB;AAEvC,SAASC,UAAUA,CAAA,EAAgB;EACjC,IAAI;IACF,OAAOC,gCAAmB,CAACC,GAAG,CAAOH,WAAW,CAAC;EACnD,CAAC,CAAC,MAAM;IACN,OAAQI,0BAAa,CAACJ,WAAW,CAAC,IAAyB,IAAI;EACjE;AACF;AAEA,MAAMK,SAAS,GAAGJ,UAAU,CAAC,CAAC;AAAA,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEfH,SAAS;AAExB,IAAII,OAAkC,GAAG,IAAI;AAE7C,SAASC,UAAUA,CAAA,EAA8B;EAC/C,IAAI,CAACL,SAAS,EAAE,OAAO,IAAI;EAC3B,IAAI,CAACI,OAAO,EAAEA,OAAO,GAAG,IAAIE,+BAAkB,CAACN,SAA6B,CAAC;EAC7E,OAAOI,OAAO;AAChB;AAEO,SAASG,kBAAkBA,CAChCC,OAA0C,EAChB;EAC1B,OAAOH,UAAU,CAAC,CAAC,EAAEI,WAAW,CAAC,yBAAyB,EAAED,OAAO,CAAC,IAAI,IAAI;AAC9E","ignoreList":[]}