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,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,95 @@
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
+ const tips = [{
5
+ text: 'Use 👍👎 next to each response to help us improve AI Assistant',
6
+ icon: ''
7
+ }, {
8
+ text: '🗑️ Clear the chat history after each conversation for continued accurate responses',
9
+ icon: ''
10
+ }, {
11
+ text: 'Use 📧 to send any questions to the current branch support',
12
+ icon: ''
13
+ }];
14
+ export const LoadingTips = () => {
15
+ const [currentTip, setCurrentTip] = useState(0);
16
+ const fadeAnim = useRef(new Animated.Value(1)).current;
17
+ const jumpAnim = useRef(new Animated.Value(0)).current;
18
+ useEffect(() => {
19
+ // Fade in/out for tip changes
20
+ const tipInterval = setInterval(() => {
21
+ // Fade out
22
+ Animated.timing(fadeAnim, {
23
+ toValue: 0,
24
+ duration: 500,
25
+ useNativeDriver: true
26
+ }).start(() => {
27
+ // Change tip and fade in
28
+ setCurrentTip(prev => (prev + 1) % tips.length);
29
+ Animated.timing(fadeAnim, {
30
+ toValue: 1,
31
+ duration: 500,
32
+ useNativeDriver: true
33
+ }).start();
34
+ });
35
+ }, 4000);
36
+
37
+ // Jump animation
38
+ const jumpInterval = setInterval(() => {
39
+ Animated.sequence([Animated.timing(jumpAnim, {
40
+ toValue: -5,
41
+ duration: 250,
42
+ useNativeDriver: true
43
+ }), Animated.timing(jumpAnim, {
44
+ toValue: 0,
45
+ duration: 250,
46
+ useNativeDriver: true
47
+ })]).start();
48
+ }, 2000);
49
+ return () => {
50
+ clearInterval(tipInterval);
51
+ clearInterval(jumpInterval);
52
+ };
53
+ }, []);
54
+ return /*#__PURE__*/React.createElement(Animated.View, {
55
+ style: [styles.container, {
56
+ opacity: fadeAnim
57
+ }]
58
+ }, /*#__PURE__*/React.createElement(Animated.View, {
59
+ style: {
60
+ transform: [{
61
+ translateY: jumpAnim
62
+ }]
63
+ }
64
+ }, /*#__PURE__*/React.createElement(Ionicons, {
65
+ name: "bulb-outline",
66
+ size: 16,
67
+ color: "#367CB6"
68
+ })), /*#__PURE__*/React.createElement(Text, {
69
+ style: styles.tipText
70
+ }, /*#__PURE__*/React.createElement(Text, {
71
+ style: styles.tipIcon
72
+ }, tips[currentTip].icon, " "), tips[currentTip].text));
73
+ };
74
+ const styles = StyleSheet.create({
75
+ container: {
76
+ flexDirection: 'row',
77
+ alignItems: 'center',
78
+ padding: 10,
79
+ marginLeft: 15,
80
+ borderRadius: 8,
81
+ marginBottom: 8,
82
+ flex: 1
83
+ },
84
+ tipText: {
85
+ marginLeft: 8,
86
+ fontSize: 14,
87
+ color: '#303030',
88
+ flexShrink: 1
89
+ },
90
+ tipIcon: {
91
+ marginRight: 5,
92
+ fontSize: 16
93
+ }
94
+ });
95
+ //# sourceMappingURL=LoadingTips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","useRef","View","Text","StyleSheet","Animated","Ionicons","tips","text","icon","LoadingTips","currentTip","setCurrentTip","fadeAnim","Value","current","jumpAnim","tipInterval","setInterval","timing","toValue","duration","useNativeDriver","start","prev","length","jumpInterval","sequence","clearInterval","createElement","style","styles","container","opacity","transform","translateY","name","size","color","tipText","tipIcon","create","flexDirection","alignItems","padding","marginLeft","borderRadius","marginBottom","flex","fontSize","flexShrink","marginRight"],"sourceRoot":"../../../src","sources":["components/LoadingTips.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,452 @@
1
+ import React, { useState, useContext, useRef, useEffect } from "react";
2
+ import { View, Text, TextInput, TouchableOpacity, ActivityIndicator, StyleSheet, Platform, findNodeHandle } from "react-native";
3
+ import Ionicons from "react-native-vector-icons/Ionicons";
4
+ import { AppContext } from "../contexts/AppContext";
5
+ import { Header } from "./header";
6
+ import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";
7
+ export const EmailForm = ({
8
+ panHandlers
9
+ }) => {
10
+ const {
11
+ data,
12
+ BASE_URL,
13
+ setShowModal,
14
+ formatChatHistory,
15
+ conversationStartTime,
16
+ sessionId,
17
+ theme
18
+ } = useContext(AppContext);
19
+ const API_PREFIX = "https://";
20
+ const [subject, setSubject] = useState("");
21
+ const [message, setMessage] = useState("");
22
+ const [userEmail, setUserEmail] = useState((data === null || data === void 0 ? void 0 : data.user_email) || ""); // Sender's email
23
+ const [branchEmail, setBranchEmail] = useState((data === null || data === void 0 ? void 0 : data.branch_email) || ""); // Recipient's email
24
+ const [isLoading, setIsLoading] = useState(false);
25
+ const [error, setError] = useState("");
26
+ const [success, setSuccess] = useState(false);
27
+ const [isComposing, setIsComposing] = useState(false);
28
+
29
+ // Refs for the scroll view and inputs
30
+ const scrollViewRef = useRef(null);
31
+ const subjectInputRef = useRef(null);
32
+ const messageInputRef = useRef(null);
33
+ const emailInputRef = useRef(null);
34
+
35
+ // Industry-standard email validation following RFC 5322 guidelines
36
+ const validateEmailFormat = email => {
37
+ // More comprehensive regex that handles most valid email formats
38
+ // This regex covers:
39
+ // - Alphanumeric characters, dots, hyphens, underscores, plus signs
40
+ // - Quoted strings in local part
41
+ // - IP addresses in domain part
42
+ // - International domain names
43
+ const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
44
+
45
+ // Length validation (RFC 5321 limits)
46
+ const MAX_EMAIL_LENGTH = 254;
47
+ const MAX_LOCAL_LENGTH = 64;
48
+ const MAX_DOMAIN_LENGTH = 253;
49
+ if (email.length > MAX_EMAIL_LENGTH) {
50
+ return false;
51
+ }
52
+ const [localPart, domainPart] = email.split('@');
53
+ if (!localPart || !domainPart) {
54
+ return false;
55
+ }
56
+ if (localPart.length > MAX_LOCAL_LENGTH || domainPart.length > MAX_DOMAIN_LENGTH) {
57
+ return false;
58
+ }
59
+ return emailRegex.test(email);
60
+ };
61
+ const validateEmailDomain = email => {
62
+ const domainPart = email.split('@')[1];
63
+ if (!domainPart) return false;
64
+
65
+ // Common domain validation checks
66
+ const commonIssues = [
67
+ // Missing or invalid TLD
68
+ /\.(com|org|net|edu|gov|mil|int|co|io|ly|me|tv|info|biz|name|mobi|travel|museum|aero|coop|pro|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$/i];
69
+
70
+ // Check for valid TLD
71
+ const hasValidTLD = commonIssues[0].test(domainPart);
72
+
73
+ // Check for common typos in popular domains
74
+ const commonDomainTypos = {
75
+ 'gmial.com': 'gmail.com',
76
+ 'gmail.co': 'gmail.com',
77
+ 'gmai.com': 'gmail.com',
78
+ 'yahooo.com': 'yahoo.com',
79
+ 'yaho.com': 'yahoo.com',
80
+ 'hotmial.com': 'hotmail.com',
81
+ 'hotmai.com': 'hotmail.com',
82
+ 'outlok.com': 'outlook.com',
83
+ 'outloo.com': 'outlook.com'
84
+ };
85
+ const suggestion = commonDomainTypos[domainPart.toLowerCase()];
86
+ return {
87
+ isValid: hasValidTLD && !suggestion,
88
+ suggestion: suggestion
89
+ };
90
+ };
91
+ const validateEmail = email => {
92
+ if (!email) {
93
+ return "Email address is required";
94
+ }
95
+
96
+ // Trim whitespace
97
+ email = email.trim();
98
+
99
+ // Basic format validation
100
+ if (!validateEmailFormat(email)) {
101
+ return "Please enter a valid email address";
102
+ }
103
+
104
+ // Domain validation with suggestions
105
+ const domainValidation = validateEmailDomain(email);
106
+ if (!domainValidation.isValid) {
107
+ if (domainValidation.suggestion) {
108
+ return `Did you mean ${email.split('@')[0]}@${domainValidation.suggestion}?`;
109
+ }
110
+ return "Please enter a valid email address";
111
+ }
112
+
113
+ // Additional checks for common formatting errors
114
+ const commonFormatIssues = [{
115
+ pattern: /\.\./,
116
+ message: "Email address cannot contain consecutive dots"
117
+ }, {
118
+ pattern: /^\./,
119
+ message: "Email address cannot start with a dot"
120
+ }, {
121
+ pattern: /\.$/,
122
+ message: "Email address cannot end with a dot"
123
+ }, {
124
+ pattern: /@\./,
125
+ message: "Invalid format after @ symbol"
126
+ }, {
127
+ pattern: /\.@/,
128
+ message: "Invalid format before @ symbol"
129
+ }, {
130
+ pattern: /\s/,
131
+ message: "Email address cannot contain spaces"
132
+ }, {
133
+ pattern: /@.*@/,
134
+ message: "Email address can only contain one @ symbol"
135
+ }];
136
+ for (const issue of commonFormatIssues) {
137
+ if (issue.pattern.test(email)) {
138
+ return issue.message;
139
+ }
140
+ }
141
+ return "";
142
+ };
143
+ const buildEmailRequestPayload = chatHistory => ({
144
+ chat_history: chatHistory,
145
+ conversation_start_time: conversationStartTime ?? null,
146
+ customer_name: (data === null || data === void 0 ? void 0 : data.customer_name) ?? null,
147
+ user_id: (data === null || data === void 0 ? void 0 : data.user_id) ?? null,
148
+ session_id: (data === null || data === void 0 ? void 0 : data.session_id) ?? (data === null || data === void 0 ? void 0 : data.session) ?? sessionId ?? null,
149
+ branch_email: branchEmail ?? ""
150
+ });
151
+ const handleComposeEmail = async () => {
152
+ setIsComposing(true);
153
+ setError("");
154
+ try {
155
+ const chatHistory = formatChatHistory().map(({
156
+ variant_type,
157
+ ...rest
158
+ }) => rest);
159
+ const payload = {
160
+ chat_history: chatHistory,
161
+ conversation_start_time: conversationStartTime || null,
162
+ customer_name: (data === null || data === void 0 ? void 0 : data.customer_name) || null,
163
+ user_id: (data === null || data === void 0 ? void 0 : data.user_id) || null,
164
+ session_id: (data === null || data === void 0 ? void 0 : data.session_id) || (data === null || data === void 0 ? void 0 : data.session) || sessionId || null,
165
+ user_email: (data === null || data === void 0 ? void 0 : data.user_email) || "",
166
+ branch_email: (data === null || data === void 0 ? void 0 : data.branch_email) || ""
167
+ };
168
+ console.log("Email composition request payload:", payload);
169
+ const response = await fetch(`${API_PREFIX}${BASE_URL}/compose-email`, {
170
+ method: 'POST',
171
+ headers: {
172
+ 'Content-Type': 'application/json'
173
+ },
174
+ body: JSON.stringify(payload)
175
+ });
176
+ if (!response.ok) {
177
+ throw new Error(`HTTP error! status: ${response.status}`);
178
+ }
179
+ const responseData = await response.json();
180
+ const textToType = responseData.message;
181
+ let currentText = "";
182
+ const typingSpeed = 10;
183
+ for (let i = 0; i < textToType.length; i++) {
184
+ await new Promise(resolve => setTimeout(resolve, typingSpeed));
185
+ currentText += textToType[i];
186
+ setMessage(currentText);
187
+ }
188
+ setSubject(responseData.subject || "");
189
+ setUserEmail(responseData.user_email || userEmail || "");
190
+ // Don't overwrite branch email if response doesn't have it
191
+ if (responseData.branch_email) {
192
+ setBranchEmail(responseData.branch_email);
193
+ }
194
+ } catch (error) {
195
+ setError(error.message || "Failed to compose email");
196
+ } finally {
197
+ setIsComposing(false);
198
+ }
199
+ };
200
+ const handleSubmit = async () => {
201
+ if (!userEmail || !subject || !message) {
202
+ setError("Please fill in all fields");
203
+ return;
204
+ }
205
+ if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(userEmail)) {
206
+ setError("Please enter a valid email address");
207
+ return;
208
+ }
209
+ setIsLoading(true);
210
+ try {
211
+ const chatHistory = formatChatHistory().map(({
212
+ variant_type,
213
+ ...rest
214
+ }) => rest);
215
+ console.log("Sending email with chat history:", chatHistory);
216
+ const response = await fetch(`https://${BASE_URL}/send-email`, {
217
+ method: 'POST',
218
+ headers: {
219
+ 'Content-Type': 'application/json'
220
+ },
221
+ body: JSON.stringify({
222
+ user_email: userEmail,
223
+ subject,
224
+ message,
225
+ chat_history: chatHistory,
226
+ conversation_start_time: conversationStartTime,
227
+ customer_name: data === null || data === void 0 ? void 0 : data.customer_name,
228
+ branch_email: branchEmail || (data === null || data === void 0 ? void 0 : data.branch_email) || ""
229
+ })
230
+ });
231
+ if (!response.ok) {
232
+ throw new Error(`HTTP error! status: ${response.status}`);
233
+ }
234
+ setSuccess(true);
235
+ setTimeout(() => {
236
+ setSuccess(false);
237
+ setShowModal("ChatWindow");
238
+ }, 2000);
239
+ } catch (error) {
240
+ setError(error.message || "Failed to send email");
241
+ } finally {
242
+ setIsLoading(false);
243
+ }
244
+ };
245
+ return /*#__PURE__*/React.createElement(View, {
246
+ style: styles.container
247
+ }, /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(KeyboardAwareScrollView, {
248
+ ref: scrollViewRef,
249
+ style: styles.content,
250
+ contentContainerStyle: {
251
+ flexGrow: 1,
252
+ paddingBottom: 50
253
+ },
254
+ keyboardShouldPersistTaps: "handled",
255
+ showsVerticalScrollIndicator: true,
256
+ enableOnAndroid: true,
257
+ extraScrollHeight: 40,
258
+ keyboardDismissMode: "interactive",
259
+ bounces: false
260
+ }, /*#__PURE__*/React.createElement(View, {
261
+ style: styles.topBar
262
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
263
+ onPress: () => setShowModal("ChatWindow"),
264
+ style: styles.backButton
265
+ }, /*#__PURE__*/React.createElement(Ionicons, {
266
+ name: "arrow-back",
267
+ size: 20,
268
+ color: "#000"
269
+ })), /*#__PURE__*/React.createElement(Text, {
270
+ style: styles.topBarTitle
271
+ }, "Contact Us")), /*#__PURE__*/React.createElement(Text, {
272
+ style: styles.infoText
273
+ }, "Press \"Draft My Email\" to generate an email based on your chat conversation. You can review and modify before sending."), /*#__PURE__*/React.createElement(TouchableOpacity, {
274
+ style: [styles.composeButton, {
275
+ backgroundColor: theme.primaryColor
276
+ }],
277
+ onPress: handleComposeEmail,
278
+ disabled: isComposing
279
+ }, isComposing ? /*#__PURE__*/React.createElement(ActivityIndicator, {
280
+ size: "small",
281
+ color: "#FFFFFF"
282
+ }) : /*#__PURE__*/React.createElement(Text, {
283
+ style: styles.buttonText
284
+ }, "Draft My Email")), /*#__PURE__*/React.createElement(TextInput, {
285
+ style: styles.input,
286
+ value: branchEmail,
287
+ editable: false,
288
+ placeholder: "Branch Email",
289
+ placeholderTextColor: "#999"
290
+ }), /*#__PURE__*/React.createElement(TextInput, {
291
+ ref: emailInputRef,
292
+ style: styles.input,
293
+ value: userEmail,
294
+ onChangeText: text => {
295
+ setUserEmail(text);
296
+ const emailValidationError = validateEmail(text);
297
+ if (emailValidationError) {
298
+ setError(emailValidationError);
299
+ setSuccess(false);
300
+ } else if (error === "Please enter a valid email address" || error === "Email address is required") {
301
+ setError("");
302
+ }
303
+ },
304
+ placeholder: "Your Email",
305
+ placeholderTextColor: "#999",
306
+ onFocus: () => {
307
+ var _scrollViewRef$curren;
308
+ return (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollToFocusedInput(findNodeHandle(emailInputRef.current));
309
+ },
310
+ keyboardType: "email-address",
311
+ autoCapitalize: "none"
312
+ }), /*#__PURE__*/React.createElement(TextInput, {
313
+ ref: subjectInputRef,
314
+ style: styles.input,
315
+ value: subject,
316
+ onChangeText: text => {
317
+ setSubject(text);
318
+ if (error && !validateEmail(userEmail) && !message) {
319
+ setError("");
320
+ } else if (error === "Please fill in all fields" && text && message) {
321
+ setError("");
322
+ }
323
+ },
324
+ placeholder: "Subject",
325
+ placeholderTextColor: "#999",
326
+ onFocus: () => {
327
+ var _scrollViewRef$curren2;
328
+ return (_scrollViewRef$curren2 = scrollViewRef.current) === null || _scrollViewRef$curren2 === void 0 ? void 0 : _scrollViewRef$curren2.scrollToFocusedInput(findNodeHandle(subjectInputRef.current));
329
+ }
330
+ }), /*#__PURE__*/React.createElement(TextInput, {
331
+ ref: messageInputRef,
332
+ style: styles.textArea,
333
+ value: message,
334
+ onChangeText: text => {
335
+ setMessage(text);
336
+ if (error && !validateEmail(userEmail) && !subject) {
337
+ setError("");
338
+ } else if (error === "Please fill in all fields" && text && subject) {
339
+ setError("");
340
+ }
341
+ },
342
+ placeholder: "Message",
343
+ placeholderTextColor: "#999",
344
+ multiline: true,
345
+ onFocus: () => {
346
+ var _scrollViewRef$curren3;
347
+ return (_scrollViewRef$curren3 = scrollViewRef.current) === null || _scrollViewRef$curren3 === void 0 ? void 0 : _scrollViewRef$curren3.scrollToFocusedInput(findNodeHandle(messageInputRef.current));
348
+ }
349
+ }), error ? /*#__PURE__*/React.createElement(Text, {
350
+ style: styles.errorText
351
+ }, error) : null, success ? /*#__PURE__*/React.createElement(Text, {
352
+ style: styles.successText
353
+ }, "Email sent successfully!") : null, /*#__PURE__*/React.createElement(TouchableOpacity, {
354
+ style: [styles.sendButton, {
355
+ backgroundColor: theme.primaryColor
356
+ }],
357
+ onPress: handleSubmit,
358
+ disabled: isLoading
359
+ }, isLoading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
360
+ size: "small",
361
+ color: "#FFFFFF"
362
+ }) : /*#__PURE__*/React.createElement(Text, {
363
+ style: styles.buttonText
364
+ }, "Send Email"))));
365
+ };
366
+ const styles = StyleSheet.create({
367
+ container: {
368
+ flex: 1
369
+ },
370
+ content: {
371
+ padding: 20,
372
+ paddingTop: 5,
373
+ flex: 1
374
+ },
375
+ topBar: {
376
+ flexDirection: "row",
377
+ alignItems: "center",
378
+ paddingVertical: 10,
379
+ marginTop: 10
380
+ },
381
+ backButton: {
382
+ padding: 8,
383
+ borderRadius: 20,
384
+ backgroundColor: "#FFF"
385
+ },
386
+ topBarTitle: {
387
+ fontSize: 18,
388
+ fontWeight: "500",
389
+ marginLeft: 12,
390
+ color: "#000"
391
+ },
392
+ infoText: {
393
+ textAlign: "left",
394
+ color: "#666",
395
+ fontSize: 15,
396
+ lineHeight: 22,
397
+ marginBottom: 20
398
+ },
399
+ input: {
400
+ backgroundColor: "white",
401
+ borderRadius: 8,
402
+ padding: 12,
403
+ fontSize: 16,
404
+ borderWidth: 1,
405
+ borderColor: "#e0e0e0",
406
+ marginBottom: 10,
407
+ color: "#000"
408
+ },
409
+ textArea: {
410
+ backgroundColor: "white",
411
+ borderRadius: 8,
412
+ padding: 12,
413
+ fontSize: 16,
414
+ borderWidth: 1,
415
+ borderColor: "#e0e0e0",
416
+ marginBottom: 10,
417
+ height: 180,
418
+ textAlignVertical: "top",
419
+ color: "#000"
420
+ },
421
+ composeButton: {
422
+ borderRadius: 5,
423
+ padding: 12,
424
+ alignItems: "center",
425
+ marginBottom: 20
426
+ },
427
+ sendButton: {
428
+ borderRadius: 5,
429
+ padding: 12,
430
+ alignItems: "center",
431
+ marginTop: 20
432
+ },
433
+ buttonText: {
434
+ color: "#FFF",
435
+ fontSize: 16,
436
+ fontWeight: "500"
437
+ },
438
+ errorText: {
439
+ color: "red",
440
+ fontSize: 14,
441
+ textAlign: "center",
442
+ marginTop: 10
443
+ },
444
+ successText: {
445
+ color: "green",
446
+ fontSize: 14,
447
+ textAlign: "center",
448
+ marginTop: 10
449
+ }
450
+ });
451
+ export default EmailForm;
452
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useContext","useRef","useEffect","View","Text","TextInput","TouchableOpacity","ActivityIndicator","StyleSheet","Platform","findNodeHandle","Ionicons","AppContext","Header","KeyboardAwareScrollView","EmailForm","panHandlers","data","BASE_URL","setShowModal","formatChatHistory","conversationStartTime","sessionId","theme","API_PREFIX","subject","setSubject","message","setMessage","userEmail","setUserEmail","user_email","branchEmail","setBranchEmail","branch_email","isLoading","setIsLoading","error","setError","success","setSuccess","isComposing","setIsComposing","scrollViewRef","subjectInputRef","messageInputRef","emailInputRef","validateEmailFormat","email","emailRegex","MAX_EMAIL_LENGTH","MAX_LOCAL_LENGTH","MAX_DOMAIN_LENGTH","length","localPart","domainPart","split","test","validateEmailDomain","commonIssues","hasValidTLD","commonDomainTypos","suggestion","toLowerCase","isValid","validateEmail","trim","domainValidation","commonFormatIssues","pattern","issue","buildEmailRequestPayload","chatHistory","chat_history","conversation_start_time","customer_name","user_id","session_id","session","handleComposeEmail","map","variant_type","rest","payload","console","log","response","fetch","method","headers","body","JSON","stringify","ok","Error","status","responseData","json","textToType","currentText","typingSpeed","i","Promise","resolve","setTimeout","handleSubmit","createElement","style","styles","container","ref","content","contentContainerStyle","flexGrow","paddingBottom","keyboardShouldPersistTaps","showsVerticalScrollIndicator","enableOnAndroid","extraScrollHeight","keyboardDismissMode","bounces","topBar","onPress","backButton","name","size","color","topBarTitle","infoText","composeButton","backgroundColor","primaryColor","disabled","buttonText","input","value","editable","placeholder","placeholderTextColor","onChangeText","text","emailValidationError","onFocus","_scrollViewRef$curren","current","scrollToFocusedInput","keyboardType","autoCapitalize","_scrollViewRef$curren2","textArea","multiline","_scrollViewRef$curren3","errorText","successText","sendButton","create","flex","padding","paddingTop","flexDirection","alignItems","paddingVertical","marginTop","borderRadius","fontSize","fontWeight","marginLeft","textAlign","lineHeight","marginBottom","borderWidth","borderColor","height","textAlignVertical"],"sourceRoot":"../../../src","sources":["components/email.js"],"mappings":"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","ignoreList":[]}