@magmamath/students-features 0.7.0 → 0.8.0-rc.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 (229) hide show
  1. package/dist/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +8 -15
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -0
  3. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +1 -1
  4. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +74 -0
  6. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  7. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +144 -0
  8. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  9. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +138 -0
  10. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  11. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +66 -0
  12. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  13. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +106 -0
  14. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  15. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
  16. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  17. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
  18. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/constants.js +6 -1
  20. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/helpers.js +75 -1
  22. package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
  23. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  24. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +49 -11
  25. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  26. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js +16 -0
  27. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +11 -19
  29. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  30. package/dist/commonjs/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
  31. package/dist/commonjs/features/chatbot/model/ChatbotTranslation.js.map +1 -0
  32. package/dist/commonjs/features/chatbot/types/model.types.js +6 -1
  33. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  34. package/dist/commonjs/features/chatbot/types/units.types.js +10 -0
  35. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -1
  36. package/dist/commonjs/shared/hooks/useKeyDownListener.js +3 -2
  37. package/dist/commonjs/shared/hooks/useKeyDownListener.js.map +1 -1
  38. package/dist/commonjs/shared/translation/localization/ca.json +3 -2
  39. package/dist/commonjs/shared/translation/localization/en.json +3 -2
  40. package/dist/commonjs/shared/translation/localization/gb.json +3 -2
  41. package/dist/commonjs/shared/translation/localization/sct.json +3 -2
  42. package/dist/commonjs/shared/translation/localization/sw.json +3 -2
  43. package/dist/module/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +6 -13
  44. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -0
  45. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +1 -1
  46. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  47. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +67 -0
  48. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  49. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +138 -0
  50. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  51. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +131 -0
  52. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  53. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +60 -0
  54. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  55. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +98 -0
  56. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  57. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
  58. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  59. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  60. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  61. package/dist/module/features/chatbot/constants.js +5 -0
  62. package/dist/module/features/chatbot/constants.js.map +1 -1
  63. package/dist/module/features/chatbot/helpers.js +71 -0
  64. package/dist/module/features/chatbot/helpers.js.map +1 -1
  65. package/dist/module/features/chatbot/index.js.map +1 -1
  66. package/dist/module/features/chatbot/model/ChatBotModel.js +49 -11
  67. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  68. package/dist/module/features/chatbot/model/ChatBotTextInput.js +11 -0
  69. package/dist/module/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  70. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +11 -19
  71. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  72. package/dist/module/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
  73. package/dist/module/features/chatbot/model/ChatbotTranslation.js.map +1 -0
  74. package/dist/module/features/chatbot/types/model.types.js +5 -0
  75. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  76. package/dist/module/features/chatbot/types/units.types.js +6 -0
  77. package/dist/module/features/chatbot/types/units.types.js.map +1 -1
  78. package/dist/module/shared/hooks/useKeyDownListener.js +3 -2
  79. package/dist/module/shared/hooks/useKeyDownListener.js.map +1 -1
  80. package/dist/module/shared/translation/localization/ca.json +3 -2
  81. package/dist/module/shared/translation/localization/en.json +3 -2
  82. package/dist/module/shared/translation/localization/gb.json +3 -2
  83. package/dist/module/shared/translation/localization/sct.json +3 -2
  84. package/dist/module/shared/translation/localization/sw.json +3 -2
  85. package/dist/typescript/{module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → commonjs/features/chatbot/components/Chat/Chat.d.ts} +3 -3
  86. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
  88. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  89. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  90. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  91. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  92. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  93. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  94. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  95. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  96. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  97. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
  98. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  99. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  100. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +3 -1
  101. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  102. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +5 -0
  103. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  104. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts +5 -0
  105. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
  106. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  107. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +5 -6
  108. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  109. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  110. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  111. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  112. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  113. package/dist/typescript/{module/features/chatbot/model/translation.d.ts → commonjs/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
  114. package/dist/typescript/commonjs/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
  115. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +28 -6
  116. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  117. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +28 -3
  118. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  119. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +5 -0
  120. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
  121. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +5 -0
  122. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
  123. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts +1 -1
  124. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  125. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts +1 -1
  126. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts.map +1 -1
  127. package/dist/typescript/commonjs/shared/translation/constants.d.ts +5 -0
  128. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  129. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  130. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  131. package/dist/typescript/{commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → module/features/chatbot/components/Chat/Chat.d.ts} +3 -3
  132. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  133. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
  134. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  135. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  136. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  137. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  138. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  139. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  140. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  141. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  142. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  143. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
  144. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  145. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  146. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +3 -1
  147. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  148. package/dist/typescript/module/features/chatbot/constants.d.ts +5 -0
  149. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  150. package/dist/typescript/module/features/chatbot/helpers.d.ts +5 -0
  151. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
  152. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  153. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +5 -6
  154. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  155. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  156. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  157. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  158. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  159. package/dist/typescript/{commonjs/features/chatbot/model/translation.d.ts → module/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
  160. package/dist/typescript/module/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
  161. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +28 -6
  162. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  163. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +28 -3
  164. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  165. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +5 -0
  166. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
  167. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +5 -0
  168. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
  169. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts +1 -1
  170. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  171. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts +1 -1
  172. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts.map +1 -1
  173. package/dist/typescript/module/shared/translation/constants.d.ts +5 -0
  174. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  175. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  176. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  177. package/package.json +1 -1
  178. package/src/features/chatbot/components/{ChatMessages/ChatbotMessages.tsx → Chat/Chat.tsx} +13 -18
  179. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -2
  180. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +88 -0
  181. package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +156 -0
  182. package/src/features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx +156 -0
  183. package/src/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx +71 -0
  184. package/src/features/chatbot/components/ChatInput/freeText/SendMessageButton.tsx +111 -0
  185. package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +6 -2
  186. package/src/features/chatbot/components/Chatbot.tsx +5 -3
  187. package/src/features/chatbot/constants.ts +7 -0
  188. package/src/features/chatbot/helpers.ts +70 -1
  189. package/src/features/chatbot/index.ts +1 -0
  190. package/src/features/chatbot/model/ChatBotModel.ts +82 -37
  191. package/src/features/chatbot/model/ChatBotTextInput.ts +10 -0
  192. package/src/features/chatbot/model/ChatBotThreadManager.ts +17 -19
  193. package/src/features/chatbot/model/{translation.ts → ChatbotTranslation.ts} +32 -2
  194. package/src/features/chatbot/types/api.types.ts +31 -6
  195. package/src/features/chatbot/types/model.types.ts +35 -2
  196. package/src/features/chatbot/types/translation.types.ts +6 -0
  197. package/src/features/chatbot/types/units.types.ts +6 -0
  198. package/src/shared/hooks/useKeyDownListener.ts +3 -1
  199. package/src/shared/translation/localization/ca.json +3 -2
  200. package/src/shared/translation/localization/en.json +3 -2
  201. package/src/shared/translation/localization/gb.json +3 -2
  202. package/src/shared/translation/localization/sct.json +3 -2
  203. package/src/shared/translation/localization/sw.json +3 -2
  204. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +0 -59
  205. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  206. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -99
  207. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  208. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  209. package/dist/commonjs/features/chatbot/model/translation.js.map +0 -1
  210. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +0 -53
  211. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  212. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -92
  213. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  214. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  215. package/dist/module/features/chatbot/model/translation.js.map +0 -1
  216. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  217. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  218. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
  219. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  220. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  221. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +0 -1
  222. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  223. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  224. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
  225. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  226. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  227. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +0 -1
  228. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +0 -60
  229. package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +0 -91
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ChatBotThreadManager = void 0;
7
7
  var _ThreadItem = require("./ThreadItem.js");
8
+ var _modelTypes = require("../types/model.types.js");
8
9
  var _constants = require("./constants.js");
10
+ var _helpers = require("../helpers.js");
9
11
  class ChatBotThreadManager {
10
12
  api = null;
11
13
  drawBoardAdapter = null;
@@ -41,29 +43,18 @@ class ChatBotThreadManager {
41
43
  setDrawBoardAdapter(adapter) {
42
44
  this.drawBoardAdapter = adapter;
43
45
  }
44
- postMessage = async ({
45
- problemAnswer,
46
- problem,
47
- answer,
48
- language,
49
- imageAltText,
50
- imageCdnId
51
- }) => {
46
+ postMessage = async payload => {
52
47
  if (!this.api) {
53
48
  throw new Error('API is not set in ThreadManagersApi, pls provide API before sending requests');
54
49
  }
55
50
  const threadItem = await this.getThreadItem();
56
- const result = await this.api.getHint({
57
- ...threadItem.getNextHintProps(),
58
- correctAnswer: problemAnswer,
59
- problemDescription: problem,
60
- userAnswer: answer,
61
- language,
62
- imageAltText,
63
- imageCdnId
64
- });
51
+ const {
52
+ type,
53
+ data
54
+ } = (0, _helpers.prepareChatRequestPayload)(payload, threadItem);
55
+ const result = type === _modelTypes.ChatRequestType.Freetext ? await this.api.sendMessage(data) : await this.api.getHint(data);
65
56
  threadItem.history.push(result.message);
66
- if (result.errorStrokeIds) {
57
+ if ('errorStrokeIds' in result && result?.errorStrokeIds) {
67
58
  threadItem.setErrorStrokesIds(result.errorStrokeIds);
68
59
  }
69
60
  const nextOptions = threadItem.history.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : [];
@@ -71,7 +62,8 @@ class ChatBotThreadManager {
71
62
  message: result.message,
72
63
  options: nextOptions,
73
64
  endMessage: !nextOptions.length,
74
- threadId: threadItem.id
65
+ threadId: threadItem.id,
66
+ conversationId: result?.conversationId ?? null
75
67
  };
76
68
  };
77
69
  get(key) {
@@ -1 +1 @@
1
- {"version":3,"names":["_ThreadItem","require","_constants","ChatBotThreadManager","api","drawBoardAdapter","threads","Map","currentKey","constructor","messagesLimit","CHAT_BOT_MODEL_DEFAULTS","THREAD_MESSAGES_LIMIT","messages","defaultMessages","getThreadItem","key","existingThreadItem","get","threadItem","ThreadItem","set","content","getContent","setValidationKey","validationKey","text","setText","strokes","length","setStrokes","setDrawBoardAdapter","adapter","postMessage","problemAnswer","problem","answer","language","imageAltText","imageCdnId","Error","result","getHint","getNextHintProps","correctAnswer","problemDescription","userAnswer","history","push","message","errorStrokeIds","setErrorStrokesIds","nextOptions","anotherHintOption","options","endMessage","threadId","id","reset","delete","clear","setMessagesLimit","limit","setApi","setCurrentKey","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotThreadManager.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAaO,MAAME,oBAAoB,CAAC;EACxBC,GAAG,GAA4B,IAAI;EACnCC,gBAAgB,GAAiC,IAAI;EAC5CC,OAAO,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAGhDC,UAAU,GAAG,EAAE;EAIhBC,WAAWA,CAAC;IACjBJ,gBAAgB;IAChBD,GAAG;IACHM,aAAa,GAAGC,kCAAuB,CAACC,qBAAqB;IAC7DC;EACyB,CAAC,EAAE;IAC5B,IAAIT,GAAG,EAAE,IAAI,CAACA,GAAG,GAAGA,GAAG;IACvB,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB,IAAI,IAAI;IAChD,IAAI,CAACK,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACI,eAAe,GAAGD,QAAQ;EACjC;EAEA,MAAcE,aAAaA,CAAA,EAAG;IAC5B,MAAMC,GAAG,GAAG,IAAI,CAACR,UAAU;IAC3B,MAAMS,kBAAkB,GAAG,IAAI,CAACX,OAAO,CAACY,GAAG,CAACF,GAAG,CAAC;IAChD,IAAIC,kBAAkB,EAAE,OAAOA,kBAAkB;IACjD,MAAME,UAAU,GAAG,IAAIC,sBAAU,CAAC,CAAC;IACnC,IAAI,CAACd,OAAO,CAACe,GAAG,CAACL,GAAG,EAAEG,UAAU,CAAC;IACjC,IAAI,CAAC,IAAI,CAACd,gBAAgB,EAAE,OAAOc,UAAU;IAC7C,IAAI;MACF,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACjB,gBAAgB,CAACkB,UAAU,CAAC,CAAC;MACxD,IAAI,CAACD,OAAO,EAAE,OAAOH,UAAU;MAC/BA,UAAU,CAACK,gBAAgB,CAACF,OAAO,CAACG,aAAa,CAAC;MAClD,IAAIH,OAAO,CAACI,IAAI,EAAE,OAAOP,UAAU,CAACQ,OAAO,CAACL,OAAO,CAACI,IAAI,CAAC;MACzD,IAAIJ,OAAO,CAACM,OAAO,EAAEC,MAAM,EAAE,OAAOV,UAAU,CAACW,UAAU,CAACR,OAAO,CAACM,OAAO,CAAC;IAC5E,CAAC,CAAC,MAAM,CAAC;IAET,OAAOT,UAAU;EACnB;EAEOY,mBAAmBA,CAACC,OAA8B,EAAE;IACzD,IAAI,CAAC3B,gBAAgB,GAAG2B,OAAO;EACjC;EAEgBC,WAAW,GAAG,MAAAA,CAAO;IACnCC,aAAa;IACbC,OAAO;IACPC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC;EACkB,CAAC,KAAmC;IACtD,IAAI,CAAC,IAAI,CAACnC,GAAG,EAAE;MACb,MAAM,IAAIoC,KAAK,CACb,8EACF,CAAC;IACH;IACA,MAAMrB,UAAU,GAAG,MAAM,IAAI,CAACJ,aAAa,CAAC,CAAC;IAE7C,MAAM0B,MAAM,GAAG,MAAM,IAAI,CAACrC,GAAG,CAACsC,OAAO,CAAC;MACpC,GAAGvB,UAAU,CAACwB,gBAAgB,CAAC,CAAC;MAChCC,aAAa,EAAEV,aAAa;MAC5BW,kBAAkB,EAAEV,OAAO;MAC3BW,UAAU,EAAEV,MAAM;MAClBC,QAAQ;MACRC,YAAY;MACZC;IACF,CAAC,CAAC;IAEFpB,UAAU,CAAC4B,OAAO,CAACC,IAAI,CAACP,MAAM,CAACQ,OAAO,CAAC;IACvC,IAAIR,MAAM,CAACS,cAAc,EAAE;MACzB/B,UAAU,CAACgC,kBAAkB,CAACV,MAAM,CAACS,cAAc,CAAC;IACtD;IACA,MAAME,WAAW,GACfjC,UAAU,CAAC4B,OAAO,CAAClB,MAAM,GAAG,IAAI,CAACnB,aAAa,GAAG,CAAC,IAAI,CAACI,eAAe,CAACuC,iBAAiB,CAAC,GAAG,EAAE;IAEhG,OAAO;MACLJ,OAAO,EAAER,MAAM,CAACQ,OAAO;MACvBK,OAAO,EAAEF,WAAW;MACpBG,UAAU,EAAE,CAACH,WAAW,CAACvB,MAAM;MAC/B2B,QAAQ,EAAErC,UAAU,CAACsC;IACvB,CAAC;EACH,CAAC;EAEMvC,GAAGA,CAACF,GAAW,EAAE;IACtB,OAAO,IAAI,CAACV,OAAO,CAACY,GAAG,CAACF,GAAG,CAAC;EAC9B;EAEO0C,KAAKA,CAAC1C,GAAY,EAAE;IACzB,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MAC3B,IAAI,CAACV,OAAO,CAACqD,MAAM,CAAC3C,GAAG,CAAC;MACxB;IACF;IACA,IAAI,CAACV,OAAO,CAACsD,KAAK,CAAC,CAAC;EACtB;EAEOC,gBAAgBA,CAACC,KAAa,EAAE;IACrC,IAAI,CAACpD,aAAa,GAAGoD,KAAK;EAC5B;EAEOC,MAAMA,CAAC3D,GAAqB,EAAE;IACnC,IAAI,CAACA,GAAG,GAAGA,GAAG;IACd,OAAO,IAAI;EACb;EAEO4D,aAAaA,CAAChD,GAAW,EAAE;IAChC,IAAI,CAACR,UAAU,GAAGQ,GAAG;EACvB;AACF;AAACiD,OAAA,CAAA9D,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ThreadItem","require","_modelTypes","_constants","_helpers","ChatBotThreadManager","api","drawBoardAdapter","threads","Map","currentKey","constructor","messagesLimit","CHAT_BOT_MODEL_DEFAULTS","THREAD_MESSAGES_LIMIT","messages","defaultMessages","getThreadItem","key","existingThreadItem","get","threadItem","ThreadItem","set","content","getContent","setValidationKey","validationKey","text","setText","strokes","length","setStrokes","setDrawBoardAdapter","adapter","postMessage","payload","Error","type","data","prepareChatRequestPayload","result","ChatRequestType","Freetext","sendMessage","getHint","history","push","message","errorStrokeIds","setErrorStrokesIds","nextOptions","anotherHintOption","options","endMessage","threadId","id","conversationId","reset","delete","clear","setMessagesLimit","limit","setApi","setCurrentKey","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotThreadManager.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AASA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAcO,MAAMI,oBAAoB,CAAC;EACxBC,GAAG,GAA4B,IAAI;EACnCC,gBAAgB,GAAiC,IAAI;EAC5CC,OAAO,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAGhDC,UAAU,GAAG,EAAE;EAIhBC,WAAWA,CAAC;IACjBJ,gBAAgB;IAChBD,GAAG;IACHM,aAAa,GAAGC,kCAAuB,CAACC,qBAAqB;IAC7DC;EACyB,CAAC,EAAE;IAC5B,IAAIT,GAAG,EAAE,IAAI,CAACA,GAAG,GAAGA,GAAG;IACvB,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB,IAAI,IAAI;IAChD,IAAI,CAACK,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACI,eAAe,GAAGD,QAAQ;EACjC;EAEA,MAAcE,aAAaA,CAAA,EAAG;IAC5B,MAAMC,GAAG,GAAG,IAAI,CAACR,UAAU;IAC3B,MAAMS,kBAAkB,GAAG,IAAI,CAACX,OAAO,CAACY,GAAG,CAACF,GAAG,CAAC;IAChD,IAAIC,kBAAkB,EAAE,OAAOA,kBAAkB;IACjD,MAAME,UAAU,GAAG,IAAIC,sBAAU,CAAC,CAAC;IACnC,IAAI,CAACd,OAAO,CAACe,GAAG,CAACL,GAAG,EAAEG,UAAU,CAAC;IACjC,IAAI,CAAC,IAAI,CAACd,gBAAgB,EAAE,OAAOc,UAAU;IAC7C,IAAI;MACF,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACjB,gBAAgB,CAACkB,UAAU,CAAC,CAAC;MACxD,IAAI,CAACD,OAAO,EAAE,OAAOH,UAAU;MAC/BA,UAAU,CAACK,gBAAgB,CAACF,OAAO,CAACG,aAAa,CAAC;MAClD,IAAIH,OAAO,CAACI,IAAI,EAAE,OAAOP,UAAU,CAACQ,OAAO,CAACL,OAAO,CAACI,IAAI,CAAC;MACzD,IAAIJ,OAAO,CAACM,OAAO,EAAEC,MAAM,EAAE,OAAOV,UAAU,CAACW,UAAU,CAACR,OAAO,CAACM,OAAO,CAAC;IAC5E,CAAC,CAAC,MAAM,CAAC;IAET,OAAOT,UAAU;EACnB;EAEOY,mBAAmBA,CAACC,OAA8B,EAAE;IACzD,IAAI,CAAC3B,gBAAgB,GAAG2B,OAAO;EACjC;EAEgBC,WAAW,GAAG,MAC5BC,OAA2B,IACM;IACjC,IAAI,CAAC,IAAI,CAAC9B,GAAG,EAAE;MACb,MAAM,IAAI+B,KAAK,CACb,8EACF,CAAC;IACH;IACA,MAAMhB,UAAU,GAAG,MAAM,IAAI,CAACJ,aAAa,CAAC,CAAC;IAC7C,MAAM;MAAEqB,IAAI;MAAEC;IAAK,CAAC,GAAG,IAAAC,kCAAyB,EAACJ,OAAO,EAAEf,UAAU,CAAC;IAErE,MAAMoB,MAA8C,GAClDH,IAAI,KAAKI,2BAAe,CAACC,QAAQ,GAC7B,MAAM,IAAI,CAACrC,GAAG,CAACsC,WAAW,CAACL,IAAI,CAAC,GAChC,MAAM,IAAI,CAACjC,GAAG,CAACuC,OAAO,CAACN,IAAI,CAAC;IAElClB,UAAU,CAACyB,OAAO,CAACC,IAAI,CAACN,MAAM,CAACO,OAAO,CAAC;IAEvC,IAAI,gBAAgB,IAAIP,MAAM,IAAIA,MAAM,EAAEQ,cAAc,EAAE;MACxD5B,UAAU,CAAC6B,kBAAkB,CAACT,MAAM,CAACQ,cAAc,CAAC;IACtD;IAEA,MAAME,WAAW,GACf9B,UAAU,CAACyB,OAAO,CAACf,MAAM,GAAG,IAAI,CAACnB,aAAa,GAAG,CAAC,IAAI,CAACI,eAAe,CAACoC,iBAAiB,CAAC,GAAG,EAAE;IAEhG,OAAO;MACLJ,OAAO,EAAEP,MAAM,CAACO,OAAO;MACvBK,OAAO,EAAEF,WAAW;MACpBG,UAAU,EAAE,CAACH,WAAW,CAACpB,MAAM;MAC/BwB,QAAQ,EAAElC,UAAU,CAACmC,EAAE;MACvBC,cAAc,EAAEhB,MAAM,EAAEgB,cAAc,IAAI;IAC5C,CAAC;EACH,CAAC;EAEMrC,GAAGA,CAACF,GAAW,EAAE;IACtB,OAAO,IAAI,CAACV,OAAO,CAACY,GAAG,CAACF,GAAG,CAAC;EAC9B;EAEOwC,KAAKA,CAACxC,GAAY,EAAE;IACzB,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MAC3B,IAAI,CAACV,OAAO,CAACmD,MAAM,CAACzC,GAAG,CAAC;MACxB;IACF;IACA,IAAI,CAACV,OAAO,CAACoD,KAAK,CAAC,CAAC;EACtB;EAEOC,gBAAgBA,CAACC,KAAa,EAAE;IACrC,IAAI,CAAClD,aAAa,GAAGkD,KAAK;EAC5B;EAEOC,MAAMA,CAACzD,GAAqB,EAAE;IACnC,IAAI,CAACA,GAAG,GAAGA,GAAG;IACd,OAAO,IAAI;EACb;EAEO0D,aAAaA,CAAC9C,GAAW,EAAE;IAChC,IAAI,CAACR,UAAU,GAAGQ,GAAG;EACvB;AACF;AAAC+C,OAAA,CAAA5D,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -41,6 +41,34 @@ class ChatbotTranslation {
41
41
  }),
42
42
  effect: this.translateBatchFx
43
43
  });
44
+ this.translateSingleMessageFx = (0, _effector.attach)({
45
+ source: {
46
+ context: this.$context,
47
+ isTranslationActive: this.$isTranslated
48
+ },
49
+ mapParams: (message, {
50
+ context,
51
+ isTranslationActive
52
+ }) => ({
53
+ message,
54
+ targetLanguage: context?.translationTargetLanguage ?? null,
55
+ isTranslationActive
56
+ }),
57
+ effect: (0, _effector.createEffect)(async ({
58
+ message,
59
+ targetLanguage,
60
+ isTranslationActive
61
+ }) => {
62
+ if (!isTranslationActive || !targetLanguage || !message.trim().length) return message;
63
+ const response = await this.api.translateTextFx({
64
+ text: [message],
65
+ targetLanguage
66
+ });
67
+ return response.data.translations.map(({
68
+ translatedText
69
+ }) => (0, _helpers.decodeHTMLEntities)(translatedText))?.[0] ?? '';
70
+ })
71
+ });
44
72
  (0, _effector.sample)({
45
73
  clock: this.translateAllMessagesFx.doneData,
46
74
  filter: (_, translatedMessages) => !!translatedMessages.length,
@@ -176,4 +204,4 @@ class ChatbotTranslation {
176
204
  }
177
205
  }
178
206
  exports.ChatbotTranslation = ChatbotTranslation;
179
- //# sourceMappingURL=translation.js.map
207
+ //# sourceMappingURL=ChatbotTranslation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_helpers","_translationHelpers","ChatbotTranslation","setIsTranslated","createEvent","$isTranslated","restore","constructor","api","$key","defaultMessages","alternativesModel","$context","chats","applyTranslationFx","attach","source","mapParams","messages","isTranslationActive","context","targetLanguage","translationTargetLanguage","effect","translateMessagesFx","translateAllMessagesFx","$data","$store","_","key","alternatives","translateBatchFx","translateSingleMessageFx","message","createEffect","trim","length","response","translateTextFx","text","data","translations","map","translatedText","decodeHTMLEntities","sample","clock","doneData","filter","translatedMessages","fn","target","update","translateRequest","textList","Object","values","flat","entries","reduce","result","texts","splice","addTranslationToAlternatives","props","set","addTranslationsToAlternative","allTranslated","every","translatedMessage","error","endMessage","defaultOptions","anotherHintOption","options","getOptionsForTranslation","lastMessage","at","translatedTextsList","defaultMessagesOptions","flatMap","option","alternativesHints","hints","alternativesDefaults","default","forEach","index","translatedHints","translatedDefaults","isLastMessage","addTranslationToOptions","translatedTexts","shift","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatbotTranslation.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MessageVariant = void 0;
6
+ exports.MessageVariant = exports.ChatRequestType = void 0;
7
7
  let MessageVariant = exports.MessageVariant = /*#__PURE__*/function (MessageVariant) {
8
8
  MessageVariant["SENT"] = "sent";
9
9
  MessageVariant["RECEIVED"] = "received";
10
10
  return MessageVariant;
11
11
  }({});
12
+ let ChatRequestType = exports.ChatRequestType = /*#__PURE__*/function (ChatRequestType) {
13
+ ChatRequestType["Freetext"] = "sendMessage";
14
+ ChatRequestType["Hint"] = "getHint";
15
+ return ChatRequestType;
16
+ }({});
12
17
  //# sourceMappingURL=model.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MessageVariant","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/model.types.ts"],"mappings":";;;;;;IA2EYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["MessageVariant","exports","ChatRequestType"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/model.types.ts"],"mappings":";;;;;;IAiFYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAAA,IA6CdE,eAAe,GAAAD,OAAA,CAAAC,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1,2 +1,12 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatInputMode = void 0;
7
+ let ChatInputMode = exports.ChatInputMode = /*#__PURE__*/function (ChatInputMode) {
8
+ ChatInputMode[ChatInputMode["FreeText"] = 1] = "FreeText";
9
+ ChatInputMode[ChatInputMode["Option"] = 2] = "Option";
10
+ return ChatInputMode;
11
+ }({});
2
12
  //# sourceMappingURL=units.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/units.types.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["ChatInputMode","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/units.types.ts"],"mappings":";;;;;;IAwCYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA","ignoreList":[]}
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useKeyDownListener = void 0;
7
7
  var _react = require("react");
8
8
  var _constants = require("../../lib/constants.js");
9
- const useKeyDownListener = (callback, overrideKeys = [_constants.KeyboardKeys.ENTER]) => {
9
+ const useKeyDownListener = (callback, enabled = true, overrideKeys = [_constants.KeyboardKeys.ENTER]) => {
10
10
  const callbackRef = (0, _react.useRef)(callback);
11
11
  callbackRef.current = callback;
12
12
  (0, _react.useEffect)(() => {
13
+ if (!enabled) return;
13
14
  const eventHandler = event => {
14
15
  if (overrideKeys.includes(event.key)) {
15
16
  event.preventDefault();
@@ -21,7 +22,7 @@ const useKeyDownListener = (callback, overrideKeys = [_constants.KeyboardKeys.EN
21
22
  return () => {
22
23
  document.removeEventListener('keydown', eventHandler, true);
23
24
  };
24
- }, []);
25
+ }, [enabled]);
25
26
  };
26
27
  exports.useKeyDownListener = useKeyDownListener;
27
28
  //# sourceMappingURL=useKeyDownListener.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_constants","useKeyDownListener","callback","overrideKeys","KeyboardKeys","ENTER","callbackRef","useRef","current","useEffect","eventHandler","event","includes","key","preventDefault","stopPropagation","document","addEventListener","removeEventListener","exports"],"sourceRoot":"../../../../src","sources":["shared/hooks/useKeyDownListener.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,kBAAkB,GAAGA,CAChCC,QAAwC,EACxCC,YAAY,GAAG,CAACC,uBAAY,CAACC,KAAK,CAAC,KAChC;EACH,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACL,QAAQ,CAAC;EACpCI,WAAW,CAACE,OAAO,GAAGN,QAAQ;EAE9B,IAAAO,gBAAS,EAAC,MAAM;IACd,MAAMC,YAAY,GAAIC,KAAoB,IAAK;MAC7C,IAAIR,YAAY,CAACS,QAAQ,CAACD,KAAK,CAACE,GAAmB,CAAC,EAAE;QACpDF,KAAK,CAACG,cAAc,CAAC,CAAC;QACtBH,KAAK,CAACI,eAAe,CAAC,CAAC;MACzB;MAEAT,WAAW,CAACE,OAAO,CAACG,KAAK,CAAC;IAC5B,CAAC;IAEDK,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEP,YAAY,EAAE,IAAI,CAAC;IACxD,OAAO,MAAM;MACXM,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAER,YAAY,EAAE,IAAI,CAAC;IAC7D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAAS,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_constants","useKeyDownListener","callback","enabled","overrideKeys","KeyboardKeys","ENTER","callbackRef","useRef","current","useEffect","eventHandler","event","includes","key","preventDefault","stopPropagation","document","addEventListener","removeEventListener","exports"],"sourceRoot":"../../../../src","sources":["shared/hooks/useKeyDownListener.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,kBAAkB,GAAGA,CAChCC,QAAwC,EACxCC,OAAO,GAAG,IAAI,EACdC,YAAY,GAAG,CAACC,uBAAY,CAACC,KAAK,CAAC,KAChC;EACH,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACN,QAAQ,CAAC;EACpCK,WAAW,CAACE,OAAO,GAAGP,QAAQ;EAE9B,IAAAQ,gBAAS,EAAC,MAAM;IACd,IAAI,CAACP,OAAO,EAAE;IACd,MAAMQ,YAAY,GAAIC,KAAoB,IAAK;MAC7C,IAAIR,YAAY,CAACS,QAAQ,CAACD,KAAK,CAACE,GAAmB,CAAC,EAAE;QACpDF,KAAK,CAACG,cAAc,CAAC,CAAC;QACtBH,KAAK,CAACI,eAAe,CAAC,CAAC;MACzB;MAEAT,WAAW,CAACE,OAAO,CAACG,KAAK,CAAC;IAC5B,CAAC;IAEDK,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEP,YAAY,EAAE,IAAI,CAAC;IACxD,OAAO,MAAM;MACXM,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAER,YAAY,EAAE,IAAI,CAAC;IAC7D,CAAC;EACH,CAAC,EAAE,CAACR,OAAO,CAAC,CAAC;AACf,CAAC;AAAAiB,OAAA,CAAAnB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -13,11 +13,12 @@
13
13
  "time.yearsAgo": "years ago",
14
14
  "chat": {
15
15
  "anotherHint": "Give me another hint",
16
- "giveHint": "Give me a hint",
16
+ "giveHint": "I need a hint",
17
17
  "answerAgain": "Answer again to get another hint!",
18
18
  "errorMessage": "Something went wrong! Try again",
19
19
  "howCanIHelp": "Hi! Do you want help?",
20
- "showError": "Show error"
20
+ "showError": "Show error",
21
+ "inputPlaceholder": "Type..."
21
22
  },
22
23
  "gifCelebrations": {
23
24
  "greatStart": "Great start!",
@@ -13,11 +13,12 @@
13
13
  "time.yearsAgo": "years ago",
14
14
  "chat": {
15
15
  "anotherHint": "Give me another hint",
16
- "giveHint": "Give me a hint",
16
+ "giveHint": "I need a hint",
17
17
  "answerAgain": "Answer again to get another hint!",
18
18
  "errorMessage": "Something went wrong! Try again",
19
19
  "howCanIHelp": "Hi! Do you want help?",
20
- "showError": "Show error"
20
+ "showError": "Show error",
21
+ "inputPlaceholder": "Type..."
21
22
  },
22
23
  "gifCelebrations": {
23
24
  "greatStart": "Great start!",
@@ -13,11 +13,12 @@
13
13
  "time.yearsAgo": "years ago",
14
14
  "chat": {
15
15
  "anotherHint": "Give me another hint",
16
- "giveHint": "Give me a hint",
16
+ "giveHint": "I need a hint",
17
17
  "answerAgain": "Answer again to get another hint!",
18
18
  "errorMessage": "Something went wrong! Try again",
19
19
  "howCanIHelp": "Hi! Do you want help?",
20
- "showError": "Show error"
20
+ "showError": "Show error",
21
+ "inputPlaceholder": "Type..."
21
22
  },
22
23
  "gifCelebrations": {
23
24
  "greatStart": "Great start!",
@@ -13,11 +13,12 @@
13
13
  "time.yearsAgo": "years ago",
14
14
  "chat": {
15
15
  "anotherHint": "Give me another hint",
16
- "giveHint": "Give me a hint",
16
+ "giveHint": "I need a hint",
17
17
  "answerAgain": "Answer again to get another hint!",
18
18
  "errorMessage": "Something went wrong! Try again",
19
19
  "howCanIHelp": "Hi! Do you want help?",
20
- "showError": "Show error"
20
+ "showError": "Show error",
21
+ "inputPlaceholder": "Type..."
21
22
  },
22
23
  "gifCelebrations": {
23
24
  "greatStart": "Great start!",
@@ -13,11 +13,12 @@
13
13
  "time.yearsAgo": "år sedan",
14
14
  "chat": {
15
15
  "anotherHint": "Ge mig en ledtråd",
16
- "giveHint": "Ge mig en ledtråd",
16
+ "giveHint": "Ge ledtråd",
17
17
  "answerAgain": "Svara igen för att få en till ledtråd!",
18
18
  "errorMessage": "Något gick snett! Försök igen",
19
19
  "howCanIHelp": "Hej! Hur kan jag hjälpa dig?",
20
- "showError": "Visa fel"
20
+ "showError": "Visa fel",
21
+ "inputPlaceholder": "Skriv..."
21
22
  },
22
23
  "gifCelebrations": {
23
24
  "greatStart": "Bra start!",
@@ -5,7 +5,7 @@ import { Platform, ScrollView, StyleSheet, useWindowDimensions, View } from 'rea
5
5
  import { useStoreMap, useUnit } from 'effector-react';
6
6
  import { ChatMessage } from "../ChatMessage/ChatMessage.js";
7
7
  import { MessageLoader } from "../ChatMessage/MessageLoader.js";
8
- import { Alternatives } from "../Alternatives/Alternatives.js";
8
+ import { ChatInput } from "../ChatInput/ChatInput.js";
9
9
  import { MessageVariant } from "../../types/model.types.js";
10
10
  import { ColorScheme } from "../../types/style.types.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -14,7 +14,7 @@ const BOTTOM_OFFSET = Platform.select({
14
14
  web: 265,
15
15
  default: 294
16
16
  });
17
- export const ChatbotMessages = ({
17
+ export const Chat = ({
18
18
  model,
19
19
  isHintFeedback,
20
20
  isTextToSpeechEnabled,
@@ -34,12 +34,6 @@ export const ChatbotMessages = ({
34
34
  }) => messages);
35
35
  const lastMessageId = messages.at(-1)?.id;
36
36
  const MAX_HEIGHT = dimensions.height - TOOLBAR_HEIGHT - BOTTOM_OFFSET;
37
- const askChatForHelp = (message, translatedMessage) => {
38
- void model.sendHelpRequestFx({
39
- message,
40
- translatedMessage
41
- });
42
- };
43
37
  return /*#__PURE__*/_jsx(View, {
44
38
  style: [styles.container, {
45
39
  maxHeight: MAX_HEIGHT
@@ -73,11 +67,10 @@ export const ChatbotMessages = ({
73
67
  }, message.id)), isHelpRequestPending && /*#__PURE__*/_jsx(MessageLoader, {
74
68
  colorScheme: colorScheme
75
69
  })]
76
- }), !isHelpRequestPending && isOpen && /*#__PURE__*/_jsx(Alternatives, {
77
- onPressAlternative: askChatForHelp,
78
- hasMessages: messages.length > 1,
70
+ }), isOpen && /*#__PURE__*/_jsx(ChatInput, {
79
71
  isHintFeedback: isHintFeedback,
80
- colorScheme: colorScheme
72
+ colorScheme: colorScheme,
73
+ hasMessages: messages.length > 1
81
74
  })]
82
75
  })
83
76
  });
@@ -99,4 +92,4 @@ const styles = StyleSheet.create({
99
92
  gap: 8
100
93
  }
101
94
  });
102
- //# sourceMappingURL=ChatbotMessages.js.map
95
+ //# sourceMappingURL=Chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","useStoreMap","useUnit","ChatMessage","MessageLoader","ChatInput","MessageVariant","ColorScheme","jsx","_jsx","jsxs","_jsxs","TOOLBAR_HEIGHT","BOTTOM_OFFSET","select","web","default","Chat","model","isHintFeedback","isTextToSpeechEnabled","colorScheme","Blue","dimensions","ref","isOpen","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","messages","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","style","styles","container","maxHeight","children","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","map","message","withIcon","isOwnMessage","variant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","hasMessages","length","create","flex","alignItems","width","paddingVertical","paddingRight"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ export const ChatControls = ({
11
11
  model,
12
12
  onPressChatIcon,
13
13
  onPressClose,
14
- ButtonWrapper,
14
+ ButtonWrapper = React.Fragment,
15
15
  iconSize = {
16
16
  width: 80,
17
17
  height: 100
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","View","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","COLORS","useUnit","ChatbotIcon","CloseIcon","jsx","_jsx","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","iconSize","width","height","isOpen","$isOpen","style","styles","container","children","onPress","button","buttonClose","variant","PRIMARY","size","LARGE","colorScheme","WHITE","raiseLevel","customColorScheme","DEFAULT","backgroundColor","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","COLORS","useUnit","ChatbotIcon","CloseIcon","jsx","_jsx","ChatControls","model","onPressChatIcon","onPressClose","ButtonWrapper","Fragment","iconSize","width","height","isOpen","$isOpen","style","styles","container","children","onPress","button","buttonClose","variant","PRIMARY","size","LARGE","colorScheme","WHITE","raiseLevel","customColorScheme","DEFAULT","backgroundColor","NEUTRAL_1","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_10","PRESSED","NEUTRAL_4","HOVER","NEUTRAL_3","create","alignItems","justifyContent","flexDirection","maxHeight","gap","paddingBottom","borderRadius","paddingHorizontal","borderWidth"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatControls/ChatControls.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useMemo } from 'react';
4
+ import { IS_WEB } from '@magmamath/react-native-ui';
5
+ import { StyleSheet, View } from 'react-native';
6
+ import { useStoreMap, useUnit } from 'effector-react';
7
+ import { useChatModel } from "../../context/ChatBotModelContext.js";
8
+ import { ColorScheme } from "../../types/style.types.js";
9
+ import { HintButtonVariant, RequestHintButton } from "./RequestHintButton.js";
10
+ import { FreeTextInputBlock } from "./freeText/FreeTextInputBlock.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const ChatInput = ({
13
+ isHintFeedback,
14
+ hasMessages,
15
+ colorScheme = ColorScheme.Blue
16
+ }) => {
17
+ const model = useChatModel();
18
+ const alternatives = useUnit(model.$alternatives);
19
+ const isTranslated = useUnit(model.translation.$isTranslated);
20
+ const isTranslationPending = useUnit(model.translation.translateAllMessagesFx.pending);
21
+ const isHelpRequestPending = useUnit(model.sendHelpRequestFx.pending);
22
+ const lastMessageOptions = useStoreMap(model.$currentChatData, ({
23
+ messages
24
+ }) => {
25
+ const lastMessage = messages.at(-1);
26
+ return lastMessage?.options ?? [];
27
+ });
28
+ const option = useMemo(() => {
29
+ if (hasMessages && lastMessageOptions.length) return lastMessageOptions[0];
30
+ const shouldShowNextHintOption = isHintFeedback && !!alternatives?.options.hints || hasMessages || isHelpRequestPending;
31
+ return shouldShowNextHintOption ? alternatives?.options.hints[0] : alternatives?.options.default[0];
32
+ }, [hasMessages, isHintFeedback, isHelpRequestPending, lastMessageOptions, alternatives?.options]);
33
+ const optionLabel = (isTranslated && !isTranslationPending ? option?.translatedText : option?.text) ?? '';
34
+ if (!option) return null;
35
+ const sendMessage = useCallback(() => {
36
+ void model.sendHelpRequestFx({
37
+ message: option.text,
38
+ translatedMessage: option.translatedText
39
+ });
40
+ }, [option.text, option.translatedText]);
41
+ const shouldDisableInput = isHelpRequestPending || hasMessages && lastMessageOptions.length === 0;
42
+ return /*#__PURE__*/_jsx(View, {
43
+ style: styles.container,
44
+ children: IS_WEB && alternatives?.isOpenChatEnabled ? /*#__PURE__*/_jsx(FreeTextInputBlock, {
45
+ optionLabel: optionLabel,
46
+ onOptionPress: sendMessage,
47
+ disabled: shouldDisableInput,
48
+ colorScheme: colorScheme
49
+ }) : /*#__PURE__*/_jsx(RequestHintButton, {
50
+ onPress: sendMessage,
51
+ label: optionLabel,
52
+ disabled: shouldDisableInput,
53
+ colorScheme: colorScheme,
54
+ variant: HintButtonVariant.Default
55
+ })
56
+ });
57
+ };
58
+ const styles = StyleSheet.create({
59
+ container: {
60
+ flex: 1,
61
+ width: 305,
62
+ alignItems: 'center',
63
+ justifyContent: 'center',
64
+ marginVertical: 8
65
+ }
66
+ });
67
+ //# sourceMappingURL=ChatInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","IS_WEB","StyleSheet","View","useStoreMap","useUnit","useChatModel","ColorScheme","HintButtonVariant","RequestHintButton","FreeTextInputBlock","jsx","_jsx","ChatInput","isHintFeedback","hasMessages","colorScheme","Blue","model","alternatives","$alternatives","isTranslated","translation","$isTranslated","isTranslationPending","translateAllMessagesFx","pending","isHelpRequestPending","sendHelpRequestFx","lastMessageOptions","$currentChatData","messages","lastMessage","at","options","option","length","shouldShowNextHintOption","hints","default","optionLabel","translatedText","text","sendMessage","message","translatedMessage","shouldDisableInput","style","styles","container","children","isOpenChatEnabled","onOptionPress","disabled","onPress","label","variant","Default","create","flex","width","alignItems","justifyContent","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/ChatInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ import { Pressable, StyleSheet } from 'react-native';
4
+ import React, { memo } from 'react';
5
+ import Animated, { useSharedValue, withTiming, useAnimatedStyle, interpolateColor } from 'react-native-reanimated';
6
+ import { ArrowRightIcon, ArrowUpIcon, COLORS, FONT_FAMILY, IS_MOBILE, SPACING } from '@magmamath/react-native-ui';
7
+ import { ColorScheme } from '@magmamath/students-features';
8
+ import { MESSAGE_COLORS_MAP } from "../../constants.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export let HintButtonVariant = /*#__PURE__*/function (HintButtonVariant) {
11
+ HintButtonVariant["Default"] = "default";
12
+ HintButtonVariant["Short"] = "short";
13
+ return HintButtonVariant;
14
+ }({});
15
+ const HOVER_ANIMATION_DURATION = 200;
16
+ const REQUEST_HINT_BUTTON = {
17
+ [HintButtonVariant.Default]: {
18
+ width: 305,
19
+ fontSize: 20
20
+ },
21
+ [HintButtonVariant.Short]: {
22
+ width: 163,
23
+ fontSize: 18
24
+ }
25
+ };
26
+ export const RequestHintButton = /*#__PURE__*/memo(({
27
+ onPress,
28
+ label,
29
+ disabled = false,
30
+ colorScheme = ColorScheme.Blue,
31
+ variant = HintButtonVariant.Default
32
+ }) => {
33
+ const hoverSv = useSharedValue(0);
34
+ const onHoverIn = () => {
35
+ if (!disabled) hoverSv.value = withTiming(1, {
36
+ duration: HOVER_ANIMATION_DURATION
37
+ });
38
+ };
39
+ const onHoverOut = () => {
40
+ if (!disabled) hoverSv.value = withTiming(0, {
41
+ duration: HOVER_ANIMATION_DURATION
42
+ });
43
+ };
44
+ const animatedTextContainerStyle = useAnimatedStyle(() => {
45
+ if (disabled) {
46
+ return {
47
+ backgroundColor: COLORS.NEUTRAL_2,
48
+ borderColor: COLORS.NEUTRAL_5
49
+ };
50
+ }
51
+ const defaultBorderColor = variant === HintButtonVariant.Default ? COLORS.NEUTRAL_1 : MESSAGE_COLORS_MAP[colorScheme].sent.border;
52
+ return {
53
+ backgroundColor: interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_1, MESSAGE_COLORS_MAP[colorScheme].sent.background]),
54
+ borderColor: interpolateColor(hoverSv.value, [0, 1], [defaultBorderColor, MESSAGE_COLORS_MAP[colorScheme].sent.border])
55
+ };
56
+ }, [hoverSv, disabled, colorScheme]);
57
+ const animatedTextStyle = useAnimatedStyle(() => {
58
+ if (disabled) return {
59
+ color: COLORS.NEUTRAL_5
60
+ };
61
+ return {
62
+ color: interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1])
63
+ };
64
+ }, [hoverSv, disabled]);
65
+ const iconColor = disabled ? COLORS.NEUTRAL_5 : 'currentColor';
66
+ const {
67
+ width,
68
+ fontSize
69
+ } = REQUEST_HINT_BUTTON[variant];
70
+ return /*#__PURE__*/_jsx(Pressable, {
71
+ onHoverIn: onHoverIn,
72
+ onHoverOut: onHoverOut,
73
+ onPress: onPress,
74
+ style: [styles.button, {
75
+ cursor: disabled ? 'auto' : 'pointer',
76
+ width
77
+ }],
78
+ disabled: disabled,
79
+ accessibilityState: {
80
+ disabled
81
+ },
82
+ accessibilityRole: "button",
83
+ children: /*#__PURE__*/_jsxs(Animated.View, {
84
+ style: [styles.content, animatedTextContainerStyle],
85
+ children: [/*#__PURE__*/_jsx(Animated.Text, {
86
+ numberOfLines: 1,
87
+ style: [styles.text, animatedTextStyle, {
88
+ fontSize
89
+ }],
90
+ children: label
91
+ }), /*#__PURE__*/_jsx(Animated.Text, {
92
+ style: [styles.iconWrapper, animatedTextStyle],
93
+ children: variant === HintButtonVariant.Default ? /*#__PURE__*/_jsx(ArrowRightIcon, {
94
+ color: iconColor,
95
+ size: 16
96
+ }) : /*#__PURE__*/_jsx(ArrowUpIcon, {
97
+ color: iconColor,
98
+ size: 16
99
+ })
100
+ })]
101
+ })
102
+ });
103
+ });
104
+ const styles = StyleSheet.create({
105
+ button: {
106
+ flexDirection: 'row',
107
+ justifyContent: 'flex-end'
108
+ },
109
+ text: {
110
+ fontWeight: '400',
111
+ fontFamily: FONT_FAMILY.buenosAires,
112
+ color: COLORS.NEUTRAL_10
113
+ },
114
+ content: {
115
+ height: 44,
116
+ flex: 1,
117
+ flexDirection: 'row',
118
+ alignItems: 'center',
119
+ justifyContent: 'space-between',
120
+ paddingHorizontal: SPACING[400],
121
+ borderWidth: 1,
122
+ borderRadius: 48,
123
+ elevation: 3,
124
+ shadowColor: '#333',
125
+ shadowOffset: {
126
+ width: 0,
127
+ height: 1
128
+ },
129
+ shadowOpacity: 0.25,
130
+ shadowRadius: 3,
131
+ backgroundColor: COLORS.PRIMARY_BLUE,
132
+ borderColor: COLORS.PRIMARY_BLUE
133
+ },
134
+ iconWrapper: {
135
+ top: IS_MOBILE ? 3 : 0
136
+ }
137
+ });
138
+ //# sourceMappingURL=RequestHintButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","StyleSheet","React","memo","Animated","useSharedValue","withTiming","useAnimatedStyle","interpolateColor","ArrowRightIcon","ArrowUpIcon","COLORS","FONT_FAMILY","IS_MOBILE","SPACING","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","jsxs","_jsxs","HintButtonVariant","HOVER_ANIMATION_DURATION","REQUEST_HINT_BUTTON","Default","width","fontSize","Short","RequestHintButton","onPress","label","disabled","colorScheme","Blue","variant","hoverSv","onHoverIn","value","duration","onHoverOut","animatedTextContainerStyle","backgroundColor","NEUTRAL_2","borderColor","NEUTRAL_5","defaultBorderColor","NEUTRAL_1","sent","border","background","animatedTextStyle","color","NEUTRAL_10","iconColor","style","styles","button","cursor","accessibilityState","accessibilityRole","children","View","content","Text","numberOfLines","text","iconWrapper","size","create","flexDirection","justifyContent","fontWeight","fontFamily","buenosAires","height","flex","alignItems","paddingHorizontal","borderWidth","borderRadius","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","PRIMARY_BLUE","top"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatInput/RequestHintButton.tsx"],"mappings":"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","ignoreList":[]}