srs-heritage-chatbot 1.0.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 (187) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +194 -0
  3. package/lib/commonjs/assets/chat-icon-mobile.svg +1 -0
  4. package/lib/commonjs/assets/heritage.png +0 -0
  5. package/lib/commonjs/assets/posiden.svg +51 -0
  6. package/lib/commonjs/components/LoadingTips.js +104 -0
  7. package/lib/commonjs/components/LoadingTips.js.map +1 -0
  8. package/lib/commonjs/components/email.js +461 -0
  9. package/lib/commonjs/components/email.js.map +1 -0
  10. package/lib/commonjs/components/feedback.js +114 -0
  11. package/lib/commonjs/components/feedback.js.map +1 -0
  12. package/lib/commonjs/components/header.js +126 -0
  13. package/lib/commonjs/components/header.js.map +1 -0
  14. package/lib/commonjs/components/input.js +144 -0
  15. package/lib/commonjs/components/input.js.map +1 -0
  16. package/lib/commonjs/components/productCard.js +688 -0
  17. package/lib/commonjs/components/productCard.js.map +1 -0
  18. package/lib/commonjs/components/progressCircle.js +99 -0
  19. package/lib/commonjs/components/progressCircle.js.map +1 -0
  20. package/lib/commonjs/components/testing.js +74 -0
  21. package/lib/commonjs/components/testing.js.map +1 -0
  22. package/lib/commonjs/components/voice.js +184 -0
  23. package/lib/commonjs/components/voice.js.map +1 -0
  24. package/lib/commonjs/components/welcomeButton.js +149 -0
  25. package/lib/commonjs/components/welcomeButton.js.map +1 -0
  26. package/lib/commonjs/components/welcomeInput.js +137 -0
  27. package/lib/commonjs/components/welcomeInput.js.map +1 -0
  28. package/lib/commonjs/contexts/AppContext.js +552 -0
  29. package/lib/commonjs/contexts/AppContext.js.map +1 -0
  30. package/lib/commonjs/hooks/Stream.js +599 -0
  31. package/lib/commonjs/hooks/Stream.js.map +1 -0
  32. package/lib/commonjs/hooks/useAsyncStorage.js +36 -0
  33. package/lib/commonjs/hooks/useAsyncStorage.js.map +1 -0
  34. package/lib/commonjs/index.js +44 -0
  35. package/lib/commonjs/index.js.map +1 -0
  36. package/lib/commonjs/layout/disclaimer.js +208 -0
  37. package/lib/commonjs/layout/disclaimer.js.map +1 -0
  38. package/lib/commonjs/layout/ex.js +254 -0
  39. package/lib/commonjs/layout/ex.js.map +1 -0
  40. package/lib/commonjs/layout/icon.js +118 -0
  41. package/lib/commonjs/layout/icon.js.map +1 -0
  42. package/lib/commonjs/layout/layout.js +168 -0
  43. package/lib/commonjs/layout/layout.js.map +1 -0
  44. package/lib/commonjs/layout/welcome.js +160 -0
  45. package/lib/commonjs/layout/welcome.js.map +1 -0
  46. package/lib/commonjs/layout/window.js +396 -0
  47. package/lib/commonjs/layout/window.js.map +1 -0
  48. package/lib/commonjs/utils/audioRecorder.js +412 -0
  49. package/lib/commonjs/utils/audioRecorder.js.map +1 -0
  50. package/lib/commonjs/utils/cloudinary.js +69 -0
  51. package/lib/commonjs/utils/cloudinary.js.map +1 -0
  52. package/lib/commonjs/utils/storage.js +76 -0
  53. package/lib/commonjs/utils/storage.js.map +1 -0
  54. package/lib/commonjs/utils/textToSpeech.js +53 -0
  55. package/lib/commonjs/utils/textToSpeech.js.map +1 -0
  56. package/lib/module/assets/chat-icon-mobile.svg +1 -0
  57. package/lib/module/assets/heritage.png +0 -0
  58. package/lib/module/assets/posiden.svg +51 -0
  59. package/lib/module/components/LoadingTips.js +95 -0
  60. package/lib/module/components/LoadingTips.js.map +1 -0
  61. package/lib/module/components/email.js +452 -0
  62. package/lib/module/components/email.js.map +1 -0
  63. package/lib/module/components/feedback.js +105 -0
  64. package/lib/module/components/feedback.js.map +1 -0
  65. package/lib/module/components/header.js +117 -0
  66. package/lib/module/components/header.js.map +1 -0
  67. package/lib/module/components/input.js +135 -0
  68. package/lib/module/components/input.js.map +1 -0
  69. package/lib/module/components/productCard.js +679 -0
  70. package/lib/module/components/productCard.js.map +1 -0
  71. package/lib/module/components/progressCircle.js +91 -0
  72. package/lib/module/components/progressCircle.js.map +1 -0
  73. package/lib/module/components/testing.js +66 -0
  74. package/lib/module/components/testing.js.map +1 -0
  75. package/lib/module/components/voice.js +175 -0
  76. package/lib/module/components/voice.js.map +1 -0
  77. package/lib/module/components/welcomeButton.js +140 -0
  78. package/lib/module/components/welcomeButton.js.map +1 -0
  79. package/lib/module/components/welcomeInput.js +128 -0
  80. package/lib/module/components/welcomeInput.js.map +1 -0
  81. package/lib/module/contexts/AppContext.js +542 -0
  82. package/lib/module/contexts/AppContext.js.map +1 -0
  83. package/lib/module/hooks/Stream.js +592 -0
  84. package/lib/module/hooks/Stream.js.map +1 -0
  85. package/lib/module/hooks/useAsyncStorage.js +29 -0
  86. package/lib/module/hooks/useAsyncStorage.js.map +1 -0
  87. package/lib/module/index.js +36 -0
  88. package/lib/module/index.js.map +1 -0
  89. package/lib/module/layout/disclaimer.js +199 -0
  90. package/lib/module/layout/disclaimer.js.map +1 -0
  91. package/lib/module/layout/ex.js +253 -0
  92. package/lib/module/layout/ex.js.map +1 -0
  93. package/lib/module/layout/icon.js +108 -0
  94. package/lib/module/layout/icon.js.map +1 -0
  95. package/lib/module/layout/layout.js +160 -0
  96. package/lib/module/layout/layout.js.map +1 -0
  97. package/lib/module/layout/welcome.js +150 -0
  98. package/lib/module/layout/welcome.js.map +1 -0
  99. package/lib/module/layout/window.js +387 -0
  100. package/lib/module/layout/window.js.map +1 -0
  101. package/lib/module/utils/audioRecorder.js +398 -0
  102. package/lib/module/utils/audioRecorder.js.map +1 -0
  103. package/lib/module/utils/cloudinary.js +61 -0
  104. package/lib/module/utils/cloudinary.js.map +1 -0
  105. package/lib/module/utils/storage.js +67 -0
  106. package/lib/module/utils/storage.js.map +1 -0
  107. package/lib/module/utils/textToSpeech.js +43 -0
  108. package/lib/module/utils/textToSpeech.js.map +1 -0
  109. package/lib/typescript/components/LoadingTips.d.ts +3 -0
  110. package/lib/typescript/components/LoadingTips.d.ts.map +1 -0
  111. package/lib/typescript/components/email.d.ts +6 -0
  112. package/lib/typescript/components/email.d.ts.map +1 -0
  113. package/lib/typescript/components/feedback.d.ts +6 -0
  114. package/lib/typescript/components/feedback.d.ts.map +1 -0
  115. package/lib/typescript/components/header.d.ts +3 -0
  116. package/lib/typescript/components/header.d.ts.map +1 -0
  117. package/lib/typescript/components/input.d.ts +6 -0
  118. package/lib/typescript/components/input.d.ts.map +1 -0
  119. package/lib/typescript/components/productCard.d.ts +7 -0
  120. package/lib/typescript/components/productCard.d.ts.map +1 -0
  121. package/lib/typescript/components/progressCircle.d.ts +3 -0
  122. package/lib/typescript/components/progressCircle.d.ts.map +1 -0
  123. package/lib/typescript/components/testing.d.ts +6 -0
  124. package/lib/typescript/components/testing.d.ts.map +1 -0
  125. package/lib/typescript/components/voice.d.ts +5 -0
  126. package/lib/typescript/components/voice.d.ts.map +1 -0
  127. package/lib/typescript/components/welcomeButton.d.ts +4 -0
  128. package/lib/typescript/components/welcomeButton.d.ts.map +1 -0
  129. package/lib/typescript/components/welcomeInput.d.ts +6 -0
  130. package/lib/typescript/components/welcomeInput.d.ts.map +1 -0
  131. package/lib/typescript/contexts/AppContext.d.ts +10 -0
  132. package/lib/typescript/contexts/AppContext.d.ts.map +1 -0
  133. package/lib/typescript/hooks/Stream.d.ts +2 -0
  134. package/lib/typescript/hooks/Stream.d.ts.map +1 -0
  135. package/lib/typescript/hooks/useAsyncStorage.d.ts +2 -0
  136. package/lib/typescript/hooks/useAsyncStorage.d.ts.map +1 -0
  137. package/lib/typescript/index.d.ts +8 -0
  138. package/lib/typescript/index.d.ts.map +1 -0
  139. package/lib/typescript/layout/disclaimer.d.ts +5 -0
  140. package/lib/typescript/layout/disclaimer.d.ts.map +1 -0
  141. package/lib/typescript/layout/ex.d.ts +1 -0
  142. package/lib/typescript/layout/ex.d.ts.map +1 -0
  143. package/lib/typescript/layout/icon.d.ts +3 -0
  144. package/lib/typescript/layout/icon.d.ts.map +1 -0
  145. package/lib/typescript/layout/layout.d.ts +3 -0
  146. package/lib/typescript/layout/layout.d.ts.map +1 -0
  147. package/lib/typescript/layout/welcome.d.ts +6 -0
  148. package/lib/typescript/layout/welcome.d.ts.map +1 -0
  149. package/lib/typescript/layout/window.d.ts +5 -0
  150. package/lib/typescript/layout/window.d.ts.map +1 -0
  151. package/lib/typescript/utils/audioRecorder.d.ts +9 -0
  152. package/lib/typescript/utils/audioRecorder.d.ts.map +1 -0
  153. package/lib/typescript/utils/cloudinary.d.ts +17 -0
  154. package/lib/typescript/utils/cloudinary.d.ts.map +1 -0
  155. package/lib/typescript/utils/storage.d.ts +29 -0
  156. package/lib/typescript/utils/storage.d.ts.map +1 -0
  157. package/lib/typescript/utils/textToSpeech.d.ts +2 -0
  158. package/lib/typescript/utils/textToSpeech.d.ts.map +1 -0
  159. package/package.json +109 -0
  160. package/src/assets/chat-icon-mobile.svg +1 -0
  161. package/src/assets/heritage.png +0 -0
  162. package/src/assets/posiden.svg +51 -0
  163. package/src/components/LoadingTips.js +99 -0
  164. package/src/components/email.js +467 -0
  165. package/src/components/feedback.js +114 -0
  166. package/src/components/header.js +119 -0
  167. package/src/components/input.js +133 -0
  168. package/src/components/productCard.js +815 -0
  169. package/src/components/progressCircle.js +88 -0
  170. package/src/components/testing.js +60 -0
  171. package/src/components/voice.js +228 -0
  172. package/src/components/welcomeButton.js +161 -0
  173. package/src/components/welcomeInput.js +133 -0
  174. package/src/contexts/AppContext.js +678 -0
  175. package/src/hooks/Stream.js +655 -0
  176. package/src/hooks/useAsyncStorage.js +33 -0
  177. package/src/index.js +30 -0
  178. package/src/layout/disclaimer.js +231 -0
  179. package/src/layout/ex.js +252 -0
  180. package/src/layout/icon.js +105 -0
  181. package/src/layout/layout.js +160 -0
  182. package/src/layout/welcome.js +172 -0
  183. package/src/layout/window.js +476 -0
  184. package/src/utils/audioRecorder.js +445 -0
  185. package/src/utils/cloudinary.js +61 -0
  186. package/src/utils/storage.ts +89 -0
  187. package/src/utils/textToSpeech.js +49 -0
@@ -0,0 +1,387 @@
1
+ import React, { useState, useEffect, useContext, useRef } from 'react';
2
+ import { Text, StyleSheet, View, TextInput, TouchableOpacity, Platform, KeyboardAvoidingView, Keyboard, Animated, Linking, Button } from 'react-native';
3
+ import { Header } from '../components/header';
4
+ import { AppContext } from '../contexts/AppContext';
5
+ import Ionicons from 'react-native-vector-icons/Ionicons';
6
+ import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
7
+ import { Testing } from '../components/testing';
8
+ import { ChatInput } from '../components/input';
9
+ import { useWebSocketMessage } from '../hooks/Stream';
10
+ import { ProductCard } from '../components/productCard';
11
+ import Markdown from 'react-native-markdown-display';
12
+ import { Feedback } from '../components/feedback';
13
+ import { ProgressCircle } from '../components/progressCircle';
14
+ export const ChatWindow = ({
15
+ panHandlers
16
+ }) => {
17
+ const {
18
+ handleSend,
19
+ messages,
20
+ input,
21
+ setInput,
22
+ ghostMessage,
23
+ handleButtonClick,
24
+ onProductCardClick,
25
+ onAddToCartClick,
26
+ uiConfig,
27
+ ghostCard,
28
+ typingIndicator,
29
+ feedbackOpen,
30
+ setFeedbackOpen,
31
+ theme
32
+ } = useContext(AppContext);
33
+ const scrollViewRef = useRef(null);
34
+ const fadeAnim = useRef(new Animated.Value(0.6)).current;
35
+ const [messageCount, setMessageCount] = useState(messages.length);
36
+ useEffect(() => {
37
+ if (scrollViewRef.current) {
38
+ const timeoutId = setTimeout(() => {
39
+ if (scrollViewRef.current) {
40
+ scrollViewRef.current.scrollToEnd({
41
+ animated: false
42
+ });
43
+ }
44
+ }, 100);
45
+ return () => clearTimeout(timeoutId);
46
+ }
47
+ }, []);
48
+ useEffect(() => {
49
+ if (ghostMessage) {
50
+ Animated.loop(Animated.sequence([Animated.timing(fadeAnim, {
51
+ toValue: 1,
52
+ duration: 500,
53
+ useNativeDriver: false
54
+ }), Animated.timing(fadeAnim, {
55
+ toValue: 0.6,
56
+ duration: 500,
57
+ useNativeDriver: false
58
+ })])).start();
59
+ }
60
+ }, [ghostMessage]);
61
+ // useEffect(() => {
62
+ // if (messages.length === 0) {
63
+ // return;
64
+ // }
65
+ // console.log('=== CHATWINDOW DEBUG ===');
66
+ // console.log('Total messages:', messages.length);
67
+ // messages.forEach((msg, idx) => {
68
+ // if (msg.products && msg.products.length > 0) {
69
+ // console.log(' ✅ PRODUCTS FOUND IN MESSAGE', idx);
70
+ // console.log(' Products:', msg.products.length, 'items');
71
+ // msg.products.forEach((prod, pIdx) => {
72
+ // console.log(` Product ${pIdx}:`, prod);
73
+ // });
74
+ // }
75
+ // });
76
+ // }, [messages]);
77
+
78
+ useWebSocketMessage();
79
+ const openLink = url => {
80
+ Linking.openURL(url);
81
+ };
82
+ return /*#__PURE__*/React.createElement(View, {
83
+ style: styles.container
84
+ }, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Header, null)), /*#__PURE__*/React.createElement(KeyboardAwareScrollView, {
85
+ ref: scrollViewRef,
86
+ contentContainerStyle: styles.messagesContent,
87
+ enableOnAndroid: true,
88
+ enableOnIOS: true,
89
+ contentInsetAdjustmentBehavior: "never",
90
+ automaticallyAdjustContentInsets: false,
91
+ contentInset: {
92
+ bottom: 0
93
+ },
94
+ keyboardShouldPersistTaps: "handled",
95
+ showsVerticalScrollIndicator: false,
96
+ extraScrollHeight: 200,
97
+ onContentSizeChange: (contentWidth, contentHeight) => {
98
+ const currentLength = messages.length;
99
+ if (currentLength > messageCount) {
100
+ var _scrollViewRef$curren;
101
+ (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 || _scrollViewRef$curren.scrollToEnd({
102
+ animated: true
103
+ });
104
+ setMessageCount(currentLength);
105
+ } else if (currentLength == messageCount) {
106
+ const isAnyFeedbackOpen = Object.values(feedbackOpen).some(isOpen => isOpen === true);
107
+ if (isAnyFeedbackOpen) {
108
+ // Do nothing, prevent scrolling
109
+ } else {
110
+ if (typingIndicator) {
111
+ var _scrollViewRef$curren2;
112
+ (_scrollViewRef$curren2 = scrollViewRef.current) === null || _scrollViewRef$curren2 === void 0 || _scrollViewRef$curren2.scrollToEnd({
113
+ animated: true
114
+ });
115
+ }
116
+ }
117
+ setMessageCount(currentLength);
118
+ } else if (currentLength < messageCount) {
119
+ setMessageCount(currentLength);
120
+ }
121
+ },
122
+ keyboardDismissMode: "none",
123
+ bounces: false,
124
+ enableResetScrollToCoords: false,
125
+ keyboardOpeningTime: 0
126
+ }, messages.map((msg, i) => {
127
+ // Add inline debug logging during render
128
+ const hasProducts = msg.products && msg.products.length > 0;
129
+ return /*#__PURE__*/React.createElement(View, {
130
+ key: msg.id || msg.message_id || i,
131
+ style: styles.messageWrapper
132
+ }, msg.type !== 'middle' && msg.text && /*#__PURE__*/React.createElement(View, {
133
+ style: [styles.messageBubble, msg.type === 'user' ? [styles.userMessage, {
134
+ backgroundColor: theme.userMessage
135
+ }] : styles.aiMessage]
136
+ }, /*#__PURE__*/React.createElement(Markdown, {
137
+ style: {
138
+ body: {
139
+ color: msg.type === 'user' ? '#ffffff' : '#161616',
140
+ fontSize: 16,
141
+ lineHeight: 22,
142
+ includeFontPadding: false,
143
+ textAlignVertical: 'center'
144
+ }
145
+ }
146
+ }, typeof msg.text === 'string' ? msg.text : String(msg.text || '')), msg.type == 'ai' && i != 0 && msg.message_id && /*#__PURE__*/React.createElement(Feedback, {
147
+ message: msg,
148
+ messageId: msg.message_id
149
+ })), msg.type == 'middle' && /*#__PURE__*/React.createElement(View, {
150
+ style: [styles.middleMessageBubble, styles.middleMessage]
151
+ }, /*#__PURE__*/React.createElement(Text, {
152
+ style: {
153
+ marginRight: 10,
154
+ marginTop: 10
155
+ },
156
+ allowFontScaling: false
157
+ }, /*#__PURE__*/React.createElement(Ionicons, {
158
+ name: "sparkles-outline",
159
+ size: 16,
160
+ color: "#161616"
161
+ })), /*#__PURE__*/React.createElement(View, {
162
+ style: styles.middleMessageText
163
+ }, /*#__PURE__*/React.createElement(Markdown, {
164
+ style: {
165
+ body: {
166
+ color: msg.type === 'user' ? '#ffffff' : '#161616',
167
+ fontSize: 16,
168
+ lineHeight: 22,
169
+ includeFontPadding: false,
170
+ textAlignVertical: 'center'
171
+ }
172
+ }
173
+ }, typeof msg.text === 'string' ? msg.text : String(msg.text || '')))), hasProducts && /*#__PURE__*/React.createElement(View, null, msg.products.map((prod, index) => {
174
+ return /*#__PURE__*/React.createElement(View, {
175
+ key: index,
176
+ style: styles.productCardWrapper
177
+ }, /*#__PURE__*/React.createElement(ProductCard, {
178
+ prod: prod,
179
+ messageId: msg.message_id
180
+ }));
181
+ })), msg.resource && msg.resource.length > 0 && msg.resource_type == 'video' && /*#__PURE__*/React.createElement(TouchableOpacity, {
182
+ style: styles.resourceButton,
183
+ onPress: () => openLink(msg.resource)
184
+ }, /*#__PURE__*/React.createElement(Text, {
185
+ style: styles.resourceText
186
+ }, "Watch Video"), /*#__PURE__*/React.createElement(Ionicons, {
187
+ name: "link",
188
+ size: 20,
189
+ color: "white",
190
+ style: styles.icon
191
+ })), msg.suggested_questions && Array.isArray(msg.questions) && msg.questions.length > 0 && msg.questions.map((question, index) => /*#__PURE__*/React.createElement(TouchableOpacity, {
192
+ key: index,
193
+ style: [styles.suggestedQuestionButton, {
194
+ borderColor: theme.primaryColor
195
+ }],
196
+ onPress: () => handleButtonClick(question)
197
+ }, /*#__PURE__*/React.createElement(Text, {
198
+ style: [styles.suggestedQuestionText, {
199
+ color: theme.primaryColor
200
+ }]
201
+ }, question))), ghostMessage && i === messages.length - 1 && /*#__PURE__*/React.createElement(View, {
202
+ style: styles.ghostMessageContainer
203
+ }, /*#__PURE__*/React.createElement(Animated.View, {
204
+ style: [styles.ghostBar, styles.ghostBarShort, {
205
+ opacity: fadeAnim
206
+ }]
207
+ }), /*#__PURE__*/React.createElement(Animated.View, {
208
+ style: [styles.ghostBar, styles.ghostBarLong, {
209
+ opacity: fadeAnim
210
+ }]
211
+ }), /*#__PURE__*/React.createElement(Animated.View, {
212
+ style: [styles.ghostBar, styles.ghostBarMedium, {
213
+ opacity: fadeAnim
214
+ }]
215
+ })), ghostCard && i === messages.length - 1 && /*#__PURE__*/React.createElement(View, {
216
+ style: styles.ghostCardContainer
217
+ }, /*#__PURE__*/React.createElement(View, {
218
+ style: styles.ghostSquare
219
+ }), /*#__PURE__*/React.createElement(View, {
220
+ style: styles.ghostBarsContainer
221
+ }, /*#__PURE__*/React.createElement(Animated.View, {
222
+ style: [styles.ghostBar, styles.ghostBarShort, {
223
+ opacity: fadeAnim
224
+ }]
225
+ }), /*#__PURE__*/React.createElement(Animated.View, {
226
+ style: [styles.ghostBar, styles.ghostBarLong, {
227
+ opacity: fadeAnim
228
+ }]
229
+ }), /*#__PURE__*/React.createElement(Animated.View, {
230
+ style: [styles.ghostBar, styles.ghostBarMedium, {
231
+ opacity: fadeAnim
232
+ }]
233
+ }))));
234
+ })), /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
235
+ behavior: Platform.OS === 'ios' ? 'padding' : 'height',
236
+ keyboardVerticalOffset: Platform.OS === 'ios' ? 10 : 0,
237
+ style: {
238
+ width: '100%'
239
+ }
240
+ }, uiConfig.testButtons && /*#__PURE__*/React.createElement(Testing, {
241
+ onProductCardClick: onProductCardClick,
242
+ onAddToCartClick: onAddToCartClick
243
+ }), !typingIndicator ? /*#__PURE__*/React.createElement(ChatInput, null) : /*#__PURE__*/React.createElement(ProgressCircle, null)));
244
+ };
245
+ const styles = StyleSheet.create({
246
+ container: {
247
+ flex: 1
248
+ },
249
+ messagesContent: {
250
+ padding: 16,
251
+ justifyContent: 'flex-end',
252
+ paddingBottom: 300
253
+ },
254
+ messageWrapper: {
255
+ marginBottom: 0
256
+ },
257
+ messageBubble: {
258
+ padding: 6,
259
+ paddingHorizontal: 16,
260
+ borderRadius: 12,
261
+ marginBottom: 5
262
+ },
263
+ userMessage: {
264
+ alignSelf: 'flex-end',
265
+ backgroundColor: '#437D3D',
266
+ color: '#ffffff',
267
+ borderTopRightRadius: 0
268
+ },
269
+ aiMessage: {
270
+ alignSelf: 'flex-start',
271
+ backgroundColor: '#FFFFFF',
272
+ width: '100%'
273
+ },
274
+ productCardWrapper: {
275
+ marginTop: 5
276
+ },
277
+ suggestedQuestionButton: {
278
+ backgroundColor: 'white',
279
+ borderWidth: 1,
280
+ borderColor: '#437D3D',
281
+ borderRadius: 18,
282
+ paddingVertical: 10,
283
+ paddingHorizontal: 16,
284
+ marginBottom: 7,
285
+ alignSelf: 'flex-start'
286
+ },
287
+ suggestedQuestionText: {
288
+ color: '#437D3D',
289
+ fontSize: 13,
290
+ textAlign: 'left',
291
+ includeFontPadding: false,
292
+ textAlignVertical: 'center'
293
+ },
294
+ ghostMessageContainer: {
295
+ alignSelf: 'flex-start',
296
+ width: '100%',
297
+ backgroundColor: '#FFFFFF',
298
+ borderRadius: 10,
299
+ borderTopLeftRadius: 0,
300
+ padding: 14,
301
+ marginVertical: 5
302
+ },
303
+ ghostBar: {
304
+ height: 20,
305
+ borderRadius: 10,
306
+ backgroundColor: '#ebebeb',
307
+ marginVertical: 3
308
+ },
309
+ ghostBarShort: {
310
+ width: '50%'
311
+ },
312
+ ghostBarMedium: {
313
+ width: '75%'
314
+ },
315
+ ghostBarLong: {
316
+ width: '100%'
317
+ },
318
+ ghostCardContainer: {
319
+ flexDirection: 'row',
320
+ // Arrange elements in a row
321
+ alignItems: 'center',
322
+ // Vertically align items
323
+ width: '100%',
324
+ backgroundColor: '#FFFFFF',
325
+ borderRadius: 10,
326
+ borderTopLeftRadius: 0,
327
+ padding: 14,
328
+ marginVertical: 5
329
+ },
330
+ ghostSquare: {
331
+ width: '25%',
332
+ // Takes up 25% of the container
333
+ aspectRatio: 1,
334
+ // Makes it a square
335
+ backgroundColor: '#ebebeb',
336
+ // Adjust color if needed
337
+ borderRadius: 8
338
+ },
339
+ ghostBarsContainer: {
340
+ width: '75%',
341
+ // Takes up 75% of the container
342
+ paddingLeft: 10 // Adds some spacing from the square
343
+ },
344
+ resourceButton: {
345
+ flexDirection: 'row',
346
+ alignItems: 'center',
347
+ backgroundColor: '#367CB6',
348
+ paddingVertical: 10,
349
+ paddingHorizontal: 15,
350
+ marginBottom: 5,
351
+ borderRadius: 5,
352
+ alignSelf: 'flex-start'
353
+ },
354
+ resourceText: {
355
+ color: 'white',
356
+ fontSize: 16,
357
+ marginRight: 8,
358
+ includeFontPadding: false,
359
+ textAlignVertical: 'center'
360
+ },
361
+ middleMessageBubble: {
362
+ padding: 6,
363
+ paddingHorizontal: 16,
364
+ borderRadius: 12,
365
+ marginBottom: 5,
366
+ flexDirection: 'row',
367
+ alignItems: 'flex-start'
368
+ },
369
+ middleMessage: {
370
+ color: '#161616',
371
+ alignSelf: 'flex-start',
372
+ backgroundColor: '#e7decd',
373
+ //'#e0f4fc',
374
+ width: '100%'
375
+ },
376
+ middleMessageText: {
377
+ flex: 1,
378
+ flexShrink: 1
379
+ }
380
+ });
381
+ {
382
+ /* <Testing
383
+ onProductCardClick={onProductCardClick}
384
+ onAddToCartClick={onAddToCartClick}
385
+ /> */
386
+ }
387
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","useContext","useRef","Text","StyleSheet","View","TextInput","TouchableOpacity","Platform","KeyboardAvoidingView","Keyboard","Animated","Linking","Button","Header","AppContext","Ionicons","KeyboardAwareScrollView","Testing","ChatInput","useWebSocketMessage","ProductCard","Markdown","Feedback","ProgressCircle","ChatWindow","panHandlers","handleSend","messages","input","setInput","ghostMessage","handleButtonClick","onProductCardClick","onAddToCartClick","uiConfig","ghostCard","typingIndicator","feedbackOpen","setFeedbackOpen","theme","scrollViewRef","fadeAnim","Value","current","messageCount","setMessageCount","length","timeoutId","setTimeout","scrollToEnd","animated","clearTimeout","loop","sequence","timing","toValue","duration","useNativeDriver","start","openLink","url","openURL","createElement","style","styles","container","ref","contentContainerStyle","messagesContent","enableOnAndroid","enableOnIOS","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","contentInset","bottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","extraScrollHeight","onContentSizeChange","contentWidth","contentHeight","currentLength","_scrollViewRef$curren","isAnyFeedbackOpen","Object","values","some","isOpen","_scrollViewRef$curren2","keyboardDismissMode","bounces","enableResetScrollToCoords","keyboardOpeningTime","map","msg","i","hasProducts","products","key","id","message_id","messageWrapper","type","text","messageBubble","userMessage","backgroundColor","aiMessage","body","color","fontSize","lineHeight","includeFontPadding","textAlignVertical","String","message","messageId","middleMessageBubble","middleMessage","marginRight","marginTop","allowFontScaling","name","size","middleMessageText","prod","index","productCardWrapper","resource","resource_type","resourceButton","onPress","resourceText","icon","suggested_questions","Array","isArray","questions","question","suggestedQuestionButton","borderColor","primaryColor","suggestedQuestionText","ghostMessageContainer","ghostBar","ghostBarShort","opacity","ghostBarLong","ghostBarMedium","ghostCardContainer","ghostSquare","ghostBarsContainer","behavior","OS","keyboardVerticalOffset","width","testButtons","create","flex","padding","justifyContent","paddingBottom","marginBottom","paddingHorizontal","borderRadius","alignSelf","borderTopRightRadius","borderWidth","paddingVertical","textAlign","borderTopLeftRadius","marginVertical","height","flexDirection","alignItems","aspectRatio","paddingLeft","flexShrink"],"sourceRoot":"../../../src","sources":["layout/window.js"],"mappings":"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","ignoreList":[]}