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 @@
1
+ {"version":3,"file":"productCard.d.ts","sourceRoot":"","sources":["../../../src/components/productCard.js"],"names":[],"mappings":"AAgBO;;;;6BAslBN;kBAtmBsD,OAAO"}
@@ -0,0 +1,3 @@
1
+ export function ProgressCircle(): React.JSX.Element;
2
+ import React from "react";
3
+ //# sourceMappingURL=progressCircle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressCircle.d.ts","sourceRoot":"","sources":["../../../src/components/progressCircle.js"],"names":[],"mappings":"AAKO,oDAkCN;kBAvCoD,OAAO"}
@@ -0,0 +1,6 @@
1
+ export function Testing({ onProductCardClick, onAddToCartClick }: {
2
+ onProductCardClick: any;
3
+ onAddToCartClick: any;
4
+ }): React.JSX.Element;
5
+ import React from 'react';
6
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/components/testing.js"],"names":[],"mappings":"AAGO;;;sBAoCN;kBAvCiB,OAAO"}
@@ -0,0 +1,5 @@
1
+ export function VoiceButton({ setInput }: {
2
+ setInput: any;
3
+ }): React.JSX.Element;
4
+ import React from 'react';
5
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../../src/components/voice.js"],"names":[],"mappings":"AA4BO;;sBAgMN;kBA1NsD,OAAO"}
@@ -0,0 +1,4 @@
1
+ export default ButtonComponent;
2
+ declare function ButtonComponent(): React.JSX.Element;
3
+ import React from 'react';
4
+ //# sourceMappingURL=welcomeButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcomeButton.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeButton.js"],"names":[],"mappings":";AAsBA,sDA+GC;kBApI2C,OAAO"}
@@ -0,0 +1,6 @@
1
+ export function WelcomeInput({ onProductCardClick, onAddToCartClick }: {
2
+ onProductCardClick: any;
3
+ onAddToCartClick: any;
4
+ }): React.JSX.Element;
5
+ import React from 'react';
6
+ //# sourceMappingURL=welcomeInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcomeInput.d.ts","sourceRoot":"","sources":["../../../src/components/welcomeInput.js"],"names":[],"mappings":"AAgBO;;;sBAqEN;kBArF8D,OAAO"}
@@ -0,0 +1,10 @@
1
+ export const AppContext: React.Context<any>;
2
+ export function AppProvider({ data, onProductCardClick, onAddToCartClick, uiConfig, children, }: {
3
+ data: any;
4
+ onProductCardClick: any;
5
+ onAddToCartClick: any;
6
+ uiConfig?: {} | undefined;
7
+ children: any;
8
+ }): React.JSX.Element;
9
+ import React from 'react';
10
+ //# sourceMappingURL=AppContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/AppContext.js"],"names":[],"mappings":"AAWA,4CAA0C;AAEnC;;;;;;sBAwpBN;kBA/pBM,OAAO"}
@@ -0,0 +1,2 @@
1
+ export function useWebSocketMessage(): void;
2
+ //# sourceMappingURL=Stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/hooks/Stream.js"],"names":[],"mappings":"AAGA,4CAsUC"}
@@ -0,0 +1,2 @@
1
+ export default function useAsyncStorage(key: any, defaultValue: any): any[];
2
+ //# sourceMappingURL=useAsyncStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAsyncStorage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAsyncStorage.js"],"names":[],"mappings":"AAGA,4EA6BC"}
@@ -0,0 +1,8 @@
1
+ export function Chat({ data, onProductCardClick, onAddToCartClick, uiConfig }: {
2
+ data: any;
3
+ onProductCardClick: any;
4
+ onAddToCartClick: any;
5
+ uiConfig: any;
6
+ }): React.JSX.Element;
7
+ import React from 'react';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"AAKO;;;;;sBAQN;kBAbiB,OAAO"}
@@ -0,0 +1,5 @@
1
+ export function Disclaimer({ panHandlers }: {
2
+ panHandlers: any;
3
+ }): React.JSX.Element;
4
+ import React from 'react';
5
+ //# sourceMappingURL=disclaimer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclaimer.d.ts","sourceRoot":"","sources":["../../../src/layout/disclaimer.js"],"names":[],"mappings":"AAaO;;sBAkGN;kBA/GiC,OAAO"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ex.d.ts","sourceRoot":"","sources":["../../../src/layout/ex.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export function ChatIcon(): React.JSX.Element;
2
+ import React from 'react';
3
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/layout/icon.js"],"names":[],"mappings":"AAMO,8CAiDN;kBAvDiC,OAAO"}
@@ -0,0 +1,3 @@
1
+ export function Layout(): React.JSX.Element;
2
+ import React from 'react';
3
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/layout/layout.js"],"names":[],"mappings":"AAWO,4CAoHN;kBA/H8D,OAAO"}
@@ -0,0 +1,6 @@
1
+ export function Welcome({ panHandlers }: {
2
+ panHandlers: any;
3
+ }): React.JSX.Element;
4
+ export default Welcome;
5
+ import React from 'react';
6
+ //# sourceMappingURL=welcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../../src/layout/welcome.js"],"names":[],"mappings":"AAeO;;sBAgFN;;kBA9FiC,OAAO"}
@@ -0,0 +1,5 @@
1
+ export function ChatWindow({ panHandlers }: {
2
+ panHandlers: any;
3
+ }): React.JSX.Element;
4
+ import React from 'react';
5
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/layout/window.js"],"names":[],"mappings":"AA0BO;;sBAwTN;kBAlV8D,OAAO"}
@@ -0,0 +1,9 @@
1
+ export function setPermissionStatusHandlers(getter: any, setter: any): void;
2
+ export function initVoice(onResult: any, onPartialResult?: null): Promise<boolean>;
3
+ export function startRecording(): Promise<boolean>;
4
+ export function stopRecording(): Promise<void>;
5
+ export function cancelRecording(): Promise<void>;
6
+ export function requestAudioPermission(): Promise<boolean>;
7
+ export function resetStoredPermission(): boolean;
8
+ export function cleanup(): void;
9
+ //# sourceMappingURL=audioRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"AAqBA,4EAGC;AAGD,mFAoHC;AAmFD,mDAwCC;AAED,+CAoDC;AAED,iDASC;AAED,2DA6BC;AAqDD,iDAMC;AAED,gCAoBC"}
@@ -0,0 +1,17 @@
1
+ export function CloudinaryBannerImage({ cldImg, imageStyle, accessibilityLabel, testID, width, height }: {
2
+ cldImg: any;
3
+ imageStyle: any;
4
+ accessibilityLabel: any;
5
+ testID: any;
6
+ width?: number | undefined;
7
+ height?: number | undefined;
8
+ }): React.JSX.Element;
9
+ export default CloudinaryImage;
10
+ import React from 'react';
11
+ declare function CloudinaryImage({ cldImg, imageStyle, accessibilityLabel, testID }: {
12
+ cldImg: any;
13
+ imageStyle: any;
14
+ accessibilityLabel: any;
15
+ testID: any;
16
+ }): React.JSX.Element;
17
+ //# sourceMappingURL=cloudinary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudinary.d.ts","sourceRoot":"","sources":["../../../src/utils/cloudinary.js"],"names":[],"mappings":"AA4BO;;;;;;;sBA8BN;;kBA1DiC,OAAO;AAOzC;;;;;sBAmBC"}
@@ -0,0 +1,29 @@
1
+ export interface ChatMessage {
2
+ type: string;
3
+ text: string | string[];
4
+ form?: boolean;
5
+ }
6
+ export interface ChatState {
7
+ typingIndicator: boolean;
8
+ ghostMessage: boolean;
9
+ ghostCard: boolean;
10
+ stopActivated: boolean;
11
+ disclaimer: boolean;
12
+ startStreaming: boolean;
13
+ messages: ChatMessage[];
14
+ showIcon: boolean;
15
+ toggleChat: boolean;
16
+ showModal?: string;
17
+ }
18
+ export declare const defaultState: ChatState;
19
+ /**
20
+ * Loads chat state for a specific customer token
21
+ * Returns cached state if available, otherwise loads from AsyncStorage
22
+ */
23
+ export declare const loadChat: (token: string) => Promise<ChatState>;
24
+ /**
25
+ * Updates chat state for a specific customer token
26
+ * Updates both in-memory cache and persists to AsyncStorage
27
+ */
28
+ export declare const updateChat: (token: string, next: ChatState) => Promise<void>;
29
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,eAAO,MAAM,YAAY,EAAE,SAc1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAiB,MAAM,KAAG,QAAQ,SAAS,CAwB/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAiB,MAAM,QAAQ,SAAS,KAAG,QAAQ,IAAI,CAY7E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function TextToSpeech(inputText: any): Promise<void>;
2
+ //# sourceMappingURL=textToSpeech.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textToSpeech.d.ts","sourceRoot":"","sources":["../../../src/utils/textToSpeech.js"],"names":[],"mappings":"AAKO,4DA2CN"}
package/package.json ADDED
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "srs-heritage-chatbot",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "description": "A modern, sophisticated chat interface for React Native",
6
+ "main": "lib/commonjs/index",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "module": "lib/module/index",
9
+ "source": "src/index",
10
+ "react-native": "src/index",
11
+ "files": [
12
+ "lib",
13
+ "src",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "keywords": [
18
+ "react-native",
19
+ "chat",
20
+ "messaging",
21
+ "ui",
22
+ "modern"
23
+ ],
24
+ "author": "bill-instalily",
25
+ "license": "MIT",
26
+ "peerDependencies": {
27
+ "react": "*",
28
+ "react-native": "*"
29
+ },
30
+ "devDependencies": {
31
+ "@babel/core": "^7.25.2",
32
+ "@babel/plugin-transform-runtime": "^7.22.15",
33
+ "@babel/preset-env": "^7.25.3",
34
+ "@babel/preset-react": "^7.20.0",
35
+ "@babel/preset-typescript": "^7.20.0",
36
+ "@babel/runtime": "^7.25.0",
37
+ "@react-native-community/cli": "18.0.0",
38
+ "@react-native-community/cli-platform-android": "18.0.0",
39
+ "@react-native-community/cli-platform-ios": "18.0.0",
40
+ "@react-native/babel-preset": "0.79.6",
41
+ "@react-native/codegen": "^0.73.3",
42
+ "@react-native/eslint-config": "0.79.6",
43
+ "@react-native/metro-config": "0.79.6",
44
+ "@react-native/typescript-config": "0.79.6",
45
+ "@types/jest": "^29.5.13",
46
+ "@types/minimatch": "^5.1.2",
47
+ "@types/react": "^19.0.0",
48
+ "@types/react-native-vector-icons": "^6.4.18",
49
+ "@types/react-test-renderer": "^19.0.0",
50
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
51
+ "@typescript-eslint/parser": "^5.0.0",
52
+ "eslint": "^8.19.0",
53
+ "eslint-plugin-react": "^7.0.0",
54
+ "eslint-plugin-react-native": "^4.0.0",
55
+ "jest": "^29.6.3",
56
+ "metro-react-native-babel-preset": "^0.77.0",
57
+ "patch-package": "^8.0.1",
58
+ "prettier": "2.8.8",
59
+ "react": "18.3.1",
60
+ "react-native": "^0.76.7",
61
+ "react-native-builder-bob": "^0.20.0",
62
+ "react-test-renderer": "19.0.0",
63
+ "typescript": "5.0.4"
64
+ },
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/Instalily/VSA-Heritage-mobile.git"
68
+ },
69
+ "bugs": {
70
+ "url": "https://github.com/Instalily/VSA-Heritage-mobile/issues"
71
+ },
72
+ "homepage": "https://github.com/Instalily/VSA-Heritage-mobile#readme",
73
+ "dependencies": {
74
+ "@react-native-async-storage/async-storage": "^2.1.1",
75
+ "@react-native-community/audio-toolkit": "^2.0.3",
76
+ "@react-native-picker/picker": "^2.11.0",
77
+ "@react-native-voice/voice": "^3.2.4",
78
+ "babel-plugin-module-resolver": "^5.0.2",
79
+ "cloudinary-react-native": "^1.3.0",
80
+ "react-native-audio-recorder-player": "^3.6.12",
81
+ "react-native-eject": "^1.0.2",
82
+ "react-native-keyboard-aware-scroll-view": "^0.9.5",
83
+ "react-native-markdown-display": "^7.0.2",
84
+ "react-native-permissions": "^5.2.6",
85
+ "react-native-uuid": "^2.0.3",
86
+ "react-native-vector-icons": "^10.2.0",
87
+ "react-native-video": "^6.10.2",
88
+ "react-native-web": "~0.19.10"
89
+ },
90
+ "react-native-builder-bob": {
91
+ "source": "src",
92
+ "output": "lib",
93
+ "targets": [
94
+ "commonjs",
95
+ "module",
96
+ "typescript"
97
+ ]
98
+ },
99
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
100
+ "scripts": {
101
+ "build": "bob build",
102
+ "prepare": "bob build",
103
+ "release": "release-it",
104
+ "example": "yarn --cwd example",
105
+ "clean": "rm -rf lib",
106
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
107
+ "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
108
+ }
109
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" fill="#ffffff" viewBox="0 0 256 256"><path d="M132,24A100.11,100.11,0,0,0,32,124v84.33A15.69,15.69,0,0,0,47.67,224H132a100,100,0,0,0,0-200Zm28,128H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z"></path></svg>
Binary file
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 202.1 47.7">
3
+ <!-- Generator: Adobe Illustrator 29.4.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 152) -->
4
+ <defs>
5
+ <style>
6
+ .st0, .st1 {
7
+ fill: #fff;
8
+ }
9
+
10
+ .st1 {
11
+ fill-rule: evenodd;
12
+ }
13
+ </style>
14
+ </defs>
15
+ <g>
16
+ <path class="st0" d="M65.4,7.3c-1.3-.7-2.8-1-4.5-1h-10v23.2h6.3v-6.9h3.5c1.8,0,3.3-.3,4.6-1s2.4-1.6,3.1-2.8c.7-1.2,1.1-2.7,1.1-4.3s-.4-3.1-1.1-4.3c-.7-1.2-1.7-2.2-3-2.9ZM62.5,16.2c-.3.5-.7.9-1.2,1.1-.5.3-1.2.4-1.9.4h-2.2v-6.4h2.2c.7,0,1.4.1,1.9.4.5.3.9.6,1.2,1.1s.4,1,.4,1.7-.1,1.2-.4,1.7Z"/>
17
+ <path class="st0" d="M84.8,12.9c-1.3-.8-3-1.1-4.8-1.1s-3.5.4-4.8,1.1c-1.3.8-2.4,1.8-3.1,3.1-.7,1.3-1.1,2.9-1.1,4.7s.4,3.3,1.1,4.7c.7,1.3,1.7,2.4,3.1,3.1,1.3.8,3,1.1,4.8,1.1s3.5-.4,4.8-1.1c1.3-.8,2.4-1.8,3.1-3.1.7-1.3,1.1-2.9,1.1-4.7s-.4-3.3-1.1-4.7c-.7-1.3-1.7-2.4-3.1-3.1ZM82.3,23.1c-.2.7-.5,1.2-.9,1.5-.4.4-.8.5-1.4.5s-1-.2-1.4-.5c-.4-.4-.7-.9-.9-1.5-.2-.7-.3-1.4-.3-2.3s.1-1.7.3-2.3.5-1.2.9-1.5c.4-.4.9-.5,1.4-.5s1,.2,1.4.5c.4.4.7.9.9,1.5.2.7.3,1.4.3,2.3s-.1,1.7-.3,2.3Z"/>
18
+ <path class="st0" d="M102.5,19l-3.5-.6c-.7-.1-1.1-.3-1.3-.5-.2-.2-.3-.5-.3-.7,0-.4.2-.6.6-.8.4-.2.8-.3,1.4-.3s.8,0,1.1.2c.3.1.6.3.8.6s.3.6.4.9h5.8c0-1.8-.8-3.3-2.3-4.3-1.5-1-3.4-1.6-5.9-1.6s-3.1.2-4.3.7c-1.2.4-2.1,1.1-2.8,1.9-.6.8-1,1.9-1,3.1,0,1.4.4,2.5,1.3,3.4s2.2,1.5,4,1.8l3.1.5c.7.1,1.2.3,1.5.5.3.2.5.5.5.8,0,.4-.2.6-.6.8s-.8.3-1.4.3-1.3-.1-1.8-.4c-.5-.3-.7-.7-.8-1.3h-6.2c.2,1.8,1,3.2,2.5,4.3,1.5,1.1,3.6,1.6,6.2,1.6s3-.2,4.3-.7c1.3-.5,2.2-1.2,3-2.1.7-.9,1.1-2,1.1-3.2,0-1.3-.4-2.3-1.3-3.1s-2.2-1.3-4-1.6Z"/>
19
+ <path class="st0" d="M124.7,14.2c-.8-.8-1.7-1.4-2.7-1.8-1.1-.4-2.3-.6-3.6-.6s-3.4.4-4.7,1.1c-1.3.7-2.3,1.8-3.1,3.1s-1.1,2.9-1.1,4.7.4,3.5,1.1,4.8,1.8,2.4,3.1,3.1c1.3.7,2.9,1.1,4.8,1.1s3-.2,4.2-.7c1.2-.5,2.2-1.2,2.9-2.1.7-.9,1.2-1.9,1.4-3.1h-5.7c-.1.3-.3.6-.6.8-.3.2-.6.4-.9.5-.4.1-.8.2-1.2.2-.6,0-1.1-.1-1.6-.4-.4-.2-.8-.6-1-1-.2-.4-.4-.9-.4-1.5v-.3h11.3v-1.4c0-1.4-.2-2.6-.6-3.7-.4-1.1-1-2-1.7-2.8ZM115.8,18.7c0-.5.1-.9.4-1.3.3-.4.6-.7,1-.9s.9-.3,1.4-.3,1,.1,1.4.3.7.5,1,.9c.2.4.4.8.4,1.3h-5.6Z"/>
20
+ <path class="st0" d="M132.8,10.2c.9,0,1.6-.3,2.2-.8s.9-1.2.9-2-.3-1.5-.9-2-1.3-.8-2.2-.8-1.6.3-2.2.8-.9,1.2-.9,2,.3,1.5.9,2,1.3.8,2.2.8Z"/>
21
+ <rect class="st0" x="129.6" y="12" width="6.2" height="17.4"/>
22
+ <path class="st0" d="M150.3,15.1h0c-.2-.6-.6-1.1-1-1.6-.4-.5-1-.9-1.6-1.2-.6-.3-1.4-.4-2.3-.4s-2.2.3-3.3.9c-1,.6-1.9,1.6-2.5,2.9-.7,1.3-1,3-1,5.1s.3,3.7.9,5c.6,1.3,1.5,2.3,2.5,3,1,.6,2.2,1,3.4,1s1.5-.1,2.2-.4,1.2-.6,1.6-1.1c.4-.5.8-1,1-1.6h.1v2.9h6.2V6.2h-6.2v8.8ZM150.1,22.9c-.2.6-.5,1.1-1,1.4-.4.3-.9.5-1.5.5s-1.1-.2-1.5-.5-.7-.8-.9-1.4c-.2-.6-.3-1.4-.3-2.2s.1-1.6.3-2.2c.2-.6.5-1.1.9-1.4.4-.3.9-.5,1.5-.5s1.1.2,1.5.5c.4.3.7.8,1,1.4.2.6.3,1.4.3,2.2s-.1,1.6-.3,2.2Z"/>
23
+ <path class="st0" d="M172.8,12.9c-1.3-.8-3-1.1-4.8-1.1s-3.5.4-4.8,1.1c-1.3.8-2.4,1.8-3.1,3.1-.7,1.3-1.1,2.9-1.1,4.7s.4,3.3,1.1,4.7c.7,1.3,1.7,2.4,3.1,3.1,1.3.8,3,1.1,4.8,1.1s3.5-.4,4.8-1.1c1.3-.8,2.4-1.8,3.1-3.1.7-1.3,1.1-2.9,1.1-4.7s-.4-3.3-1.1-4.7c-.7-1.3-1.7-2.4-3.1-3.1ZM170.3,23.1c-.2.7-.5,1.2-.9,1.5-.4.4-.8.5-1.4.5s-1-.2-1.4-.5c-.4-.4-.7-.9-.9-1.5-.2-.7-.3-1.4-.3-2.3s.1-1.7.3-2.3.5-1.2.9-1.5c.4-.4.9-.5,1.4-.5s1,.2,1.4.5c.4.4.7.9.9,1.5.2.7.3,1.4.3,2.3s-.1,1.7-.3,2.3Z"/>
24
+ <path class="st0" d="M196.3,15c-.5-1-1.2-1.8-2.1-2.3s-2-.8-3.2-.8-2.4.3-3.3.9c-1,.6-1.6,1.5-2,2.6h-.2v-3.3h-5.9v17.4h6.2v-9.8c0-.6.1-1.1.3-1.5.2-.4.5-.7.9-1s.8-.3,1.3-.3c.8,0,1.4.2,1.8.7.4.5.7,1.2.7,2v9.8h6.2v-11.1c0-1.3-.2-2.4-.7-3.4Z"/>
25
+ </g>
26
+ <g>
27
+ <polygon class="st0" points="52.4 38.2 52.4 38.2 51 35.4 49 35.4 51.5 40.1 51.5 42.2 53.3 42.2 53.3 40.1 55.8 35.4 53.8 35.4 52.4 38.2"/>
28
+ <path class="st0" d="M61.4,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM61,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
29
+ <path class="st0" d="M68.5,39.6c0,.2,0,.4-.1.6,0,.2-.2.3-.4.4s-.4.1-.6.1-.4,0-.6-.1c-.2,0-.3-.2-.4-.4,0-.2-.1-.4-.1-.6v-4.2h-1.9v4.4c0,.5.1,1,.4,1.4.2.4.6.7,1,.9.4.2,1,.3,1.6.3s1.1-.1,1.5-.3c.4-.2.8-.5,1-.9.2-.4.4-.8.4-1.4v-4.4h-1.9v4.2Z"/>
30
+ <path class="st0" d="M76.8,38.9c.2-.3.3-.8.3-1.2s-.1-.9-.3-1.3c-.2-.3-.5-.6-.9-.8s-.8-.3-1.3-.3h-3v6.8h1.9v-2.3h.6l1.2,2.3h2l-1.4-2.6c.4-.2.6-.4.8-.7ZM73.5,36.9h.7c.2,0,.4,0,.6,0,.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5c0,.1-.2.2-.4.3-.2,0-.3,0-.6,0h-.7v-1.7Z"/>
31
+ <path class="st0" d="M85.1,35.7c-.4-.2-.8-.3-1.3-.3h-3v6.8h1.9v-2h1c.5,0,1,0,1.4-.3s.7-.5.9-.8c.2-.4.3-.8.3-1.3s-.1-.9-.3-1.3c-.2-.4-.5-.6-.9-.8ZM84.2,38.3c0,.1-.2.3-.4.3-.2,0-.3.1-.6.1h-.7v-1.9h.7c.2,0,.4,0,.6.1.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5Z"/>
32
+ <polygon class="st0" points="87.4 42.2 92.3 42.2 92.3 40.7 89.3 40.7 89.3 39.5 92.1 39.5 92.1 38 89.3 38 89.3 36.9 92.4 36.9 92.4 35.4 87.4 35.4 87.4 42.2"/>
33
+ <path class="st0" d="M98.9,38.9c.2-.3.3-.8.3-1.2s-.1-.9-.3-1.3c-.2-.3-.5-.6-.9-.8s-.8-.3-1.3-.3h-3v6.8h1.9v-2.3h.6l1.2,2.3h2l-1.4-2.6c.4-.2.6-.4.8-.7ZM95.6,36.9h.7c.2,0,.4,0,.6,0,.2,0,.3.2.4.3,0,.1.1.3.1.5s0,.4-.1.5c0,.1-.2.2-.4.3-.2,0-.3,0-.6,0h-.7v-1.7Z"/>
34
+ <path class="st0" d="M105.6,38.9c-.2-.2-.4-.3-.7-.5-.3-.1-.6-.2-1-.3h-.6c-.2-.2-.3-.2-.4-.2-.1,0-.2,0-.3-.1,0,0-.1-.1-.2-.2,0,0,0-.1,0-.2,0-.1,0-.2,0-.3,0,0,.1-.1.3-.2.1,0,.3,0,.5,0,.3,0,.5,0,.7.2.1.1.2.3.2.5h1.8c0-.4-.1-.8-.3-1.2-.2-.3-.5-.6-.9-.8s-.9-.3-1.4-.3-1,0-1.4.3c-.4.2-.7.4-1,.8-.2.3-.4.7-.3,1.1,0,.5.2,1,.5,1.3.3.3.8.5,1.4.7h.7c.3.2.5.3.6.3.1,0,.3.1.3.2,0,0,0,.2.1.3,0,.1,0,.2-.1.3,0,0-.2.2-.3.2-.1,0-.3,0-.5,0s-.4,0-.6-.1c-.2,0-.3-.2-.4-.3s-.1-.3-.2-.5h-1.8c0,.6.1,1,.4,1.4s.6.6,1,.8c.4.2,1,.3,1.6.3s1.1,0,1.5-.2c.4-.2.7-.4,1-.7.2-.3.3-.7.3-1.1,0-.3,0-.5-.1-.7,0-.2-.2-.4-.4-.6Z"/>
35
+ <path class="st0" d="M112.2,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM111.8,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
36
+ <polygon class="st0" points="119.3 39 119.2 39 116.8 35.4 115.2 35.4 115.2 42.2 117.1 42.2 117.1 38.6 117.1 38.6 119.6 42.2 121.1 42.2 121.1 35.4 119.3 35.4 119.3 39"/>
37
+ <path class="st0" d="M124.5,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM125.1,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
38
+ <polygon class="st0" points="132.3 35.4 130.5 35.4 130.5 42.2 135.1 42.2 135.1 40.7 132.3 40.7 132.3 35.4"/>
39
+ <path class="st0" d="M140.7,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM141.2,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
40
+ <rect class="st0" x="146.6" y="35.4" width="1.9" height="6.8"/>
41
+ <path class="st0" d="M154.7,37.1c.2-.2.5-.2.8-.2s.3,0,.5,0c.1,0,.3.1.4.2,0,0,.2.2.2.3,0,.1,0,.3.1.4h1.9c0-.4-.1-.8-.3-1.1-.2-.3-.4-.6-.7-.8-.3-.2-.6-.4-1-.5s-.8-.2-1.2-.2c-.6,0-1.2.1-1.7.4-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9.7.9,1.2,1.2c.5.3,1.1.4,1.7.4s.9,0,1.3-.2.7-.4,1-.6c.3-.3.5-.5.6-.8.1-.3.2-.6.2-.9h-1.9c0,.1,0,.3-.1.4,0,.1-.1.2-.2.3-.1,0-.2.1-.4.2-.1,0-.3,0-.5,0-.3,0-.6,0-.8-.2s-.4-.4-.5-.6c-.1-.3-.2-.6-.2-1.1s0-.7.2-1,.3-.5.5-.7Z"/>
42
+ <polygon class="st0" points="164.2 38 161.7 38 161.7 35.4 159.9 35.4 159.9 42.2 161.7 42.2 161.7 39.5 164.2 39.5 164.2 42.2 166.1 42.2 166.1 35.4 164.2 35.4 164.2 38"/>
43
+ <path class="st0" d="M169.4,35.4l-2.3,6.8h2l.4-1.3h2.3l.4,1.3h2l-2.3-6.8h-2.5ZM170,39.5l.7-2.3h0l.7,2.3h-1.4Z"/>
44
+ <polygon class="st0" points="174.3 36.9 176.4 36.9 176.4 42.2 178.2 42.2 178.2 36.9 180.3 36.9 180.3 35.4 174.3 35.4 174.3 36.9"/>
45
+ <path class="st0" d="M186.3,38.9c-.2-.1-.5-.2-.8-.2h0c.3-.1.5-.2.7-.4s.4-.3.5-.5.2-.4.2-.7,0-.6-.3-.9c-.2-.3-.5-.5-.8-.6-.4-.1-.8-.2-1.3-.2h-3v6.8h3.2c.5,0,.9,0,1.3-.3.4-.2.6-.4.8-.7.2-.3.3-.6.3-1s0-.6-.2-.8-.3-.4-.6-.6ZM183.3,36.8h.8c.2,0,.4,0,.6.2.2.1.2.3.2.5s0,.3-.1.4c0,0-.2.2-.3.2s-.3,0-.4,0h-.8v-1.3ZM184.9,40.6c-.2.1-.4.2-.7.2h-.9v-1.4h.9c.2,0,.4,0,.5,0,.1,0,.2.1.3.3,0,.1.1.2.1.4,0,.2,0,.4-.2.5Z"/>
46
+ <path class="st0" d="M193.2,35.7c-.5-.3-1.1-.4-1.7-.4s-1.2.1-1.7.4c-.5.3-.9.7-1.2,1.2-.3.5-.4,1.2-.4,1.9s.1,1.4.4,1.9c.3.5.7.9,1.2,1.2.5.3,1.1.4,1.7.4s1.2-.1,1.7-.4c.5-.3.9-.7,1.2-1.2.3-.5.4-1.2.4-1.9s-.1-1.4-.4-1.9c-.3-.5-.7-.9-1.2-1.2ZM192.7,39.8c-.1.3-.3.5-.5.6-.2.1-.5.2-.8.2s-.6,0-.8-.2c-.2-.1-.4-.4-.5-.6-.1-.3-.2-.6-.2-1s0-.8.2-1c.1-.3.3-.5.5-.6.2-.1.5-.2.8-.2s.6,0,.8.2c.2.1.4.4.5.6.1.3.2.6.2,1s0,.8-.2,1Z"/>
47
+ <polygon class="st0" points="195.6 35.4 195.6 36.9 197.7 36.9 197.7 42.2 199.5 42.2 199.5 36.9 201.6 36.9 201.6 35.4 195.6 35.4"/>
48
+ </g>
49
+ <path class="st1" d="M34.7,2.7H5.8c-.9,0-1.7.4-2.3.9-.6.6-1,1.4-1,2.3v35.9c0,.9.4,1.7,1,2.3.6.6,1.4.9,2.3.9h28.9c.9,0,1.7-.4,2.3-.9.6-.6,1-1.4,1-2.3V5.9c0-.9-.4-1.7-1-2.3h0c-.6-.6-1.4-.9-2.3-.9M5.8.8h28.9c1.4,0,2.7.6,3.7,1.5h0c.9.9,1.5,2.2,1.5,3.6v35.9c0,1.4-.6,2.7-1.5,3.6-.9.9-2.3,1.5-3.7,1.5H5.8c-1.4,0-2.7-.6-3.7-1.5-.9-.9-1.5-2.2-1.5-3.6V5.9c0-1.4.6-2.7,1.5-3.6,1-.9,2.3-1.5,3.7-1.5"/>
50
+ <path class="st1" d="M35.4,5h0c-.5-.5-1.3-.9-2.1-.9H7.1c-.8,0-1.6.3-2.1.9-.5.5-.9,1.3-.9,2.1v33.4c0,.8.3,1.6.9,2.1.5.5,1.3.9,2.1.9h26.3c.8,0,1.6-.3,2.1-.9.5-.5.9-1.3.9-2.1V7.1c0-.8-.3-1.6-.9-2.1M16.8,38.8c-.3-.2-.4-.5-.7-.9-1.2-1.8-.6-4.2,1.2-5.1-1.4,1.2-1.2,3.5,0,5.3.2.2.4.5.5.7h-.9ZM33.3,38.9h-2.6s-6.2,0-6.2,0c.2-.3.3-.5.4-.8,1.5-3.8,0-8,1.4-11.9-2.4,2.6-5.9,3.3-8.7,5.1-2.9,1.6-3.8,5.1-2.4,7.6h-6.3s-1.7,0-1.7,0V8.4h7v11.8h12.1v-11.8h7v30.4Z"/>
51
+ </svg>
@@ -0,0 +1,99 @@
1
+ import React, { useState, useEffect, useRef } from 'react';
2
+ import { View, Text, StyleSheet, Animated } from 'react-native';
3
+ import Ionicons from 'react-native-vector-icons/Ionicons';
4
+
5
+ const tips = [
6
+ {
7
+ text: 'Use 👍👎 next to each response to help us improve AI Assistant',
8
+ icon: ''
9
+ },
10
+ {
11
+ text: '🗑️ Clear the chat history after each conversation for continued accurate responses',
12
+ icon: ''
13
+ },
14
+ {
15
+ text: 'Use 📧 to send any questions to the current branch support',
16
+ icon: ''
17
+ }
18
+ ];
19
+
20
+ export const LoadingTips = () => {
21
+ const [currentTip, setCurrentTip] = useState(0);
22
+ const fadeAnim = useRef(new Animated.Value(1)).current;
23
+ const jumpAnim = useRef(new Animated.Value(0)).current;
24
+
25
+ useEffect(() => {
26
+ // Fade in/out for tip changes
27
+ const tipInterval = setInterval(() => {
28
+ // Fade out
29
+ Animated.timing(fadeAnim, {
30
+ toValue: 0,
31
+ duration: 500,
32
+ useNativeDriver: true,
33
+ }).start(() => {
34
+ // Change tip and fade in
35
+ setCurrentTip(prev => (prev + 1) % tips.length);
36
+ Animated.timing(fadeAnim, {
37
+ toValue: 1,
38
+ duration: 500,
39
+ useNativeDriver: true,
40
+ }).start();
41
+ });
42
+ }, 4000);
43
+
44
+ // Jump animation
45
+ const jumpInterval = setInterval(() => {
46
+ Animated.sequence([
47
+ Animated.timing(jumpAnim, {
48
+ toValue: -5,
49
+ duration: 250,
50
+ useNativeDriver: true,
51
+ }),
52
+ Animated.timing(jumpAnim, {
53
+ toValue: 0,
54
+ duration: 250,
55
+ useNativeDriver: true,
56
+ })
57
+ ]).start();
58
+ }, 2000);
59
+
60
+ return () => {
61
+ clearInterval(tipInterval);
62
+ clearInterval(jumpInterval);
63
+ };
64
+ }, []);
65
+
66
+ return (
67
+ <Animated.View style={[styles.container, { opacity: fadeAnim }]}>
68
+ <Animated.View style={{ transform: [{ translateY: jumpAnim }] }}>
69
+ <Ionicons name="bulb-outline" size={16} color="#367CB6" />
70
+ </Animated.View>
71
+ <Text style={styles.tipText}>
72
+ <Text style={styles.tipIcon}>{tips[currentTip].icon} </Text>
73
+ {tips[currentTip].text}
74
+ </Text>
75
+ </Animated.View>
76
+ );
77
+ };
78
+
79
+ const styles = StyleSheet.create({
80
+ container: {
81
+ flexDirection: 'row',
82
+ alignItems: 'center',
83
+ padding: 10,
84
+ marginLeft: 15,
85
+ borderRadius: 8,
86
+ marginBottom: 8,
87
+ flex: 1,
88
+ },
89
+ tipText: {
90
+ marginLeft: 8,
91
+ fontSize: 14,
92
+ color: '#303030',
93
+ flexShrink: 1,
94
+ },
95
+ tipIcon: {
96
+ marginRight: 5,
97
+ fontSize: 16,
98
+ }
99
+ });