@developer_tribe/react-native-comnyx 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/lib/commonjs/App.js +59 -0
  2. package/lib/commonjs/App.js.map +1 -0
  3. package/lib/commonjs/__dev__.js +29 -0
  4. package/lib/commonjs/__dev__.js.map +1 -0
  5. package/lib/commonjs/api/api.js +22 -0
  6. package/lib/commonjs/api/api.js.map +1 -0
  7. package/lib/commonjs/api/conversations.js +37 -0
  8. package/lib/commonjs/api/conversations.js.map +1 -0
  9. package/lib/commonjs/api/customers.js +15 -0
  10. package/lib/commonjs/api/customers.js.map +1 -0
  11. package/lib/commonjs/api/index.js +33 -0
  12. package/lib/commonjs/api/index.js.map +1 -0
  13. package/lib/commonjs/api/messages.js +27 -0
  14. package/lib/commonjs/api/messages.js.map +1 -0
  15. package/lib/commonjs/assets/clock.png +0 -0
  16. package/lib/commonjs/assets/double-check.png +0 -0
  17. package/lib/commonjs/assets/down.png +0 -0
  18. package/lib/commonjs/assets/send.png +0 -0
  19. package/lib/commonjs/components/AppText.js +38 -0
  20. package/lib/commonjs/components/AppText.js.map +1 -0
  21. package/lib/commonjs/components/ChatList.js +268 -0
  22. package/lib/commonjs/components/ChatList.js.map +1 -0
  23. package/lib/commonjs/components/CustomerForm.js +213 -0
  24. package/lib/commonjs/components/CustomerForm.js.map +1 -0
  25. package/lib/commonjs/components/EmptyList.js +40 -0
  26. package/lib/commonjs/components/EmptyList.js.map +1 -0
  27. package/lib/commonjs/components/InitFailed.js +51 -0
  28. package/lib/commonjs/components/InitFailed.js.map +1 -0
  29. package/lib/commonjs/components/MessageInput.js +119 -0
  30. package/lib/commonjs/components/MessageInput.js.map +1 -0
  31. package/lib/commonjs/components/MessageItem.js +117 -0
  32. package/lib/commonjs/components/MessageItem.js.map +1 -0
  33. package/lib/commonjs/constants/translations.js +219 -0
  34. package/lib/commonjs/constants/translations.js.map +1 -0
  35. package/lib/commonjs/data/fake/conversations.js +95 -0
  36. package/lib/commonjs/data/fake/conversations.js.map +1 -0
  37. package/lib/commonjs/data/fake/customers.js +24 -0
  38. package/lib/commonjs/data/fake/customers.js.map +1 -0
  39. package/lib/commonjs/data/fake/messages.js +67 -0
  40. package/lib/commonjs/data/fake/messages.js.map +1 -0
  41. package/lib/commonjs/hooks/useLocalize.js +20 -0
  42. package/lib/commonjs/hooks/useLocalize.js.map +1 -0
  43. package/lib/commonjs/hooks/usePolling.js +50 -0
  44. package/lib/commonjs/hooks/usePolling.js.map +1 -0
  45. package/lib/commonjs/hooks/useThemeColors.js +17 -0
  46. package/lib/commonjs/hooks/useThemeColors.js.map +1 -0
  47. package/lib/commonjs/index.js +15 -6
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/register.js +21 -0
  50. package/lib/commonjs/register.js.map +1 -0
  51. package/lib/commonjs/store.js +79 -0
  52. package/lib/commonjs/store.js.map +1 -0
  53. package/lib/commonjs/types/ApiOptions.js +2 -0
  54. package/lib/commonjs/types/ApiOptions.js.map +1 -0
  55. package/lib/commonjs/types/Conversation.js +2 -0
  56. package/lib/commonjs/types/Conversation.js.map +1 -0
  57. package/lib/commonjs/types/Customer.js +2 -0
  58. package/lib/commonjs/types/Customer.js.map +1 -0
  59. package/lib/commonjs/types/Language.js +2 -0
  60. package/lib/commonjs/types/Language.js.map +1 -0
  61. package/lib/commonjs/types/LocalizationKeys.js +2 -0
  62. package/lib/commonjs/types/LocalizationKeys.js.map +1 -0
  63. package/lib/commonjs/types/MessageResponse.js +2 -0
  64. package/lib/commonjs/types/MessageResponse.js.map +1 -0
  65. package/lib/commonjs/types/Theme.js +29 -0
  66. package/lib/commonjs/types/Theme.js.map +1 -0
  67. package/lib/commonjs/utils/date.js +17 -0
  68. package/lib/commonjs/utils/date.js.map +1 -0
  69. package/lib/module/App.js +55 -0
  70. package/lib/module/App.js.map +1 -0
  71. package/lib/module/__dev__.js +29 -0
  72. package/lib/module/__dev__.js.map +1 -0
  73. package/lib/module/api/api.js +17 -0
  74. package/lib/module/api/api.js.map +1 -0
  75. package/lib/module/api/conversations.js +32 -0
  76. package/lib/module/api/conversations.js.map +1 -0
  77. package/lib/module/api/customers.js +11 -0
  78. package/lib/module/api/customers.js.map +1 -0
  79. package/lib/module/api/index.js +6 -0
  80. package/lib/module/api/index.js.map +1 -0
  81. package/lib/module/api/messages.js +23 -0
  82. package/lib/module/api/messages.js.map +1 -0
  83. package/lib/module/assets/clock.png +0 -0
  84. package/lib/module/assets/double-check.png +0 -0
  85. package/lib/module/assets/down.png +0 -0
  86. package/lib/module/assets/send.png +0 -0
  87. package/lib/module/components/AppText.js +34 -0
  88. package/lib/module/components/AppText.js.map +1 -0
  89. package/lib/module/components/ChatList.js +265 -0
  90. package/lib/module/components/ChatList.js.map +1 -0
  91. package/lib/module/components/CustomerForm.js +209 -0
  92. package/lib/module/components/CustomerForm.js.map +1 -0
  93. package/lib/module/components/EmptyList.js +36 -0
  94. package/lib/module/components/EmptyList.js.map +1 -0
  95. package/lib/module/components/InitFailed.js +47 -0
  96. package/lib/module/components/InitFailed.js.map +1 -0
  97. package/lib/module/components/MessageInput.js +115 -0
  98. package/lib/module/components/MessageInput.js.map +1 -0
  99. package/lib/module/components/MessageItem.js +114 -0
  100. package/lib/module/components/MessageItem.js.map +1 -0
  101. package/lib/module/constants/translations.js +215 -0
  102. package/lib/module/constants/translations.js.map +1 -0
  103. package/lib/module/data/fake/conversations.js +88 -0
  104. package/lib/module/data/fake/conversations.js.map +1 -0
  105. package/lib/module/data/fake/customers.js +20 -0
  106. package/lib/module/data/fake/customers.js.map +1 -0
  107. package/lib/module/data/fake/messages.js +63 -0
  108. package/lib/module/data/fake/messages.js.map +1 -0
  109. package/lib/module/hooks/useLocalize.js +16 -0
  110. package/lib/module/hooks/useLocalize.js.map +1 -0
  111. package/lib/module/hooks/usePolling.js +46 -0
  112. package/lib/module/hooks/usePolling.js.map +1 -0
  113. package/lib/module/hooks/useThemeColors.js +13 -0
  114. package/lib/module/hooks/useThemeColors.js.map +1 -0
  115. package/lib/module/index.js +3 -4
  116. package/lib/module/index.js.map +1 -1
  117. package/lib/module/register.js +17 -0
  118. package/lib/module/register.js.map +1 -0
  119. package/lib/module/store.js +74 -0
  120. package/lib/module/store.js.map +1 -0
  121. package/lib/module/types/ApiOptions.js +2 -0
  122. package/lib/module/types/ApiOptions.js.map +1 -0
  123. package/lib/module/types/Conversation.js +2 -0
  124. package/lib/module/types/Conversation.js.map +1 -0
  125. package/lib/module/types/Customer.js +2 -0
  126. package/lib/module/types/Customer.js.map +1 -0
  127. package/lib/module/types/Language.js +2 -0
  128. package/lib/module/types/Language.js.map +1 -0
  129. package/lib/module/types/LocalizationKeys.js +2 -0
  130. package/lib/module/types/LocalizationKeys.js.map +1 -0
  131. package/lib/module/types/MessageResponse.js +2 -0
  132. package/lib/module/types/MessageResponse.js.map +1 -0
  133. package/lib/module/types/Theme.js +25 -0
  134. package/lib/module/types/Theme.js.map +1 -0
  135. package/lib/module/utils/date.js +12 -0
  136. package/lib/module/utils/date.js.map +1 -0
  137. package/lib/typescript/commonjs/src/App.d.ts +9 -0
  138. package/lib/typescript/commonjs/src/App.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/__dev__.d.ts +2 -0
  140. package/lib/typescript/commonjs/src/__dev__.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/api/api.d.ts +4 -0
  142. package/lib/typescript/commonjs/src/api/api.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/api/conversations.d.ts +7 -0
  144. package/lib/typescript/commonjs/src/api/conversations.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/src/api/customers.d.ts +4 -0
  146. package/lib/typescript/commonjs/src/api/customers.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/api/index.d.ts +4 -0
  148. package/lib/typescript/commonjs/src/api/index.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/api/messages.d.ts +4 -0
  150. package/lib/typescript/commonjs/src/api/messages.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/components/AppText.d.ts +10 -0
  152. package/lib/typescript/commonjs/src/components/AppText.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/components/ChatList.d.ts +2 -0
  154. package/lib/typescript/commonjs/src/components/ChatList.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/src/components/CustomerForm.d.ts +2 -0
  156. package/lib/typescript/commonjs/src/components/CustomerForm.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/src/components/EmptyList.d.ts +2 -0
  158. package/lib/typescript/commonjs/src/components/EmptyList.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/src/components/InitFailed.d.ts +6 -0
  160. package/lib/typescript/commonjs/src/components/InitFailed.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/src/components/MessageInput.d.ts +4 -0
  162. package/lib/typescript/commonjs/src/components/MessageInput.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/src/components/MessageItem.d.ts +5 -0
  164. package/lib/typescript/commonjs/src/components/MessageItem.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/src/constants/translations.d.ts +4 -0
  166. package/lib/typescript/commonjs/src/constants/translations.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/src/data/fake/conversations.d.ts +5 -0
  168. package/lib/typescript/commonjs/src/data/fake/conversations.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/src/data/fake/customers.d.ts +3 -0
  170. package/lib/typescript/commonjs/src/data/fake/customers.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/src/data/fake/messages.d.ts +3 -0
  172. package/lib/typescript/commonjs/src/data/fake/messages.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts +3 -0
  174. package/lib/typescript/commonjs/src/hooks/useLocalize.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/src/hooks/usePolling.d.ts +2 -0
  176. package/lib/typescript/commonjs/src/hooks/usePolling.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts +3 -0
  178. package/lib/typescript/commonjs/src/hooks/useThemeColors.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/src/index.d.ts +4 -1
  180. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/register.d.ts +5 -0
  182. package/lib/typescript/commonjs/src/register.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/store.d.ts +35 -0
  184. package/lib/typescript/commonjs/src/store.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/src/types/ApiOptions.d.ts +4 -0
  186. package/lib/typescript/commonjs/src/types/ApiOptions.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/src/types/Conversation.d.ts +26 -0
  188. package/lib/typescript/commonjs/src/types/Conversation.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/src/types/Customer.d.ts +30 -0
  190. package/lib/typescript/commonjs/src/types/Customer.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/types/Language.d.ts +2 -0
  192. package/lib/typescript/commonjs/src/types/Language.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts +22 -0
  194. package/lib/typescript/commonjs/src/types/LocalizationKeys.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/src/types/MessageResponse.d.ts +59 -0
  196. package/lib/typescript/commonjs/src/types/MessageResponse.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/src/types/Theme.d.ts +18 -0
  198. package/lib/typescript/commonjs/src/types/Theme.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/src/utils/date.d.ts +7 -0
  200. package/lib/typescript/commonjs/src/utils/date.d.ts.map +1 -0
  201. package/lib/typescript/module/src/App.d.ts +9 -0
  202. package/lib/typescript/module/src/App.d.ts.map +1 -0
  203. package/lib/typescript/module/src/__dev__.d.ts +2 -0
  204. package/lib/typescript/module/src/__dev__.d.ts.map +1 -0
  205. package/lib/typescript/module/src/api/api.d.ts +4 -0
  206. package/lib/typescript/module/src/api/api.d.ts.map +1 -0
  207. package/lib/typescript/module/src/api/conversations.d.ts +7 -0
  208. package/lib/typescript/module/src/api/conversations.d.ts.map +1 -0
  209. package/lib/typescript/module/src/api/customers.d.ts +4 -0
  210. package/lib/typescript/module/src/api/customers.d.ts.map +1 -0
  211. package/lib/typescript/module/src/api/index.d.ts +4 -0
  212. package/lib/typescript/module/src/api/index.d.ts.map +1 -0
  213. package/lib/typescript/module/src/api/messages.d.ts +4 -0
  214. package/lib/typescript/module/src/api/messages.d.ts.map +1 -0
  215. package/lib/typescript/module/src/components/AppText.d.ts +10 -0
  216. package/lib/typescript/module/src/components/AppText.d.ts.map +1 -0
  217. package/lib/typescript/module/src/components/ChatList.d.ts +2 -0
  218. package/lib/typescript/module/src/components/ChatList.d.ts.map +1 -0
  219. package/lib/typescript/module/src/components/CustomerForm.d.ts +2 -0
  220. package/lib/typescript/module/src/components/CustomerForm.d.ts.map +1 -0
  221. package/lib/typescript/module/src/components/EmptyList.d.ts +2 -0
  222. package/lib/typescript/module/src/components/EmptyList.d.ts.map +1 -0
  223. package/lib/typescript/module/src/components/InitFailed.d.ts +6 -0
  224. package/lib/typescript/module/src/components/InitFailed.d.ts.map +1 -0
  225. package/lib/typescript/module/src/components/MessageInput.d.ts +4 -0
  226. package/lib/typescript/module/src/components/MessageInput.d.ts.map +1 -0
  227. package/lib/typescript/module/src/components/MessageItem.d.ts +5 -0
  228. package/lib/typescript/module/src/components/MessageItem.d.ts.map +1 -0
  229. package/lib/typescript/module/src/constants/translations.d.ts +4 -0
  230. package/lib/typescript/module/src/constants/translations.d.ts.map +1 -0
  231. package/lib/typescript/module/src/data/fake/conversations.d.ts +5 -0
  232. package/lib/typescript/module/src/data/fake/conversations.d.ts.map +1 -0
  233. package/lib/typescript/module/src/data/fake/customers.d.ts +3 -0
  234. package/lib/typescript/module/src/data/fake/customers.d.ts.map +1 -0
  235. package/lib/typescript/module/src/data/fake/messages.d.ts +3 -0
  236. package/lib/typescript/module/src/data/fake/messages.d.ts.map +1 -0
  237. package/lib/typescript/module/src/hooks/useLocalize.d.ts +3 -0
  238. package/lib/typescript/module/src/hooks/useLocalize.d.ts.map +1 -0
  239. package/lib/typescript/module/src/hooks/usePolling.d.ts +2 -0
  240. package/lib/typescript/module/src/hooks/usePolling.d.ts.map +1 -0
  241. package/lib/typescript/module/src/hooks/useThemeColors.d.ts +3 -0
  242. package/lib/typescript/module/src/hooks/useThemeColors.d.ts.map +1 -0
  243. package/lib/typescript/module/src/index.d.ts +4 -1
  244. package/lib/typescript/module/src/index.d.ts.map +1 -1
  245. package/lib/typescript/module/src/register.d.ts +5 -0
  246. package/lib/typescript/module/src/register.d.ts.map +1 -0
  247. package/lib/typescript/module/src/store.d.ts +35 -0
  248. package/lib/typescript/module/src/store.d.ts.map +1 -0
  249. package/lib/typescript/module/src/types/ApiOptions.d.ts +4 -0
  250. package/lib/typescript/module/src/types/ApiOptions.d.ts.map +1 -0
  251. package/lib/typescript/module/src/types/Conversation.d.ts +26 -0
  252. package/lib/typescript/module/src/types/Conversation.d.ts.map +1 -0
  253. package/lib/typescript/module/src/types/Customer.d.ts +30 -0
  254. package/lib/typescript/module/src/types/Customer.d.ts.map +1 -0
  255. package/lib/typescript/module/src/types/Language.d.ts +2 -0
  256. package/lib/typescript/module/src/types/Language.d.ts.map +1 -0
  257. package/lib/typescript/module/src/types/LocalizationKeys.d.ts +22 -0
  258. package/lib/typescript/module/src/types/LocalizationKeys.d.ts.map +1 -0
  259. package/lib/typescript/module/src/types/MessageResponse.d.ts +59 -0
  260. package/lib/typescript/module/src/types/MessageResponse.d.ts.map +1 -0
  261. package/lib/typescript/module/src/types/Theme.d.ts +18 -0
  262. package/lib/typescript/module/src/types/Theme.d.ts.map +1 -0
  263. package/lib/typescript/module/src/utils/date.d.ts +7 -0
  264. package/lib/typescript/module/src/utils/date.d.ts.map +1 -0
  265. package/package.json +10 -2
  266. package/src/App.tsx +59 -0
  267. package/src/__dev__.ts +22 -0
  268. package/src/api/api.ts +16 -0
  269. package/src/api/conversations.ts +53 -0
  270. package/src/api/customers.ts +16 -0
  271. package/src/api/index.ts +6 -0
  272. package/src/api/messages.ts +33 -0
  273. package/src/assets/clock.png +0 -0
  274. package/src/assets/double-check.png +0 -0
  275. package/src/assets/down.png +0 -0
  276. package/src/assets/send.png +0 -0
  277. package/src/components/AppText.tsx +43 -0
  278. package/src/components/ChatList.tsx +305 -0
  279. package/src/components/CustomerForm.tsx +203 -0
  280. package/src/components/EmptyList.tsx +32 -0
  281. package/src/components/InitFailed.tsx +46 -0
  282. package/src/components/MessageInput.tsx +133 -0
  283. package/src/components/MessageItem.tsx +141 -0
  284. package/src/constants/translations.ts +232 -0
  285. package/src/data/fake/conversations.ts +558 -0
  286. package/src/data/fake/customers.ts +19 -0
  287. package/src/data/fake/messages.ts +64 -0
  288. package/src/hooks/useLocalize.ts +18 -0
  289. package/src/hooks/usePolling.ts +46 -0
  290. package/src/hooks/useThemeColors.ts +10 -0
  291. package/src/index.tsx +4 -5
  292. package/src/register.ts +17 -0
  293. package/src/store.ts +85 -0
  294. package/src/types/ApiOptions.ts +4 -0
  295. package/src/types/Conversation.ts +29 -0
  296. package/src/types/Customer.ts +31 -0
  297. package/src/types/Language.ts +11 -0
  298. package/src/types/LocalizationKeys.ts +21 -0
  299. package/src/types/MessageResponse.ts +58 -0
  300. package/src/types/Theme.ts +40 -0
  301. package/src/utils/date.ts +11 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { useAppStore } from "../store.js";
5
+ import { FlatList, View, useWindowDimensions, ActivityIndicator, Image, TouchableOpacity } from 'react-native';
6
+ import { getCustomerConversation } from "../api/index.js";
7
+ import { StyleSheet } from 'react-native';
8
+ import { MessageItem } from "./MessageItem.js";
9
+ import { MessageInput } from "./MessageInput.js";
10
+ import { useThemeColors } from "../hooks/useThemeColors.js";
11
+ import { AppText } from "./AppText.js";
12
+ import { InitFailed } from "./InitFailed.js";
13
+ import { EmptyList } from "./EmptyList.js";
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ function LoadingItem() {
16
+ const themeColors = useThemeColors();
17
+ return /*#__PURE__*/_jsx(View, {
18
+ style: [styles.loadingItem, {
19
+ backgroundColor: themeColors.background
20
+ }],
21
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
22
+ size: "large",
23
+ color: themeColors.primary
24
+ })
25
+ });
26
+ }
27
+ export function ChatList() {
28
+ const themeColors = useThemeColors();
29
+ const {
30
+ height: windowHeight
31
+ } = useWindowDimensions();
32
+ const MESSAGE_MIN_HEIGHT = 60;
33
+ const FLATLIST_PADDING = 20;
34
+ const MESSAGES_PER_PAGE = Math.ceil((windowHeight - FLATLIST_PADDING) / MESSAGE_MIN_HEIGHT);
35
+ const [loading, setLoading] = useState(true);
36
+ const {
37
+ customer,
38
+ data,
39
+ setData
40
+ } = useAppStore(s => ({
41
+ customer: s.customer,
42
+ data: s.data,
43
+ setData: s.setData
44
+ }));
45
+ const ref = useRef(null);
46
+ const [page, setPage] = useState(1);
47
+ const nextPageStatus = useRef();
48
+ const [nexPageFailed, setNexPageFailed] = useState(false);
49
+ const [initFailed, setInitFailed] = useState(false);
50
+ const [isScrollingUp, setIsScrollingUp] = useState(false);
51
+ const listChangedRef = useRef(false);
52
+ const nextPage = useCallback(() => {
53
+ if (nextPageStatus.current) {
54
+ return;
55
+ }
56
+ nextPageStatus.current = 'loading';
57
+ if (customer?.external_id) {
58
+ const newPage = page + 1;
59
+ setPage(newPage);
60
+ const firstMessage = useAppStore.getState().firstMessage;
61
+ getCustomerConversation(customer?.external_id, firstMessage?.created_at, newPage, {
62
+ fake: useAppStore.getState().fake,
63
+ per_page: MESSAGES_PER_PAGE
64
+ }).then(newData => {
65
+ listChangedRef.current = true;
66
+ setData(prevData => {
67
+ const newMessages = newData.page.data;
68
+ const existingIds = new Set(prevData?.map(msg => msg.id));
69
+ const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
70
+ const processedMessages = uniqueNewMessages.map(u => ({
71
+ ...u,
72
+ created_at: new Date(u.created_at),
73
+ approved: true
74
+ }));
75
+ if (processedMessages.length === 0) {
76
+ nextPageStatus.current = 'empty';
77
+ } else {
78
+ nextPageStatus.current = undefined;
79
+ }
80
+ return [...(prevData ?? []), ...processedMessages];
81
+ });
82
+ }).catch(_ => {
83
+ nextPageStatus.current = 'fail';
84
+ setNexPageFailed(true);
85
+ }).finally(() => {
86
+ setLoading(false);
87
+ });
88
+ }
89
+ }, [MESSAGES_PER_PAGE, customer?.external_id, page, setData]);
90
+ const renderItem = useCallback(({
91
+ item
92
+ }) => /*#__PURE__*/_jsx(MessageItem, {
93
+ item: item
94
+ }), []);
95
+ const handleScroll = useCallback(event => {
96
+ const currentScrollY = event.nativeEvent.contentOffset.y;
97
+ const contentHeight = event.nativeEvent.contentSize.height;
98
+ const scrollViewHeight = event.nativeEvent.layoutMeasurement.height;
99
+ setIsScrollingUp(currentScrollY < 100);
100
+ if (currentScrollY >= contentHeight - scrollViewHeight - 200) {
101
+ nextPage();
102
+ }
103
+ }, [nextPage]);
104
+ const scrollToBottom = useCallback(animated => {
105
+ if (ref.current && data?.length) {
106
+ ref.current.scrollToOffset({
107
+ offset: 0,
108
+ animated
109
+ });
110
+ }
111
+ }, [data]);
112
+ useEffect(() => {
113
+ if (customer?.external_id && !initFailed) {
114
+ getCustomerConversation(customer?.external_id, new Date(), 1, {
115
+ fake: useAppStore.getState().fake,
116
+ per_page: MESSAGES_PER_PAGE
117
+ }).then(newData => {
118
+ setData(prevData => {
119
+ const newMessages = newData.page.data;
120
+ const existingIds = new Set(prevData?.map(msg => msg.id));
121
+ const uniqueNewMessages = newMessages.filter(msg => !existingIds.has(msg.id));
122
+ const processedMessages = uniqueNewMessages.map(u => ({
123
+ ...u,
124
+ created_at: new Date(u.created_at),
125
+ approved: true
126
+ }));
127
+ useAppStore.setState({
128
+ firstMessage: processedMessages[0]
129
+ });
130
+ if (processedMessages.length === 0) {
131
+ setLoading(false);
132
+ }
133
+ return processedMessages;
134
+ });
135
+ scrollToBottom(false);
136
+ }).catch(e => {
137
+ setInitFailed(true);
138
+ console.error(e);
139
+ });
140
+ }
141
+ }, [MESSAGES_PER_PAGE, customer?.external_id, initFailed, scrollToBottom, setData]);
142
+ if (nexPageFailed) {
143
+ return /*#__PURE__*/_jsx(View, {
144
+ style: [styles.retryContainer, {
145
+ backgroundColor: themeColors.background
146
+ }],
147
+ children: /*#__PURE__*/_jsx(TouchableOpacity, {
148
+ style: [styles.retryButton, {
149
+ backgroundColor: themeColors.primary
150
+ }],
151
+ onPress: () => {
152
+ setNexPageFailed(false);
153
+ nextPageStatus.current = undefined;
154
+ nextPage();
155
+ },
156
+ children: /*#__PURE__*/_jsx(AppText, {
157
+ localization: "chat.load.error",
158
+ style: [styles.retryText, {
159
+ color: themeColors.background
160
+ }]
161
+ })
162
+ })
163
+ });
164
+ }
165
+ if (initFailed) {
166
+ return /*#__PURE__*/_jsx(InitFailed, {
167
+ setInitFailed: setInitFailed
168
+ });
169
+ }
170
+ return /*#__PURE__*/_jsxs(View, {
171
+ style: [styles.container, {
172
+ backgroundColor: themeColors.background
173
+ }],
174
+ children: [/*#__PURE__*/_jsx(FlatList, {
175
+ ref: ref,
176
+ data: data,
177
+ inverted: true,
178
+ renderItem: renderItem,
179
+ contentContainerStyle: [styles.contentContainer, {
180
+ backgroundColor: themeColors.background
181
+ }],
182
+ style: styles.list,
183
+ ListEmptyComponent: !loading && (!data || data.length === 0) ? /*#__PURE__*/_jsx(EmptyList, {}) : null,
184
+ ListFooterComponent: loading ? /*#__PURE__*/_jsx(LoadingItem, {}) : null,
185
+ keyExtractor: item => item.id + '-' + item.created_at,
186
+ removeClippedSubviews: true,
187
+ maxToRenderPerBatch: 10,
188
+ windowSize: 21,
189
+ initialNumToRender: MESSAGES_PER_PAGE,
190
+ getItemLayout: (_, index) => ({
191
+ length: MESSAGE_MIN_HEIGHT + 10,
192
+ offset: (MESSAGE_MIN_HEIGHT + 10) * index,
193
+ index
194
+ }),
195
+ onScroll: handleScroll,
196
+ scrollEventThrottle: 16
197
+ }), isScrollingUp && /*#__PURE__*/_jsx(TouchableOpacity, {
198
+ style: [styles.scrollDownButton, {
199
+ backgroundColor: themeColors.background
200
+ }],
201
+ onPress: () => scrollToBottom(true),
202
+ children: /*#__PURE__*/_jsx(Image, {
203
+ source: require('../assets/down.png'),
204
+ style: [styles.scrollUpIcon, {
205
+ tintColor: themeColors.text
206
+ }]
207
+ })
208
+ }), /*#__PURE__*/_jsx(MessageInput, {
209
+ scrollToBottom: scrollToBottom
210
+ })]
211
+ });
212
+ }
213
+ const styles = StyleSheet.create({
214
+ container: {
215
+ flex: 1
216
+ },
217
+ list: {
218
+ flex: 1
219
+ },
220
+ contentContainer: {
221
+ paddingVertical: 10,
222
+ paddingHorizontal: 10
223
+ },
224
+ loadingItem: {
225
+ height: 200,
226
+ alignItems: 'center',
227
+ justifyContent: 'center'
228
+ },
229
+ scrollDownButton: {
230
+ position: 'absolute',
231
+ right: 20,
232
+ bottom: '15%',
233
+ borderRadius: 25,
234
+ padding: 10,
235
+ shadowColor: '#000',
236
+ shadowOffset: {
237
+ width: 0,
238
+ height: 2
239
+ },
240
+ shadowOpacity: 0.25,
241
+ shadowRadius: 3.84,
242
+ elevation: 5
243
+ },
244
+ scrollUpIcon: {
245
+ width: 24,
246
+ height: 24
247
+ },
248
+ retryContainer: {
249
+ flex: 1,
250
+ alignItems: 'center',
251
+ justifyContent: 'center',
252
+ padding: 20
253
+ },
254
+ retryButton: {
255
+ padding: 15,
256
+ borderRadius: 8,
257
+ alignItems: 'center',
258
+ justifyContent: 'center'
259
+ },
260
+ retryText: {
261
+ fontSize: 16,
262
+ fontWeight: '500'
263
+ }
264
+ });
265
+ //# sourceMappingURL=ChatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","useAppStore","FlatList","View","useWindowDimensions","ActivityIndicator","Image","TouchableOpacity","getCustomerConversation","StyleSheet","MessageItem","MessageInput","useThemeColors","AppText","InitFailed","EmptyList","jsx","_jsx","jsxs","_jsxs","LoadingItem","themeColors","style","styles","loadingItem","backgroundColor","background","children","size","color","primary","ChatList","height","windowHeight","MESSAGE_MIN_HEIGHT","FLATLIST_PADDING","MESSAGES_PER_PAGE","Math","ceil","loading","setLoading","customer","data","setData","s","ref","page","setPage","nextPageStatus","nexPageFailed","setNexPageFailed","initFailed","setInitFailed","isScrollingUp","setIsScrollingUp","listChangedRef","nextPage","current","external_id","newPage","firstMessage","getState","created_at","fake","per_page","then","newData","prevData","newMessages","existingIds","Set","map","msg","id","uniqueNewMessages","filter","has","processedMessages","u","Date","approved","length","undefined","catch","_","finally","renderItem","item","handleScroll","event","currentScrollY","nativeEvent","contentOffset","y","contentHeight","contentSize","scrollViewHeight","layoutMeasurement","scrollToBottom","animated","scrollToOffset","offset","setState","e","console","error","retryContainer","retryButton","onPress","localization","retryText","container","inverted","contentContainerStyle","contentContainer","list","ListEmptyComponent","ListFooterComponent","keyExtractor","removeClippedSubviews","maxToRenderPerBatch","windowSize","initialNumToRender","getItemLayout","index","onScroll","scrollEventThrottle","scrollDownButton","source","require","scrollUpIcon","tintColor","text","create","flex","paddingVertical","paddingHorizontal","alignItems","justifyContent","position","right","bottom","borderRadius","padding","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/ChatList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+
3
+ import { View, TextInput, StyleSheet, TouchableOpacity } from 'react-native';
4
+ import { useForm, Controller } from 'react-hook-form';
5
+ import { useAppStore } from "../store.js";
6
+ import { createCustomer } from "../api/index.js";
7
+ import { AppText } from "./AppText.js";
8
+ import { useLocalize } from "../hooks/useLocalize.js";
9
+ import { useThemeColors } from "../hooks/useThemeColors.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ export function CustomerForm() {
12
+ const {
13
+ control,
14
+ handleSubmit,
15
+ formState: {
16
+ errors
17
+ }
18
+ } = useForm();
19
+ const themeColors = useThemeColors();
20
+ const localize = useLocalize();
21
+ const inputStyle = {
22
+ ...styles.input,
23
+ color: themeColors.text,
24
+ borderColor: themeColors.border,
25
+ backgroundColor: themeColors.background
26
+ };
27
+ const onSubmit = async data => {
28
+ try {
29
+ const customer = await createCustomer({
30
+ ...data,
31
+ language: 'en',
32
+ externalId: useAppStore.getState().externalId || '',
33
+ ipAddress: '192.168.1.1',
34
+ customParameters: []
35
+ }, {
36
+ fake: useAppStore.getState().fake
37
+ });
38
+ if (customer !== undefined) {
39
+ useAppStore.getState().initForm(customer);
40
+ }
41
+ } catch (error) {
42
+ console.error('Error creating customer:', error);
43
+ }
44
+ };
45
+ return /*#__PURE__*/_jsxs(View, {
46
+ style: [styles.container, {
47
+ backgroundColor: themeColors.background
48
+ }],
49
+ children: [/*#__PURE__*/_jsxs(View, {
50
+ style: styles.headerContainer,
51
+ children: [/*#__PURE__*/_jsx(AppText, {
52
+ localization: "customer.form.title",
53
+ style: [styles.headerText, {
54
+ color: themeColors.text
55
+ }]
56
+ }), /*#__PURE__*/_jsx(AppText, {
57
+ localization: "customer.form.instructions",
58
+ style: [styles.headerText, {
59
+ color: themeColors.text
60
+ }]
61
+ })]
62
+ }), /*#__PURE__*/_jsx(Controller, {
63
+ control: control,
64
+ rules: {
65
+ required: true
66
+ },
67
+ render: ({
68
+ field: {
69
+ onChange,
70
+ value
71
+ }
72
+ }) => /*#__PURE__*/_jsx(TextInput, {
73
+ style: inputStyle,
74
+ placeholder: localize('customer.form.placeholder.name'),
75
+ placeholderTextColor: "#6C757D",
76
+ value: value,
77
+ onChangeText: onChange
78
+ }),
79
+ name: "name"
80
+ }), errors.name && /*#__PURE__*/_jsx(AppText, {
81
+ localization: "customer.form.error",
82
+ style: [styles.error, {
83
+ color: themeColors.error
84
+ }]
85
+ }), /*#__PURE__*/_jsx(Controller, {
86
+ control: control,
87
+ rules: {
88
+ required: true
89
+ },
90
+ render: ({
91
+ field: {
92
+ onChange,
93
+ value
94
+ }
95
+ }) => /*#__PURE__*/_jsx(TextInput, {
96
+ style: inputStyle,
97
+ placeholder: localize('customer.form.placeholder.country'),
98
+ placeholderTextColor: "#6C757D",
99
+ value: value,
100
+ onChangeText: onChange
101
+ }),
102
+ name: "country"
103
+ }), errors.country && /*#__PURE__*/_jsx(AppText, {
104
+ localization: "customer.form.error.country",
105
+ style: [styles.error, {
106
+ color: themeColors.error
107
+ }]
108
+ }), /*#__PURE__*/_jsx(Controller, {
109
+ control: control,
110
+ rules: {
111
+ required: true,
112
+ pattern: /^\S+@\S+$/i
113
+ },
114
+ render: ({
115
+ field: {
116
+ onChange,
117
+ value
118
+ }
119
+ }) => /*#__PURE__*/_jsx(TextInput, {
120
+ style: inputStyle,
121
+ placeholder: localize('customer.form.placeholder.email'),
122
+ placeholderTextColor: "#6C757D",
123
+ value: value,
124
+ onChangeText: onChange,
125
+ keyboardType: "email-address"
126
+ }),
127
+ name: "email"
128
+ }), errors.email && /*#__PURE__*/_jsx(AppText, {
129
+ localization: "customer.form.error.email",
130
+ style: [styles.error, {
131
+ color: themeColors.error
132
+ }]
133
+ }), /*#__PURE__*/_jsx(Controller, {
134
+ control: control,
135
+ rules: {
136
+ required: true
137
+ },
138
+ render: ({
139
+ field: {
140
+ onChange,
141
+ value
142
+ }
143
+ }) => /*#__PURE__*/_jsx(TextInput, {
144
+ style: inputStyle,
145
+ placeholder: localize('customer.form.placeholder.phone'),
146
+ placeholderTextColor: "#6C757D",
147
+ value: value,
148
+ onChangeText: onChange,
149
+ keyboardType: "phone-pad"
150
+ }),
151
+ name: "phone"
152
+ }), errors.phone && /*#__PURE__*/_jsx(AppText, {
153
+ localization: "customer.form.error.phone",
154
+ style: [styles.error, {
155
+ color: themeColors.error
156
+ }]
157
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
158
+ style: [styles.button, {
159
+ backgroundColor: themeColors.primary
160
+ }],
161
+ onPress: handleSubmit(onSubmit),
162
+ children: /*#__PURE__*/_jsx(AppText, {
163
+ localization: "customer.form.submit",
164
+ style: styles.buttonText
165
+ })
166
+ })]
167
+ });
168
+ }
169
+ const styles = StyleSheet.create({
170
+ container: {
171
+ padding: 24,
172
+ flex: 1,
173
+ justifyContent: 'center'
174
+ },
175
+ headerContainer: {
176
+ marginBottom: 24
177
+ },
178
+ headerText: {
179
+ fontSize: 15,
180
+ fontWeight: '600',
181
+ textAlign: 'center'
182
+ },
183
+ input: {
184
+ height: 56,
185
+ borderWidth: 1,
186
+ borderRadius: 12,
187
+ paddingHorizontal: 16,
188
+ fontSize: 16,
189
+ backgroundColor: 'white',
190
+ marginBottom: 16
191
+ },
192
+ button: {
193
+ padding: 16,
194
+ borderRadius: 12,
195
+ alignItems: 'center',
196
+ marginTop: 24
197
+ },
198
+ buttonText: {
199
+ color: 'white',
200
+ fontSize: 16,
201
+ fontWeight: '600'
202
+ },
203
+ error: {
204
+ fontSize: 14,
205
+ marginLeft: 16,
206
+ top: -16
207
+ }
208
+ });
209
+ //# sourceMappingURL=CustomerForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","TextInput","StyleSheet","TouchableOpacity","useForm","Controller","useAppStore","createCustomer","AppText","useLocalize","useThemeColors","jsx","_jsx","jsxs","_jsxs","CustomerForm","control","handleSubmit","formState","errors","themeColors","localize","inputStyle","styles","input","color","text","borderColor","border","backgroundColor","background","onSubmit","data","customer","language","externalId","getState","ipAddress","customParameters","fake","undefined","initForm","error","console","style","container","children","headerContainer","localization","headerText","rules","required","render","field","onChange","value","placeholder","placeholderTextColor","onChangeText","name","country","pattern","keyboardType","email","phone","button","primary","onPress","buttonText","create","padding","flex","justifyContent","marginBottom","fontSize","fontWeight","textAlign","height","borderWidth","borderRadius","paddingHorizontal","alignItems","marginTop","marginLeft","top"],"sourceRoot":"../../../src","sources":["components/CustomerForm.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { View, StyleSheet } from 'react-native';
4
+ import { useThemeColors } from "../hooks/useThemeColors.js";
5
+ import { AppText } from "./AppText.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function EmptyList() {
8
+ const themeColors = useThemeColors();
9
+ return /*#__PURE__*/_jsx(View, {
10
+ style: [styles.container, {
11
+ backgroundColor: themeColors.background
12
+ }],
13
+ children: /*#__PURE__*/_jsx(AppText, {
14
+ localization: "chat.empty",
15
+ style: [styles.text, {
16
+ color: themeColors.text
17
+ }]
18
+ })
19
+ });
20
+ }
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ flex: 1,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ padding: 20,
27
+ transform: [{
28
+ rotate: '180deg'
29
+ }] //TODO: inverted list
30
+ },
31
+ text: {
32
+ fontSize: 16,
33
+ textAlign: 'center'
34
+ }
35
+ });
36
+ //# sourceMappingURL=EmptyList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","StyleSheet","useThemeColors","AppText","jsx","_jsx","EmptyList","themeColors","style","styles","container","backgroundColor","background","children","localization","text","color","create","flex","alignItems","justifyContent","padding","transform","rotate","fontSize","textAlign"],"sourceRoot":"../../../src","sources":["components/EmptyList.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EAEpC,oBACEG,IAAA,CAACL,IAAI;IACHQ,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEJ,WAAW,CAACK;IAAW,CAAC,CAAE;IAAAC,QAAA,eAEvER,IAAA,CAACF,OAAO;MACNW,YAAY,EAAC,YAAY;MACzBN,KAAK,EAAE,CAACC,MAAM,CAACM,IAAI,EAAE;QAAEC,KAAK,EAAET,WAAW,CAACQ;MAAK,CAAC;IAAE,CACnD;EAAC,CACE,CAAC;AAEX;AAEA,MAAMN,MAAM,GAAGR,UAAU,CAACgB,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAS,CAAC,CAAC,CAAE;EACrC,CAAC;EACDR,IAAI,EAAE;IACJS,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { TouchableOpacity, View, StyleSheet } from 'react-native';
4
+ import { useThemeColors } from "../hooks/useThemeColors.js";
5
+ import { AppText } from "./AppText.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function InitFailed({
8
+ setInitFailed
9
+ }) {
10
+ const themeColors = useThemeColors();
11
+ return /*#__PURE__*/_jsx(View, {
12
+ style: [styles.container, {
13
+ backgroundColor: themeColors.background
14
+ }],
15
+ children: /*#__PURE__*/_jsx(TouchableOpacity, {
16
+ style: [styles.retryButton, {
17
+ backgroundColor: themeColors.primary
18
+ }],
19
+ onPress: () => setInitFailed(false),
20
+ children: /*#__PURE__*/_jsx(AppText, {
21
+ localization: "chat.init.error",
22
+ style: [styles.retryText, {
23
+ color: themeColors.background
24
+ }]
25
+ })
26
+ })
27
+ });
28
+ }
29
+ const styles = StyleSheet.create({
30
+ container: {
31
+ flex: 1,
32
+ alignItems: 'center',
33
+ justifyContent: 'center',
34
+ padding: 20
35
+ },
36
+ retryButton: {
37
+ padding: 15,
38
+ borderRadius: 8,
39
+ alignItems: 'center',
40
+ justifyContent: 'center'
41
+ },
42
+ retryText: {
43
+ fontSize: 16,
44
+ fontWeight: '500'
45
+ }
46
+ });
47
+ //# sourceMappingURL=InitFailed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TouchableOpacity","View","StyleSheet","useThemeColors","AppText","jsx","_jsx","InitFailed","setInitFailed","themeColors","style","styles","container","backgroundColor","background","children","retryButton","primary","onPress","localization","retryText","color","create","flex","alignItems","justifyContent","padding","borderRadius","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/InitFailed.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACjE,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpC,OAAO,SAASC,UAAUA,CAAC;EAAEC;AAA+B,CAAC,EAAE;EAC7D,MAAMC,WAAW,GAAGN,cAAc,CAAC,CAAC;EAEpC,oBACEG,IAAA,CAACL,IAAI;IACHS,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,eAAe,EAAEJ,WAAW,CAACK;IAAW,CAAC,CAAE;IAAAC,QAAA,eAEvET,IAAA,CAACN,gBAAgB;MACfU,KAAK,EAAE,CAACC,MAAM,CAACK,WAAW,EAAE;QAAEH,eAAe,EAAEJ,WAAW,CAACQ;MAAQ,CAAC,CAAE;MACtEC,OAAO,EAAEA,CAAA,KAAMV,aAAa,CAAC,KAAK,CAAE;MAAAO,QAAA,eAEpCT,IAAA,CAACF,OAAO;QACNe,YAAY,EAAC,iBAAiB;QAC9BT,KAAK,EAAE,CAACC,MAAM,CAACS,SAAS,EAAE;UAAEC,KAAK,EAAEZ,WAAW,CAACK;QAAW,CAAC;MAAE,CAC9D;IAAC,CACc;EAAC,CACf,CAAC;AAEX;AAEA,MAAMH,MAAM,GAAGT,UAAU,CAACoB,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE;EACX,CAAC;EACDV,WAAW,EAAE;IACXU,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE,CAAC;IACfH,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDL,SAAS,EAAE;IACTQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}