@magmamath/students-features 0.1.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 (405) hide show
  1. package/README.md +33 -0
  2. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +60 -0
  3. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +1 -0
  4. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +96 -0
  5. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +1 -0
  6. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +97 -0
  7. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -0
  8. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js +27 -0
  9. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -0
  10. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +56 -0
  11. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -0
  12. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +88 -0
  13. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -0
  14. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +87 -0
  15. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -0
  16. package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +43 -0
  17. package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -0
  18. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js +130 -0
  19. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -0
  20. package/dist/commonjs/features/chatbot/components/Chatbot.js +69 -0
  21. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -0
  22. package/dist/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js +65 -0
  23. package/dist/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js.map +1 -0
  24. package/dist/commonjs/features/chatbot/constants.js +31 -0
  25. package/dist/commonjs/features/chatbot/constants.js.map +1 -0
  26. package/dist/commonjs/features/chatbot/helpers.js +12 -0
  27. package/dist/commonjs/features/chatbot/helpers.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/index.js +34 -0
  29. package/dist/commonjs/features/chatbot/index.js.map +1 -0
  30. package/dist/commonjs/features/chatbot/model/api.js +18 -0
  31. package/dist/commonjs/features/chatbot/model/api.js.map +1 -0
  32. package/dist/commonjs/features/chatbot/model/model.js +244 -0
  33. package/dist/commonjs/features/chatbot/model/model.js.map +1 -0
  34. package/dist/commonjs/features/chatbot/model/t2s.js +104 -0
  35. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -0
  36. package/dist/commonjs/features/chatbot/model/translation.js +203 -0
  37. package/dist/commonjs/features/chatbot/model/translation.js.map +1 -0
  38. package/dist/commonjs/features/chatbot/types/api.types.js +2 -0
  39. package/dist/commonjs/features/chatbot/types/api.types.js.map +1 -0
  40. package/dist/commonjs/features/chatbot/types/model.types.js +12 -0
  41. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -0
  42. package/dist/commonjs/features/chatbot/types/t2s.types.js +13 -0
  43. package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -0
  44. package/dist/commonjs/features/chatbot/types/translation.types.js +6 -0
  45. package/dist/commonjs/features/chatbot/types/translation.types.js.map +1 -0
  46. package/dist/commonjs/index.js +42 -0
  47. package/dist/commonjs/index.js.map +1 -0
  48. package/dist/commonjs/lib/createFeature/createFeature.js +28 -0
  49. package/dist/commonjs/lib/createFeature/createFeature.js.map +1 -0
  50. package/dist/commonjs/lib/effector/createControllerEffect.js +51 -0
  51. package/dist/commonjs/lib/effector/createControllerEffect.js.map +1 -0
  52. package/dist/commonjs/lib/effector/createEntityFieldStore.js +42 -0
  53. package/dist/commonjs/lib/effector/createEntityFieldStore.js.map +1 -0
  54. package/dist/commonjs/lib/effector/index.js +20 -0
  55. package/dist/commonjs/lib/effector/index.js.map +1 -0
  56. package/dist/commonjs/lib/helpers/helpers.js +9 -0
  57. package/dist/commonjs/lib/helpers/helpers.js.map +1 -0
  58. package/dist/commonjs/lib/localization/en.json +2 -0
  59. package/dist/commonjs/lib/localization/gb.json +2 -0
  60. package/dist/commonjs/lib/localization/sw.json +2 -0
  61. package/dist/commonjs/shared/hooks/useDebounce.js +21 -0
  62. package/dist/commonjs/shared/hooks/useDebounce.js.map +1 -0
  63. package/dist/commonjs/shared/icons/ArrowRightIcon.js +30 -0
  64. package/dist/commonjs/shared/icons/ArrowRightIcon.js.map +1 -0
  65. package/dist/commonjs/shared/icons/ChatbotIcon.js +148 -0
  66. package/dist/commonjs/shared/icons/ChatbotIcon.js.map +1 -0
  67. package/dist/commonjs/shared/icons/CloseIcon.js +28 -0
  68. package/dist/commonjs/shared/icons/CloseIcon.js.map +1 -0
  69. package/dist/commonjs/shared/icons/GlobeIcon.js +30 -0
  70. package/dist/commonjs/shared/icons/GlobeIcon.js.map +1 -0
  71. package/dist/commonjs/shared/icons/PauseIcon.js +32 -0
  72. package/dist/commonjs/shared/icons/PauseIcon.js.map +1 -0
  73. package/dist/commonjs/shared/icons/PlayIcon.js +32 -0
  74. package/dist/commonjs/shared/icons/PlayIcon.js.map +1 -0
  75. package/dist/commonjs/shared/icons/SpeakerIcon.js +37 -0
  76. package/dist/commonjs/shared/icons/SpeakerIcon.js.map +1 -0
  77. package/dist/commonjs/shared/icons/icon.types.js +2 -0
  78. package/dist/commonjs/shared/icons/icon.types.js.map +1 -0
  79. package/dist/commonjs/shared/translation/constants.js +17 -0
  80. package/dist/commonjs/shared/translation/constants.js.map +1 -0
  81. package/dist/commonjs/shared/translation/helpers.js +31 -0
  82. package/dist/commonjs/shared/translation/helpers.js.map +1 -0
  83. package/dist/commonjs/shared/translation/hooks.js +28 -0
  84. package/dist/commonjs/shared/translation/hooks.js.map +1 -0
  85. package/dist/commonjs/shared/translation/index.js +52 -0
  86. package/dist/commonjs/shared/translation/index.js.map +1 -0
  87. package/dist/commonjs/shared/translation/model.js +15 -0
  88. package/dist/commonjs/shared/translation/model.js.map +1 -0
  89. package/dist/commonjs/shared/translation/types.js +13 -0
  90. package/dist/commonjs/shared/translation/types.js.map +1 -0
  91. package/dist/commonjs/types/types.d.js +2 -0
  92. package/dist/commonjs/types/types.d.js.map +1 -0
  93. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +54 -0
  94. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +1 -0
  95. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +90 -0
  96. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +1 -0
  97. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +91 -0
  98. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -0
  99. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js +21 -0
  100. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -0
  101. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +50 -0
  102. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -0
  103. package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +82 -0
  104. package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -0
  105. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +81 -0
  106. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -0
  107. package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +37 -0
  108. package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -0
  109. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js +123 -0
  110. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -0
  111. package/dist/module/features/chatbot/components/Chatbot.js +63 -0
  112. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -0
  113. package/dist/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js +59 -0
  114. package/dist/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js.map +1 -0
  115. package/dist/module/features/chatbot/constants.js +27 -0
  116. package/dist/module/features/chatbot/constants.js.map +1 -0
  117. package/dist/module/features/chatbot/helpers.js +7 -0
  118. package/dist/module/features/chatbot/helpers.js.map +1 -0
  119. package/dist/module/features/chatbot/index.js +7 -0
  120. package/dist/module/features/chatbot/index.js.map +1 -0
  121. package/dist/module/features/chatbot/model/api.js +13 -0
  122. package/dist/module/features/chatbot/model/api.js.map +1 -0
  123. package/dist/module/features/chatbot/model/model.js +239 -0
  124. package/dist/module/features/chatbot/model/model.js.map +1 -0
  125. package/dist/module/features/chatbot/model/t2s.js +99 -0
  126. package/dist/module/features/chatbot/model/t2s.js.map +1 -0
  127. package/dist/module/features/chatbot/model/translation.js +198 -0
  128. package/dist/module/features/chatbot/model/translation.js.map +1 -0
  129. package/dist/module/features/chatbot/types/api.types.js +2 -0
  130. package/dist/module/features/chatbot/types/api.types.js.map +1 -0
  131. package/dist/module/features/chatbot/types/model.types.js +8 -0
  132. package/dist/module/features/chatbot/types/model.types.js.map +1 -0
  133. package/dist/module/features/chatbot/types/t2s.types.js +9 -0
  134. package/dist/module/features/chatbot/types/t2s.types.js.map +1 -0
  135. package/dist/module/features/chatbot/types/translation.types.js +4 -0
  136. package/dist/module/features/chatbot/types/translation.types.js.map +1 -0
  137. package/dist/module/index.js +5 -0
  138. package/dist/module/index.js.map +1 -0
  139. package/dist/module/lib/createFeature/createFeature.js +22 -0
  140. package/dist/module/lib/createFeature/createFeature.js.map +1 -0
  141. package/dist/module/lib/effector/createControllerEffect.js +45 -0
  142. package/dist/module/lib/effector/createControllerEffect.js.map +1 -0
  143. package/dist/module/lib/effector/createEntityFieldStore.js +38 -0
  144. package/dist/module/lib/effector/createEntityFieldStore.js.map +1 -0
  145. package/dist/module/lib/effector/index.js +5 -0
  146. package/dist/module/lib/effector/index.js.map +1 -0
  147. package/dist/module/lib/helpers/helpers.js +4 -0
  148. package/dist/module/lib/helpers/helpers.js.map +1 -0
  149. package/dist/module/lib/localization/en.json +2 -0
  150. package/dist/module/lib/localization/gb.json +2 -0
  151. package/dist/module/lib/localization/sw.json +2 -0
  152. package/dist/module/shared/hooks/useDebounce.js +16 -0
  153. package/dist/module/shared/hooks/useDebounce.js.map +1 -0
  154. package/dist/module/shared/icons/ArrowRightIcon.js +22 -0
  155. package/dist/module/shared/icons/ArrowRightIcon.js.map +1 -0
  156. package/dist/module/shared/icons/ChatbotIcon.js +140 -0
  157. package/dist/module/shared/icons/ChatbotIcon.js.map +1 -0
  158. package/dist/module/shared/icons/CloseIcon.js +20 -0
  159. package/dist/module/shared/icons/CloseIcon.js.map +1 -0
  160. package/dist/module/shared/icons/GlobeIcon.js +22 -0
  161. package/dist/module/shared/icons/GlobeIcon.js.map +1 -0
  162. package/dist/module/shared/icons/PauseIcon.js +24 -0
  163. package/dist/module/shared/icons/PauseIcon.js.map +1 -0
  164. package/dist/module/shared/icons/PlayIcon.js +24 -0
  165. package/dist/module/shared/icons/PlayIcon.js.map +1 -0
  166. package/dist/module/shared/icons/SpeakerIcon.js +29 -0
  167. package/dist/module/shared/icons/SpeakerIcon.js.map +1 -0
  168. package/dist/module/shared/icons/icon.types.js +2 -0
  169. package/dist/module/shared/icons/icon.types.js.map +1 -0
  170. package/dist/module/shared/translation/constants.js +12 -0
  171. package/dist/module/shared/translation/constants.js.map +1 -0
  172. package/dist/module/shared/translation/helpers.js +24 -0
  173. package/dist/module/shared/translation/helpers.js.map +1 -0
  174. package/dist/module/shared/translation/hooks.js +22 -0
  175. package/dist/module/shared/translation/hooks.js.map +1 -0
  176. package/dist/module/shared/translation/index.js +7 -0
  177. package/dist/module/shared/translation/index.js.map +1 -0
  178. package/dist/module/shared/translation/model.js +11 -0
  179. package/dist/module/shared/translation/model.js.map +1 -0
  180. package/dist/module/shared/translation/types.js +9 -0
  181. package/dist/module/shared/translation/types.js.map +1 -0
  182. package/dist/module/types/types.d.js +2 -0
  183. package/dist/module/types/types.d.js.map +1 -0
  184. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +11 -0
  185. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -0
  186. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +9 -0
  187. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +1 -0
  188. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +14 -0
  189. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -0
  190. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +17 -0
  191. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -0
  192. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts +3 -0
  193. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -0
  194. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +12 -0
  195. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -0
  196. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +4 -0
  197. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -0
  198. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts +4 -0
  199. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -0
  200. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +21 -0
  201. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -0
  202. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +25 -0
  203. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -0
  204. package/dist/typescript/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts +9 -0
  205. package/dist/typescript/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts.map +1 -0
  206. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +21 -0
  207. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -0
  208. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts +2 -0
  209. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -0
  210. package/dist/typescript/commonjs/features/chatbot/index.d.ts +5 -0
  211. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -0
  212. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +12 -0
  213. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -0
  214. package/dist/typescript/commonjs/features/chatbot/model/model.d.ts +73 -0
  215. package/dist/typescript/commonjs/features/chatbot/model/model.d.ts.map +1 -0
  216. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +18 -0
  217. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -0
  218. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +22 -0
  219. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -0
  220. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +60 -0
  221. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -0
  222. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +64 -0
  223. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -0
  224. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +22 -0
  225. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -0
  226. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +23 -0
  227. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -0
  228. package/dist/typescript/commonjs/index.d.ts +4 -0
  229. package/dist/typescript/commonjs/index.d.ts.map +1 -0
  230. package/dist/typescript/commonjs/lib/createFeature/createFeature.d.ts +7 -0
  231. package/dist/typescript/commonjs/lib/createFeature/createFeature.d.ts.map +1 -0
  232. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +16 -0
  233. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -0
  234. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts +16 -0
  235. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts.map +1 -0
  236. package/dist/typescript/commonjs/lib/effector/index.d.ts +3 -0
  237. package/dist/typescript/commonjs/lib/effector/index.d.ts.map +1 -0
  238. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +2 -0
  239. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -0
  240. package/dist/typescript/commonjs/package.json +1 -0
  241. package/dist/typescript/commonjs/shared/hooks/useDebounce.d.ts +2 -0
  242. package/dist/typescript/commonjs/shared/hooks/useDebounce.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/shared/icons/ArrowRightIcon.d.ts +4 -0
  244. package/dist/typescript/commonjs/shared/icons/ArrowRightIcon.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/shared/icons/ChatbotIcon.d.ts +4 -0
  246. package/dist/typescript/commonjs/shared/icons/ChatbotIcon.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/shared/icons/CloseIcon.d.ts +4 -0
  248. package/dist/typescript/commonjs/shared/icons/CloseIcon.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/shared/icons/GlobeIcon.d.ts +4 -0
  250. package/dist/typescript/commonjs/shared/icons/GlobeIcon.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/shared/icons/PauseIcon.d.ts +4 -0
  252. package/dist/typescript/commonjs/shared/icons/PauseIcon.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/shared/icons/PlayIcon.d.ts +4 -0
  254. package/dist/typescript/commonjs/shared/icons/PlayIcon.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/shared/icons/SpeakerIcon.d.ts +4 -0
  256. package/dist/typescript/commonjs/shared/icons/SpeakerIcon.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts +9 -0
  258. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/shared/translation/constants.d.ts +6 -0
  260. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/shared/translation/helpers.d.ts +6 -0
  262. package/dist/typescript/commonjs/shared/translation/helpers.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/shared/translation/hooks.d.ts +5 -0
  264. package/dist/typescript/commonjs/shared/translation/hooks.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/shared/translation/index.d.ts +6 -0
  266. package/dist/typescript/commonjs/shared/translation/index.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/shared/translation/model.d.ts +5 -0
  268. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/shared/translation/types.d.ts +8 -0
  270. package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -0
  271. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +11 -0
  272. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -0
  273. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +9 -0
  274. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +1 -0
  275. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +14 -0
  276. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -0
  277. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +17 -0
  278. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -0
  279. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts +3 -0
  280. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -0
  281. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +12 -0
  282. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -0
  283. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +4 -0
  284. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -0
  285. package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts +4 -0
  286. package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -0
  287. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +21 -0
  288. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -0
  289. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +25 -0
  290. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -0
  291. package/dist/typescript/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts +9 -0
  292. package/dist/typescript/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts.map +1 -0
  293. package/dist/typescript/module/features/chatbot/constants.d.ts +21 -0
  294. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -0
  295. package/dist/typescript/module/features/chatbot/helpers.d.ts +2 -0
  296. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -0
  297. package/dist/typescript/module/features/chatbot/index.d.ts +5 -0
  298. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -0
  299. package/dist/typescript/module/features/chatbot/model/api.d.ts +12 -0
  300. package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -0
  301. package/dist/typescript/module/features/chatbot/model/model.d.ts +73 -0
  302. package/dist/typescript/module/features/chatbot/model/model.d.ts.map +1 -0
  303. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +18 -0
  304. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -0
  305. package/dist/typescript/module/features/chatbot/model/translation.d.ts +22 -0
  306. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -0
  307. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +60 -0
  308. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -0
  309. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +64 -0
  310. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -0
  311. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +22 -0
  312. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -0
  313. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +23 -0
  314. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -0
  315. package/dist/typescript/module/index.d.ts +4 -0
  316. package/dist/typescript/module/index.d.ts.map +1 -0
  317. package/dist/typescript/module/lib/createFeature/createFeature.d.ts +7 -0
  318. package/dist/typescript/module/lib/createFeature/createFeature.d.ts.map +1 -0
  319. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +16 -0
  320. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -0
  321. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts +16 -0
  322. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts.map +1 -0
  323. package/dist/typescript/module/lib/effector/index.d.ts +3 -0
  324. package/dist/typescript/module/lib/effector/index.d.ts.map +1 -0
  325. package/dist/typescript/module/lib/helpers/helpers.d.ts +2 -0
  326. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -0
  327. package/dist/typescript/module/package.json +1 -0
  328. package/dist/typescript/module/shared/hooks/useDebounce.d.ts +2 -0
  329. package/dist/typescript/module/shared/hooks/useDebounce.d.ts.map +1 -0
  330. package/dist/typescript/module/shared/icons/ArrowRightIcon.d.ts +4 -0
  331. package/dist/typescript/module/shared/icons/ArrowRightIcon.d.ts.map +1 -0
  332. package/dist/typescript/module/shared/icons/ChatbotIcon.d.ts +4 -0
  333. package/dist/typescript/module/shared/icons/ChatbotIcon.d.ts.map +1 -0
  334. package/dist/typescript/module/shared/icons/CloseIcon.d.ts +4 -0
  335. package/dist/typescript/module/shared/icons/CloseIcon.d.ts.map +1 -0
  336. package/dist/typescript/module/shared/icons/GlobeIcon.d.ts +4 -0
  337. package/dist/typescript/module/shared/icons/GlobeIcon.d.ts.map +1 -0
  338. package/dist/typescript/module/shared/icons/PauseIcon.d.ts +4 -0
  339. package/dist/typescript/module/shared/icons/PauseIcon.d.ts.map +1 -0
  340. package/dist/typescript/module/shared/icons/PlayIcon.d.ts +4 -0
  341. package/dist/typescript/module/shared/icons/PlayIcon.d.ts.map +1 -0
  342. package/dist/typescript/module/shared/icons/SpeakerIcon.d.ts +4 -0
  343. package/dist/typescript/module/shared/icons/SpeakerIcon.d.ts.map +1 -0
  344. package/dist/typescript/module/shared/icons/icon.types.d.ts +9 -0
  345. package/dist/typescript/module/shared/icons/icon.types.d.ts.map +1 -0
  346. package/dist/typescript/module/shared/translation/constants.d.ts +6 -0
  347. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -0
  348. package/dist/typescript/module/shared/translation/helpers.d.ts +6 -0
  349. package/dist/typescript/module/shared/translation/helpers.d.ts.map +1 -0
  350. package/dist/typescript/module/shared/translation/hooks.d.ts +5 -0
  351. package/dist/typescript/module/shared/translation/hooks.d.ts.map +1 -0
  352. package/dist/typescript/module/shared/translation/index.d.ts +6 -0
  353. package/dist/typescript/module/shared/translation/index.d.ts.map +1 -0
  354. package/dist/typescript/module/shared/translation/model.d.ts +5 -0
  355. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -0
  356. package/dist/typescript/module/shared/translation/types.d.ts +8 -0
  357. package/dist/typescript/module/shared/translation/types.d.ts.map +1 -0
  358. package/package.json +73 -0
  359. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +64 -0
  360. package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +92 -0
  361. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +103 -0
  362. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +28 -0
  363. package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +42 -0
  364. package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +78 -0
  365. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +73 -0
  366. package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +31 -0
  367. package/src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx +148 -0
  368. package/src/features/chatbot/components/Chatbot.tsx +92 -0
  369. package/src/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.tsx +77 -0
  370. package/src/features/chatbot/constants.ts +30 -0
  371. package/src/features/chatbot/helpers.ts +4 -0
  372. package/src/features/chatbot/index.ts +4 -0
  373. package/src/features/chatbot/model/api.ts +28 -0
  374. package/src/features/chatbot/model/model.ts +277 -0
  375. package/src/features/chatbot/model/t2s.ts +107 -0
  376. package/src/features/chatbot/model/translation.ts +231 -0
  377. package/src/features/chatbot/types/api.types.ts +59 -0
  378. package/src/features/chatbot/types/model.types.ts +73 -0
  379. package/src/features/chatbot/types/t2s.types.ts +24 -0
  380. package/src/features/chatbot/types/translation.types.ts +23 -0
  381. package/src/index.ts +3 -0
  382. package/src/lib/createFeature/createFeature.tsx +21 -0
  383. package/src/lib/effector/createControllerEffect.ts +66 -0
  384. package/src/lib/effector/createEntityFieldStore.ts +43 -0
  385. package/src/lib/effector/index.ts +2 -0
  386. package/src/lib/helpers/helpers.ts +2 -0
  387. package/src/lib/localization/en.json +2 -0
  388. package/src/lib/localization/gb.json +2 -0
  389. package/src/lib/localization/sw.json +2 -0
  390. package/src/shared/hooks/useDebounce.ts +17 -0
  391. package/src/shared/icons/ArrowRightIcon.tsx +14 -0
  392. package/src/shared/icons/ChatbotIcon.tsx +109 -0
  393. package/src/shared/icons/CloseIcon.tsx +12 -0
  394. package/src/shared/icons/GlobeIcon.tsx +14 -0
  395. package/src/shared/icons/PauseIcon.tsx +16 -0
  396. package/src/shared/icons/PlayIcon.tsx +16 -0
  397. package/src/shared/icons/SpeakerIcon.tsx +22 -0
  398. package/src/shared/icons/icon.types.ts +8 -0
  399. package/src/shared/translation/constants.ts +10 -0
  400. package/src/shared/translation/helpers.ts +34 -0
  401. package/src/shared/translation/hooks.ts +28 -0
  402. package/src/shared/translation/index.ts +5 -0
  403. package/src/shared/translation/model.ts +15 -0
  404. package/src/shared/translation/types.ts +9 -0
  405. package/src/types/types.d.ts +4 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { ActivityIndicator, Pressable, StyleSheet, TouchableOpacity } from 'react-native';
5
+ import { SpeakerIcon } from "../../../../shared/icons/SpeakerIcon.js";
6
+ import { PlayIcon } from "../../../../shared/icons/PlayIcon.js";
7
+ import { PauseIcon } from "../../../../shared/icons/PauseIcon.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const TextToSpeechIcon = ({
10
+ status,
11
+ isActive,
12
+ isLoading
13
+ }) => {
14
+ if (isLoading && isActive) {
15
+ return /*#__PURE__*/_jsx(ActivityIndicator, {});
16
+ }
17
+ if (!isActive) {
18
+ return /*#__PURE__*/_jsx(SpeakerIcon, {
19
+ color: isActive ? '#55ABE0' : undefined
20
+ });
21
+ }
22
+ if (status === 'playing') return /*#__PURE__*/_jsx(PauseIcon, {
23
+ color: "#FFF"
24
+ });
25
+ if (status === 'paused') return /*#__PURE__*/_jsx(PlayIcon, {
26
+ color: "#FFF"
27
+ });
28
+ return /*#__PURE__*/_jsx(SpeakerIcon, {
29
+ color: isActive ? '#55ABE0' : undefined
30
+ });
31
+ };
32
+ export const MessageTextToSpeech = ({
33
+ status,
34
+ disabled,
35
+ isActive,
36
+ isLoading,
37
+ onPress
38
+ }) => /*#__PURE__*/_jsx(TouchableOpacity, {
39
+ style: styles.container,
40
+ onPress: onPress,
41
+ children: /*#__PURE__*/_jsx(Pressable, {
42
+ disabled: disabled,
43
+ onPress: onPress,
44
+ style: [styles.button, {
45
+ backgroundColor: isActive && !isLoading ? '#55ABE0' : '#FFF'
46
+ }],
47
+ children: /*#__PURE__*/_jsx(TextToSpeechIcon, {
48
+ isActive: isActive,
49
+ isLoading: isLoading,
50
+ status: status
51
+ })
52
+ })
53
+ });
54
+ const styles = StyleSheet.create({
55
+ container: {
56
+ alignSelf: 'flex-end',
57
+ justifyContent: 'flex-end',
58
+ width: 45,
59
+ height: '100%'
60
+ },
61
+ button: {
62
+ alignItems: 'center',
63
+ justifyContent: 'center',
64
+ width: 28,
65
+ height: 28,
66
+ padding: 1,
67
+ marginLeft: 'auto',
68
+ shadowColor: '#333',
69
+ shadowOffset: {
70
+ width: 0,
71
+ height: 1
72
+ },
73
+ shadowOpacity: 0.25,
74
+ shadowRadius: 3,
75
+ elevation: 3,
76
+ borderRadius: 6,
77
+ borderColor: '#F2F2F4',
78
+ borderWidth: 0.5,
79
+ backgroundColor: '#FFF'
80
+ }
81
+ });
82
+ //# sourceMappingURL=MessageTextToSpeech.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ActivityIndicator","Pressable","StyleSheet","TouchableOpacity","SpeakerIcon","PlayIcon","PauseIcon","jsx","_jsx","TextToSpeechIcon","status","isActive","isLoading","color","undefined","MessageTextToSpeech","disabled","onPress","style","styles","container","children","button","backgroundColor","create","alignSelf","justifyContent","width","height","alignItems","padding","marginLeft","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderColor","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AACzF,SAASC,WAAW,QAAQ,yCAAsC;AAClE,SAASC,QAAQ,QAAQ,sCAAmC;AAC5D,SAASC,SAAS,QAAQ,uCAAoC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAS9D,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,MAAM;EAAEC,QAAQ;EAAEC;AAAiC,CAAC,KAAK;EACnF,IAAIA,SAAS,IAAID,QAAQ,EAAE;IACzB,oBAAOH,IAAA,CAACR,iBAAiB,IAAE,CAAC;EAC9B;EAEA,IAAI,CAACW,QAAQ,EAAE;IACb,oBAAOH,IAAA,CAACJ,WAAW;MAACS,KAAK,EAAEF,QAAQ,GAAG,SAAS,GAAGG;IAAU,CAAE,CAAC;EACjE;EAEA,IAAIJ,MAAM,KAAK,SAAS,EAAE,oBAAOF,IAAA,CAACF,SAAS;IAACO,KAAK,EAAC;EAAM,CAAE,CAAC;EAC3D,IAAIH,MAAM,KAAK,QAAQ,EAAE,oBAAOF,IAAA,CAACH,QAAQ;IAACQ,KAAK,EAAC;EAAM,CAAE,CAAC;EACzD,oBAAOL,IAAA,CAACJ,WAAW;IAACS,KAAK,EAAEF,QAAQ,GAAG,SAAS,GAAGG;EAAU,CAAE,CAAC;AACjE,CAAC;AAUD,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCL,MAAM;EACNM,QAAQ;EACRL,QAAQ;EACRC,SAAS;EACTK;AACwB,CAAC,kBACzBT,IAAA,CAACL,gBAAgB;EAACe,KAAK,EAAEC,MAAM,CAACC,SAAU;EAACH,OAAO,EAAEA,OAAQ;EAAAI,QAAA,eAC1Db,IAAA,CAACP,SAAS;IACRe,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAE,CAACC,MAAM,CAACG,MAAM,EAAE;MAAEC,eAAe,EAAEZ,QAAQ,IAAI,CAACC,SAAS,GAAG,SAAS,GAAG;IAAO,CAAC,CAAE;IAAAS,QAAA,eAEzFb,IAAA,CAACC,gBAAgB;MAACE,QAAQ,EAAEA,QAAS;MAACC,SAAS,EAAEA,SAAU;MAACF,MAAM,EAAEA;IAAO,CAAE;EAAC,CACrE;AAAC,CACI,CACnB;AAED,MAAMS,MAAM,GAAGjB,UAAU,CAACsB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,SAAS,EAAE,UAAU;IACrBC,cAAc,EAAE,UAAU;IAC1BC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDN,MAAM,EAAE;IACNO,UAAU,EAAE,QAAQ;IACpBH,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVE,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,MAAM;IAClBC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEN,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCM,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,SAAS;IACtBC,WAAW,EAAE,GAAG;IAChBhB,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, Text, View } from 'react-native';
5
+ import { ChatbotIcon } from "../../../../shared/icons/ChatbotIcon.js";
6
+ import { MessageTextToSpeech } from "./MessageTextToSpeech.js";
7
+ import { MessageVariant } from "../../types/model.types.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const ReceivedMessage = ({
10
+ message,
11
+ onPressTextToSpeech,
12
+ isTextToSpeechPending,
13
+ isActive,
14
+ audioStatus,
15
+ renderer,
16
+ withTextToSpeech = true
17
+ }) => /*#__PURE__*/_jsxs(View, {
18
+ style: styles.container,
19
+ children: [/*#__PURE__*/_jsx(View, {
20
+ style: styles.icon,
21
+ children: /*#__PURE__*/_jsx(ChatbotIcon, {
22
+ width: 38,
23
+ height: 38
24
+ })
25
+ }), /*#__PURE__*/_jsxs(View, {
26
+ style: styles.message,
27
+ children: [/*#__PURE__*/_jsx(Text, {
28
+ style: [styles.messageText, {
29
+ width: withTextToSpeech ? 240 : 305
30
+ }],
31
+ children: renderer ? renderer({
32
+ message,
33
+ variant: MessageVariant.RECEIVED,
34
+ withTextToSpeech
35
+ }) : message
36
+ }), withTextToSpeech && /*#__PURE__*/_jsx(MessageTextToSpeech, {
37
+ isActive: isActive,
38
+ isLoading: isTextToSpeechPending,
39
+ onPress: onPressTextToSpeech,
40
+ disabled: isTextToSpeechPending,
41
+ status: audioStatus
42
+ })]
43
+ })]
44
+ });
45
+ const styles = StyleSheet.create({
46
+ container: {
47
+ flex: 1,
48
+ flexDirection: 'row',
49
+ maxWidth: 350,
50
+ width: 350
51
+ },
52
+ icon: {
53
+ alignSelf: 'flex-end',
54
+ marginRight: 8
55
+ },
56
+ message: {
57
+ flex: 1,
58
+ flexDirection: 'row',
59
+ maxWidth: 305,
60
+ padding: 8,
61
+ shadowColor: '#333',
62
+ shadowOffset: {
63
+ width: 0,
64
+ height: 1
65
+ },
66
+ shadowOpacity: 0.25,
67
+ shadowRadius: 3,
68
+ elevation: 3,
69
+ borderRadius: 8,
70
+ borderBottomLeftRadius: 0,
71
+ backgroundColor: '#F2F2F4'
72
+ },
73
+ messageText: {
74
+ flex: 1,
75
+ fontSize: 20,
76
+ fontWeight: 400,
77
+ fontFamily: 'Buenos Aires',
78
+ color: '#33334D'
79
+ }
80
+ });
81
+ //# sourceMappingURL=ReceivedMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Text","View","ChatbotIcon","MessageTextToSpeech","MessageVariant","jsx","_jsx","jsxs","_jsxs","ReceivedMessage","message","onPressTextToSpeech","isTextToSpeechPending","isActive","audioStatus","renderer","withTextToSpeech","style","styles","container","children","icon","width","height","messageText","variant","RECEIVED","isLoading","onPress","disabled","status","create","flex","flexDirection","maxWidth","alignSelf","marginRight","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","backgroundColor","fontSize","fontWeight","fontFamily","color"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/ReceivedMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAErD,SAASC,WAAW,QAAQ,yCAAsC;AAClE,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,cAAc,QAAQ,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,mBAAmB;EACnBC,qBAAqB;EACrBC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC,gBAAgB,GAAG;AACP,CAAC,kBACbR,KAAA,CAACP,IAAI;EAACgB,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5Bd,IAAA,CAACL,IAAI;IAACgB,KAAK,EAAEC,MAAM,CAACG,IAAK;IAAAD,QAAA,eACvBd,IAAA,CAACJ,WAAW;MAACoB,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE;IAAG,CAAE;EAAC,CAClC,CAAC,eAEPf,KAAA,CAACP,IAAI;IAACgB,KAAK,EAAEC,MAAM,CAACR,OAAQ;IAAAU,QAAA,gBAC1Bd,IAAA,CAACN,IAAI;MAACiB,KAAK,EAAE,CAACC,MAAM,CAACM,WAAW,EAAE;QAAEF,KAAK,EAAEN,gBAAgB,GAAG,GAAG,GAAG;MAAI,CAAC,CAAE;MAAAI,QAAA,EACxEL,QAAQ,GACLA,QAAQ,CAAC;QAAEL,OAAO;QAAEe,OAAO,EAAErB,cAAc,CAACsB,QAAQ;QAAEV;MAAiB,CAAC,CAAC,GACzEN;IAAO,CACP,CAAC,EACNM,gBAAgB,iBACfV,IAAA,CAACH,mBAAmB;MAClBU,QAAQ,EAAEA,QAAS;MACnBc,SAAS,EAAEf,qBAAsB;MACjCgB,OAAO,EAAEjB,mBAAoB;MAC7BkB,QAAQ,EAAEjB,qBAAsB;MAChCkB,MAAM,EAAEhB;IAAY,CACrB,CACF;EAAA,CACG,CAAC;AAAA,CACH,CACP;AAED,MAAMI,MAAM,GAAGnB,UAAU,CAACgC,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbZ,KAAK,EAAE;EACT,CAAC;EACDD,IAAI,EAAE;IACJc,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACD1B,OAAO,EAAE;IACPsB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbG,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEjB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCiB,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBC,eAAe,EAAE;EACnB,CAAC;EACDrB,WAAW,EAAE;IACXQ,IAAI,EAAE,CAAC;IACPc,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,GAAG;IACfC,UAAU,EAAE,cAAc;IAC1BC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, Text, View } from 'react-native';
5
+ import { MessageVariant } from "../../types/model.types.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const SentMessage = ({
8
+ message,
9
+ renderer
10
+ }) => /*#__PURE__*/_jsx(View, {
11
+ style: styles.container,
12
+ children: /*#__PURE__*/_jsx(Text, {
13
+ style: styles.text,
14
+ children: renderer ? renderer({
15
+ message,
16
+ variant: MessageVariant.SENT,
17
+ withTextToSpeech: false
18
+ }) : message
19
+ })
20
+ });
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ alignSelf: 'flex-end',
24
+ maxWidth: 305,
25
+ padding: 8,
26
+ borderRadius: 8,
27
+ borderBottomRightRadius: 0,
28
+ backgroundColor: '#55ABE0'
29
+ },
30
+ text: {
31
+ fontSize: 20,
32
+ fontWeight: 400,
33
+ fontFamily: 'Buenos Aires',
34
+ color: '#FFF'
35
+ }
36
+ });
37
+ //# sourceMappingURL=SentMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Text","View","MessageVariant","jsx","_jsx","SentMessage","message","renderer","style","styles","container","children","text","variant","SENT","withTextToSpeech","create","alignSelf","maxWidth","padding","borderRadius","borderBottomRightRadius","backgroundColor","fontSize","fontWeight","fontFamily","color"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/SentMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAErD,SAASC,cAAc,QAAQ,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAExD,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAuB,CAAC,kBAC7DH,IAAA,CAACH,IAAI;EAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,eAC5BP,IAAA,CAACJ,IAAI;IAACQ,KAAK,EAAEC,MAAM,CAACG,IAAK;IAAAD,QAAA,EACtBJ,QAAQ,GACLA,QAAQ,CAAC;MAAED,OAAO;MAAEO,OAAO,EAAEX,cAAc,CAACY,IAAI;MAAEC,gBAAgB,EAAE;IAAM,CAAC,CAAC,GAC5ET;EAAO,CACP;AAAC,CACH,CACP;AAED,MAAMG,MAAM,GAAGV,UAAU,CAACiB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,SAAS,EAAE,UAAU;IACrBC,QAAQ,EAAE,GAAG;IACbC,OAAO,EAAE,CAAC;IACVC,YAAY,EAAE,CAAC;IACfC,uBAAuB,EAAE,CAAC;IAC1BC,eAAe,EAAE;EACnB,CAAC;EACDV,IAAI,EAAE;IACJW,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,GAAG;IACfC,UAAU,EAAE,cAAc;IAC1BC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ import React, { useRef } from 'react';
4
+ import { Platform, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
5
+ import { useStoreMap, useUnit } from 'effector-react';
6
+ import { ChatMessage } from "../ChatMessage/ChatMessage.js";
7
+ import { MessageLoader } from "../ChatMessage/MessageLoader.js";
8
+ import { Alternatives } from "../Alternatives/Alternatives.js";
9
+ import { TEXT_TO_SPEECH_CONFIG } from "../../constants.js";
10
+ import { MessageVariant } from "../../types/model.types.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ const TOOLBAR_HEIGHT = 140;
13
+ const BOTTOM_OFFSET = Platform.OS === 'web' ? 250 : 284;
14
+ export const ChatbotMessages = ({
15
+ model,
16
+ isHintFeedback,
17
+ sendHelpRequestPayload,
18
+ translationTargetLanguage,
19
+ sanitizeSpeechInput,
20
+ isTextToSpeechEnabled,
21
+ textToSpeechConfig,
22
+ renderer
23
+ }) => {
24
+ const dimensions = useWindowDimensions();
25
+ const ref = useRef(null);
26
+ const assignmentId = useUnit(model.credits.$assignmentId);
27
+ const exerciseId = useUnit(model.credits.$exerciseId);
28
+ const isOpen = useUnit(model.$isOpen);
29
+ const isHelpRequestPending = useUnit(model.sendHelpRequestFx.pending);
30
+ const isTextToSpeechPending = useUnit(model.api.textToSpeechTextFx.pending);
31
+ const currentPlayingId = useUnit(model.t2s.$currentPlayingId);
32
+ const isTranslated = useUnit(model.translation.$isTranslated);
33
+ const audioStatus = useUnit(model.t2s.$status);
34
+ const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET;
35
+ const messages = useStoreMap({
36
+ store: model.messages.$state,
37
+ keys: [assignmentId, exerciseId],
38
+ fn: state => state[assignmentId]?.[exerciseId]?.messages ?? []
39
+ });
40
+ const playTextToSpeech = (id, message, translatedMessage) => {
41
+ if (isTranslated) {
42
+ model.t2s.play({
43
+ text: sanitizeSpeechInput(translatedMessage),
44
+ messageId: id,
45
+ isTranslated: true,
46
+ config: textToSpeechConfig ?? TEXT_TO_SPEECH_CONFIG
47
+ });
48
+ } else {
49
+ model.t2s.play({
50
+ text: sanitizeSpeechInput(message),
51
+ messageId: id,
52
+ isTranslated: false,
53
+ config: textToSpeechConfig ?? TEXT_TO_SPEECH_CONFIG
54
+ });
55
+ }
56
+ };
57
+ const askChatForHelp = (message, promptKey, translatedMessage) => {
58
+ model.sendHelpRequestFx({
59
+ payload: {
60
+ ...sendHelpRequestPayload,
61
+ type: promptKey
62
+ },
63
+ message,
64
+ translatedMessage,
65
+ translationTargetLanguage
66
+ });
67
+ };
68
+ return /*#__PURE__*/_jsx(View, {
69
+ style: [styles.container, {
70
+ maxHeight: MAX_HEIGHT
71
+ }],
72
+ children: /*#__PURE__*/_jsxs(ScrollView, {
73
+ ref: ref,
74
+ contentContainerStyle: styles.list,
75
+ onContentSizeChange: (_, height) => {
76
+ ref.current?.scrollToEnd();
77
+ if (height >= MAX_HEIGHT) {
78
+ model.setScrollActive(true);
79
+ }
80
+ },
81
+ children: [isOpen && /*#__PURE__*/_jsxs(View, {
82
+ style: styles.gap,
83
+ children: [messages.map(({
84
+ id,
85
+ message,
86
+ translatedMessage,
87
+ isOwnMessage
88
+ }) => /*#__PURE__*/_jsx(ChatMessage, {
89
+ message: isTranslated ? translatedMessage : message,
90
+ renderer: renderer,
91
+ audioStatus: audioStatus,
92
+ onPressTextToSpeech: () => playTextToSpeech(id, message, translatedMessage),
93
+ isActive: id === currentPlayingId,
94
+ isTextToSpeechPending: isTextToSpeechPending,
95
+ variant: isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED,
96
+ withTextToSpeech: isTextToSpeechEnabled && !isOwnMessage
97
+ }, id)), isHelpRequestPending && /*#__PURE__*/_jsx(MessageLoader, {})]
98
+ }), !isHelpRequestPending && isOpen && /*#__PURE__*/_jsx(Alternatives, {
99
+ model: model,
100
+ onPressAlternative: askChatForHelp,
101
+ hasMessages: messages.length > 1,
102
+ isHintFeedback: isHintFeedback
103
+ })]
104
+ })
105
+ });
106
+ };
107
+ const styles = StyleSheet.create({
108
+ container: {
109
+ flex: 1,
110
+ alignItems: 'flex-end',
111
+ width: 350,
112
+ height: '100%'
113
+ },
114
+ list: {
115
+ alignItems: 'flex-end',
116
+ paddingVertical: 2
117
+ },
118
+ gap: {
119
+ flex: 1,
120
+ gap: 8
121
+ }
122
+ });
123
+ //# sourceMappingURL=ChatbotMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","useStoreMap","useUnit","ChatMessage","MessageLoader","Alternatives","TEXT_TO_SPEECH_CONFIG","MessageVariant","jsx","_jsx","jsxs","_jsxs","TOOLBAR_HEIGHT","BOTTOM_OFFSET","OS","ChatbotMessages","model","isHintFeedback","sendHelpRequestPayload","translationTargetLanguage","sanitizeSpeechInput","isTextToSpeechEnabled","textToSpeechConfig","renderer","dimensions","ref","assignmentId","credits","$assignmentId","exerciseId","$exerciseId","isOpen","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","MAX_HEIGHT","height","messages","store","$state","keys","fn","state","playTextToSpeech","id","message","translatedMessage","play","text","messageId","config","askChatForHelp","promptKey","payload","type","style","styles","container","maxHeight","children","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","map","isOwnMessage","onPressTextToSpeech","isActive","variant","SENT","RECEIVED","withTextToSpeech","onPressAlternative","hasMessages","length","create","flex","alignItems","width","paddingVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessages/ChatbotMessages.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAeC,MAAM,QAAQ,OAAO;AAChD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAC1F,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAErD,SAASC,WAAW,QAAQ,+BAA4B;AACxD,SAASC,aAAa,QAAQ,iCAA8B;AAC5D,SAASC,YAAY,QAAQ,iCAA8B;AAE3D,SAAsCC,qBAAqB,QAAQ,oBAAiB;AACpF,SAASC,cAAc,QAAyB,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBzE,MAAMC,cAAc,GAAG,GAAG;AAC1B,MAAMC,aAAa,GAAGjB,QAAQ,CAACkB,EAAE,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG;AAEvD,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,KAAK;EACLC,cAAc;EACdC,sBAAsB;EACtBC,yBAAyB;EACzBC,mBAAmB;EACnBC,qBAAqB;EACrBC,kBAAkB;EAClBC;AACoB,CAAC,KAAK;EAC1B,MAAMC,UAAU,GAAGzB,mBAAmB,CAAC,CAAC;EACxC,MAAM0B,GAAG,GAAG9B,MAAM,CAAa,IAAI,CAAC;EACpC,MAAM+B,YAAY,GAAGxB,OAAO,CAACc,KAAK,CAACW,OAAO,CAACC,aAAa,CAAC;EACzD,MAAMC,UAAU,GAAG3B,OAAO,CAACc,KAAK,CAACW,OAAO,CAACG,WAAW,CAAC;EACrD,MAAMC,MAAM,GAAG7B,OAAO,CAACc,KAAK,CAACgB,OAAO,CAAC;EAErC,MAAMC,oBAAoB,GAAG/B,OAAO,CAACc,KAAK,CAACkB,iBAAiB,CAACC,OAAO,CAAC;EACrE,MAAMC,qBAAqB,GAAGlC,OAAO,CAACc,KAAK,CAACqB,GAAG,CAACC,kBAAkB,CAACH,OAAO,CAAC;EAE3E,MAAMI,gBAAgB,GAAGrC,OAAO,CAACc,KAAK,CAACwB,GAAG,CAACC,iBAAiB,CAAC;EAC7D,MAAMC,YAAY,GAAGxC,OAAO,CAACc,KAAK,CAAC2B,WAAW,CAACC,aAAa,CAAC;EAC7D,MAAMC,WAAW,GAAG3C,OAAO,CAACc,KAAK,CAACwB,GAAG,CAACM,OAAO,CAAC;EAE9C,MAAMC,UAAU,GAAGvB,UAAU,CAACwB,MAAM,GAAGpC,cAAc,GAAGC,aAAa;EAErE,MAAMoC,QAAQ,GAAGhD,WAAW,CAAC;IAC3BiD,KAAK,EAAElC,KAAK,CAACiC,QAAQ,CAACE,MAAM;IAC5BC,IAAI,EAAE,CAAC1B,YAAY,EAAEG,UAAU,CAAC;IAChCwB,EAAE,EAAEC,KAAK,IAAIA,KAAK,CAAC5B,YAAY,CAAC,GAAGG,UAAU,CAAC,EAAEoB,QAAQ,IAAI;EAC9D,CAAC,CAAC;EAEF,MAAMM,gBAAgB,GAAGA,CAACC,EAAU,EAAEC,OAAe,EAAEC,iBAA0B,KAAK;IACpF,IAAIhB,YAAY,EAAE;MAChB1B,KAAK,CAACwB,GAAG,CAACmB,IAAI,CAAC;QACbC,IAAI,EAAExC,mBAAmB,CAACsC,iBAA2B,CAAC;QACtDG,SAAS,EAAEL,EAAE;QACbd,YAAY,EAAE,IAAI;QAClBoB,MAAM,EAAExC,kBAAkB,IAAIhB;MAChC,CAAC,CAAC;IACJ,CAAC,MAAM;MACLU,KAAK,CAACwB,GAAG,CAACmB,IAAI,CAAC;QACbC,IAAI,EAAExC,mBAAmB,CAACqC,OAAO,CAAC;QAClCI,SAAS,EAAEL,EAAE;QACbd,YAAY,EAAE,KAAK;QACnBoB,MAAM,EAAExC,kBAAkB,IAAIhB;MAChC,CAAC,CAAC;IACJ;EACF,CAAC;EAED,MAAMyD,cAAc,GAAGA,CAACN,OAAe,EAAEO,SAAiB,EAAEN,iBAA0B,KAAK;IACzF1C,KAAK,CAACkB,iBAAiB,CAAC;MACtB+B,OAAO,EAAE;QAAE,GAAG/C,sBAAsB;QAAEgD,IAAI,EAAEF;MAAU,CAAC;MACvDP,OAAO;MACPC,iBAAiB;MACjBvC;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACEV,IAAA,CAACT,IAAI;IAACmE,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,SAAS,EAAEvB;IAAW,CAAC,CAAE;IAAAwB,QAAA,eACzD5D,KAAA,CAACd,UAAU;MACT4B,GAAG,EAAEA,GAAI;MACT+C,qBAAqB,EAAEJ,MAAM,CAACK,IAAK;MACnCC,mBAAmB,EAAEA,CAACC,CAAC,EAAE3B,MAAM,KAAK;QAClCvB,GAAG,CAACmD,OAAO,EAAEC,WAAW,CAAC,CAAC;QAE1B,IAAI7B,MAAM,IAAID,UAAU,EAAE;UACxB/B,KAAK,CAAC8D,eAAe,CAAC,IAAI,CAAC;QAC7B;MACF,CAAE;MAAAP,QAAA,GAEDxC,MAAM,iBACLpB,KAAA,CAACX,IAAI;QAACmE,KAAK,EAAEC,MAAM,CAACW,GAAI;QAAAR,QAAA,GACrBtB,QAAQ,CAAC+B,GAAG,CAAC,CAAC;UAAExB,EAAE;UAAEC,OAAO;UAAEC,iBAAiB;UAAEuB;QAAa,CAAC,kBAC7DxE,IAAA,CAACN,WAAW;UAEVsD,OAAO,EAAEf,YAAY,GAAIgB,iBAAiB,GAAcD,OAAQ;UAChElC,QAAQ,EAAEA,QAAS;UACnBsB,WAAW,EAAEA,WAAY;UACzBqC,mBAAmB,EAAEA,CAAA,KAAM3B,gBAAgB,CAACC,EAAE,EAAEC,OAAO,EAAEC,iBAAiB,CAAE;UAC5EyB,QAAQ,EAAE3B,EAAE,KAAKjB,gBAAiB;UAClCH,qBAAqB,EAAEA,qBAAsB;UAC7CgD,OAAO,EAAEH,YAAY,GAAG1E,cAAc,CAAC8E,IAAI,GAAG9E,cAAc,CAAC+E,QAAS;UACtEC,gBAAgB,EAAElE,qBAAqB,IAAI,CAAC4D;QAAa,GARpDzB,EASN,CACF,CAAC,EAEDvB,oBAAoB,iBAAIxB,IAAA,CAACL,aAAa,IAAE,CAAC;MAAA,CACtC,CACP,EAEA,CAAC6B,oBAAoB,IAAIF,MAAM,iBAC9BtB,IAAA,CAACJ,YAAY;QACXW,KAAK,EAAEA,KAAM;QACbwE,kBAAkB,EAAEzB,cAAe;QACnC0B,WAAW,EAAExC,QAAQ,CAACyC,MAAM,GAAG,CAAE;QACjCzE,cAAc,EAAEA;MAAe,CAChC,CACF;IAAA,CACS;EAAC,CACT,CAAC;AAEX,CAAC;AAED,MAAMmD,MAAM,GAAGtE,UAAU,CAAC6F,MAAM,CAAC;EAC/BtB,SAAS,EAAE;IACTuB,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,UAAU;IACtBC,KAAK,EAAE,GAAG;IACV9C,MAAM,EAAE;EACV,CAAC;EACDyB,IAAI,EAAE;IACJoB,UAAU,EAAE,UAAU;IACtBE,eAAe,EAAE;EACnB,CAAC;EACDhB,GAAG,EAAE;IACHa,IAAI,EAAE,CAAC;IACPb,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from 'react';
4
+ import { useStoreMap, useUnit } from 'effector-react';
5
+ import { ChatbotMessages } from "./ChatMessages/ChatbotMessages.js";
6
+ import { ChatControls } from "./ChatControls/ChatControls.js";
7
+ import React from 'react';
8
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const Chatbot = ({
10
+ model,
11
+ translationTargetLanguage,
12
+ isEnabled,
13
+ isHintFeedback,
14
+ sendHelpRequestPayload,
15
+ sanitizeSpeechInput,
16
+ isTextToSpeechEnabled = false,
17
+ textToSpeechConfig,
18
+ isTranslationEnabled,
19
+ renderer,
20
+ ButtonWrapper
21
+ }) => {
22
+ const assignmentId = useUnit(model.credits.$assignmentId);
23
+ const exerciseId = useUnit(model.credits.$exerciseId);
24
+ const alternatives = useUnit(model.$alternatives);
25
+ const isAvailable = useStoreMap({
26
+ store: model.availableChats.$state,
27
+ keys: [assignmentId, exerciseId],
28
+ fn: state => !!state[assignmentId]?.[exerciseId]?.isAvailable
29
+ });
30
+ const translateMessages = () => {
31
+ model.translation.translateBatchFx({
32
+ targetLanguage: translationTargetLanguage
33
+ });
34
+ };
35
+ const openChat = () => model.setIsOpen(true);
36
+ const closeChat = () => model.setIsOpen(false);
37
+ useEffect(() => {
38
+ if (!alternatives) model.api.getAlternativesFx();
39
+ }, [alternatives, model]);
40
+ if (!isEnabled || !isAvailable) {
41
+ return null;
42
+ }
43
+ return /*#__PURE__*/_jsxs(_Fragment, {
44
+ children: [/*#__PURE__*/_jsx(ChatbotMessages, {
45
+ model: model,
46
+ renderer: renderer,
47
+ sendHelpRequestPayload: sendHelpRequestPayload,
48
+ translationTargetLanguage: translationTargetLanguage,
49
+ isHintFeedback: isHintFeedback,
50
+ sanitizeSpeechInput: sanitizeSpeechInput,
51
+ isTextToSpeechEnabled: isTextToSpeechEnabled,
52
+ textToSpeechConfig: textToSpeechConfig
53
+ }), /*#__PURE__*/_jsx(ChatControls, {
54
+ model: model,
55
+ onPressTranslate: translateMessages,
56
+ onPressChatIcon: openChat,
57
+ onPressClose: closeChat,
58
+ isTranslationEnabled: isTranslationEnabled,
59
+ ButtonWrapper: ButtonWrapper
60
+ })]
61
+ });
62
+ };
63
+ //# sourceMappingURL=Chatbot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useStoreMap","useUnit","ChatbotMessages","ChatControls","React","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Chatbot","model","translationTargetLanguage","isEnabled","isHintFeedback","sendHelpRequestPayload","sanitizeSpeechInput","isTextToSpeechEnabled","textToSpeechConfig","isTranslationEnabled","renderer","ButtonWrapper","assignmentId","credits","$assignmentId","exerciseId","$exerciseId","alternatives","$alternatives","isAvailable","store","availableChats","$state","keys","fn","state","translateMessages","translation","translateBatchFx","targetLanguage","openChat","setIsOpen","closeChat","api","getAlternativesFx","children","onPressTranslate","onPressChatIcon","onPressClose"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,SAAsDA,SAAS,QAAQ,OAAO;AAC9E,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,YAAY,QAAQ,gCAA6B;AAI1D,OAAOC,KAAK,MAAM,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAmBzB,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,yBAAyB;EACzBC,SAAS;EACTC,cAAc;EACdC,sBAAsB;EACtBC,mBAAmB;EACnBC,qBAAqB,GAAG,KAAK;EAC7BC,kBAAkB;EAClBC,oBAAoB;EACpBC,QAAQ;EACRC;AACY,CAAC,KAAK;EAClB,MAAMC,YAAY,GAAGtB,OAAO,CAACW,KAAK,CAACY,OAAO,CAACC,aAAa,CAAC;EACzD,MAAMC,UAAU,GAAGzB,OAAO,CAACW,KAAK,CAACY,OAAO,CAACG,WAAW,CAAC;EACrD,MAAMC,YAAY,GAAG3B,OAAO,CAACW,KAAK,CAACiB,aAAa,CAAC;EAEjD,MAAMC,WAAW,GAAG9B,WAAW,CAAC;IAC9B+B,KAAK,EAAEnB,KAAK,CAACoB,cAAc,CAACC,MAAM;IAClCC,IAAI,EAAE,CAACX,YAAY,EAAEG,UAAU,CAAC;IAChCS,EAAE,EAAGC,KAAK,IAAK,CAAC,CAACA,KAAK,CAACb,YAAY,CAAC,GAAGG,UAAU,CAAC,EAAEI;EACtD,CAAC,CAAC;EAEF,MAAMO,iBAAiB,GAAGA,CAAA,KAAM;IAC9BzB,KAAK,CAAC0B,WAAW,CAACC,gBAAgB,CAAC;MACjCC,cAAc,EAAE3B;IAClB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM4B,QAAQ,GAAGA,CAAA,KAAM7B,KAAK,CAAC8B,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAM/B,KAAK,CAAC8B,SAAS,CAAC,KAAK,CAAC;EAE9C3C,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6B,YAAY,EAAEhB,KAAK,CAACgC,GAAG,CAACC,iBAAiB,CAAC,CAAC;EAClD,CAAC,EAAE,CAACjB,YAAY,EAAEhB,KAAK,CAAC,CAAC;EAEzB,IAAI,CAACE,SAAS,IAAI,CAACgB,WAAW,EAAE;IAC9B,OAAO,IAAI;EACb;EAEA,oBACEpB,KAAA,CAAAF,SAAA;IAAAsC,QAAA,gBACExC,IAAA,CAACJ,eAAe;MACdU,KAAK,EAAEA,KAAM;MACbS,QAAQ,EAAEA,QAAS;MACnBL,sBAAsB,EAAEA,sBAAuB;MAC/CH,yBAAyB,EAAEA,yBAA0B;MACrDE,cAAc,EAAEA,cAAe;MAC/BE,mBAAmB,EAAEA,mBAAoB;MACzCC,qBAAqB,EAAEA,qBAAsB;MAC7CC,kBAAkB,EAAEA;IAAmB,CACxC,CAAC,eAEFb,IAAA,CAACH,YAAY;MACXS,KAAK,EAAEA,KAAM;MACbmC,gBAAgB,EAAEV,iBAAkB;MACpCW,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBvB,oBAAoB,EAAEA,oBAAqB;MAC3CE,aAAa,EAAEA;IAAc,CAC9B,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { useEffect, useMemo } from 'react';
5
+ import { View, Animated, StyleSheet, Platform } from 'react-native';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const ThreeDotsLoader = ({
8
+ dotsCount = 3,
9
+ animationDuration = 250,
10
+ backgroundColor = '#55ABE0'
11
+ }) => {
12
+ const isWeb = Platform.OS === 'web';
13
+ const animations = useMemo(() => [...Array(dotsCount)].map(() => new Animated.Value(0)), [dotsCount]);
14
+ useEffect(() => {
15
+ const animationsArray = animations.map((anim, index) => Animated.sequence([Animated.timing(anim, {
16
+ toValue: 1,
17
+ duration: animationDuration,
18
+ useNativeDriver: !isWeb,
19
+ delay: index * (animationDuration / dotsCount)
20
+ }), Animated.timing(anim, {
21
+ toValue: 0,
22
+ duration: animationDuration,
23
+ useNativeDriver: !isWeb
24
+ })]));
25
+ Animated.loop(Animated.parallel(animationsArray)).start();
26
+ }, [animations, animationDuration]);
27
+ return /*#__PURE__*/_jsx(View, {
28
+ style: styles.container,
29
+ children: animations.map((anim, index) => {
30
+ const translateY = anim.interpolate({
31
+ inputRange: [0, 1],
32
+ outputRange: [-6, 0]
33
+ });
34
+ return /*#__PURE__*/_jsx(Animated.View, {
35
+ style: [styles.dot, {
36
+ transform: [{
37
+ translateY
38
+ }]
39
+ }, {
40
+ backgroundColor
41
+ }]
42
+ }, index);
43
+ })
44
+ });
45
+ };
46
+ const styles = StyleSheet.create({
47
+ container: {
48
+ flexDirection: 'row',
49
+ justifyContent: 'center',
50
+ alignItems: 'center'
51
+ },
52
+ dot: {
53
+ borderRadius: 6,
54
+ height: 12,
55
+ width: 12,
56
+ marginHorizontal: 3
57
+ }
58
+ });
59
+ //# sourceMappingURL=ThreeDotsLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useMemo","View","Animated","StyleSheet","Platform","jsx","_jsx","ThreeDotsLoader","dotsCount","animationDuration","backgroundColor","isWeb","OS","animations","Array","map","Value","animationsArray","anim","index","sequence","timing","toValue","duration","useNativeDriver","delay","loop","parallel","start","style","styles","container","children","translateY","interpolate","inputRange","outputRange","dot","transform","create","flexDirection","justifyContent","alignItems","borderRadius","height","width","marginHorizontal"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC1C,SAASC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQnE,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,SAAS,GAAG,CAAC;EACbC,iBAAiB,GAAG,GAAG;EACvBC,eAAe,GAAG;AACH,CAAC,KAAK;EACrB,MAAMC,KAAK,GAAGP,QAAQ,CAACQ,EAAE,KAAK,KAAK;EACnC,MAAMC,UAAU,GAAGb,OAAO,CACxB,MAAM,CAAC,GAAGc,KAAK,CAACN,SAAS,CAAC,CAAC,CAACO,GAAG,CAAC,MAAM,IAAIb,QAAQ,CAACc,KAAK,CAAC,CAAC,CAAC,CAAC,EAC5D,CAACR,SAAS,CACZ,CAAC;EAEDT,SAAS,CAAC,MAAM;IACd,MAAMkB,eAAe,GAAGJ,UAAU,CAACE,GAAG,CAAC,CAACG,IAAI,EAAEC,KAAK,KACjDjB,QAAQ,CAACkB,QAAQ,CAAC,CAChBlB,QAAQ,CAACmB,MAAM,CAACH,IAAI,EAAE;MACpBI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAEd,iBAAiB;MAC3Be,eAAe,EAAE,CAACb,KAAK;MACvBc,KAAK,EAAEN,KAAK,IAAIV,iBAAiB,GAAGD,SAAS;IAC/C,CAAC,CAAC,EACFN,QAAQ,CAACmB,MAAM,CAACH,IAAI,EAAE;MACpBI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAEd,iBAAiB;MAC3Be,eAAe,EAAE,CAACb;IACpB,CAAC,CAAC,CACH,CACH,CAAC;IAEDT,QAAQ,CAACwB,IAAI,CAACxB,QAAQ,CAACyB,QAAQ,CAACV,eAAe,CAAC,CAAC,CAACW,KAAK,CAAC,CAAC;EAC3D,CAAC,EAAE,CAACf,UAAU,EAAEJ,iBAAiB,CAAC,CAAC;EAEnC,oBACEH,IAAA,CAACL,IAAI;IAAC4B,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BnB,UAAU,CAACE,GAAG,CAAC,CAACG,IAAI,EAAEC,KAAK,KAAK;MAC/B,MAAMc,UAAU,GAAGf,IAAI,CAACgB,WAAW,CAAC;QAClCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClBC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;MACrB,CAAC,CAAC;MAEF,oBACE9B,IAAA,CAACJ,QAAQ,CAACD,IAAI;QAEZ4B,KAAK,EAAE,CACLC,MAAM,CAACO,GAAG,EACV;UAAEC,SAAS,EAAE,CAAC;YAAEL;UAAW,CAAC;QAAE,CAAC,EAC/B;UAAEvB;QAAgB,CAAC;MACnB,GALGS,KAMN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG3B,UAAU,CAACoC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDL,GAAG,EAAE;IACHM,YAAY,EAAE,CAAC;IACfC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACTC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ export const AUDIO_CONFIG = {
5
+ audioEncoding: 'LINEAR16',
6
+ pitch: 0,
7
+ speakingRate: 0.8
8
+ };
9
+ export const DEFAULT_VOICE = {
10
+ languageCode: 'en-US',
11
+ name: 'en-US-Wavenet-C'
12
+ };
13
+ export const TEXT_TO_SPEECH_CONFIG = Platform.OS === 'ios' ? {
14
+ audioConfig: {
15
+ audioEncoding: 'MP3',
16
+ pitch: 0.8,
17
+ speakingRate: 0.8
18
+ },
19
+ voice: {
20
+ languageCode: 'en-US',
21
+ name: 'en-US-Wavenet-C'
22
+ }
23
+ } : {
24
+ audioConfig: AUDIO_CONFIG,
25
+ voice: DEFAULT_VOICE
26
+ };
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","OS","audioConfig","voice"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG;EACxBC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EACzBC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAC9BR,QAAQ,CAACS,EAAE,KAAK,KAAK,GACf;EACIC,WAAW,EAAE;IACTR,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,GAAG;IACVC,YAAY,EAAE;EAClB,CAAC;EACDO,KAAK,EAAE;IACHL,YAAY,EAAE,OAAO;IACrBC,IAAI,EAAE;EACV;AACJ,CAAC,GACD;EACIG,WAAW,EAAET,YAAY;EACzBU,KAAK,EAAEN;AACX,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ // https://stackoverflow.com/questions/56575859/google-translate-api-does-not-return-apostrophe-as-apostrophe-in-python
4
+ export const decodeHTMLEntities = input => {
5
+ return input.replace(/'/g, "'");
6
+ };
7
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["decodeHTMLEntities","input","replace"],"sourceRoot":"../../../../src","sources":["features/chatbot/helpers.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,kBAAkB,GAAIC,KAAa,IAAK;EACjD,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACvC,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export { Chatbot } from "./components/Chatbot.js";
4
+ export { ChatbotModel } from "./model/model.js";
5
+ export { AudioStatus } from "./types/t2s.types.js";
6
+ export { MessageVariant } from "./types/model.types.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,kBAAe;AAC5C,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SAASC,cAAc,QAAwD,wBAAqB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ import { createEffect } from 'effector';
4
+ import { createControllerEffect } from "../../../lib/effector/index.js";
5
+ export class ChatbotAPI {
6
+ constructor(api) {
7
+ this.postMessageFx = createControllerEffect(api.postMessage);
8
+ this.getAlternativesFx = createEffect(api.getAlternatives);
9
+ this.translateTextFx = createEffect(api.postTranslateText);
10
+ this.textToSpeechTextFx = createEffect(api.postTextToSpeech);
11
+ }
12
+ }
13
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEffect","createControllerEffect","ChatbotAPI","constructor","api","postMessageFx","postMessage","getAlternativesFx","getAlternatives","translateTextFx","postTranslateText","textToSpeechTextFx","postTextToSpeech"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAE/C,SAASC,sBAAsB,QAAQ,gCAAuB;AAa9D,OAAO,MAAMC,UAAU,CAAC;EAMpBC,WAAWA,CAACC,GAA6B,EAAE;IACvC,IAAI,CAACC,aAAa,GAAGJ,sBAAsB,CAACG,GAAG,CAACE,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAGP,YAAY,CAACI,GAAG,CAACI,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAGT,YAAY,CAACI,GAAG,CAACM,iBAAiB,CAAC;IAC1D,IAAI,CAACC,kBAAkB,GAAGX,YAAY,CAACI,GAAG,CAACQ,gBAAgB,CAAC;EAChE;AACJ","ignoreList":[]}