@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
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ import React, { useRef, useState } from 'react';
4
+ import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
5
+ import { Platform, StyleSheet, TextInput } from 'react-native';
6
+ import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui';
7
+ import { ColorScheme } from '@magmamath/students-features';
8
+ import { useKeyBoard } from "../../../../../shared/hooks/useKeyboard.js";
9
+ import { KeyboardKeys } from "../../../../../lib/constants.js";
10
+ import { SendMessageButton } from "./SendMessageButton.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ const MAX_AVAILABLE_MESSAGE_LENGTH = 500;
13
+ const COMPACT_WIDTH = 134;
14
+ const FULL_WIDTH = 305;
15
+ const ANIMATION_DURATION = 200;
16
+ export const ChatTextInput = ({
17
+ value,
18
+ submitDisabled,
19
+ onSubmit,
20
+ onChangeText,
21
+ onBlur,
22
+ onFocus,
23
+ colorScheme = ColorScheme.Blue,
24
+ placeholder
25
+ }) => {
26
+ const inputRef = useRef(null);
27
+ const [isFocused, setIsFocused] = useState(false);
28
+ const widthSv = useSharedValue(value ? FULL_WIDTH : COMPACT_WIDTH);
29
+ const animatedStyle = useAnimatedStyle(() => ({
30
+ width: widthSv.value
31
+ }), [widthSv]);
32
+ const handleInputChange = text => {
33
+ if (text.length > MAX_AVAILABLE_MESSAGE_LENGTH) return;
34
+ onChangeText?.(text);
35
+ const hasText = text.trim().length > 0;
36
+ const isExpanded = widthSv.value > COMPACT_WIDTH;
37
+ const shouldCollapseInput = !hasText && isExpanded;
38
+ const shouldExpandInput = hasText && !isExpanded;
39
+ if (shouldExpandInput) {
40
+ widthSv.value = withTiming(FULL_WIDTH, {
41
+ duration: ANIMATION_DURATION
42
+ });
43
+ } else if (shouldCollapseInput) {
44
+ widthSv.value = withTiming(COMPACT_WIDTH, {
45
+ duration: ANIMATION_DURATION
46
+ });
47
+ }
48
+ };
49
+ const handleSendMessage = () => {
50
+ if (submitDisabled || value.trim().length < 1 || value.length > MAX_AVAILABLE_MESSAGE_LENGTH) return;
51
+ onSubmit?.();
52
+ handleInputChange('');
53
+ inputRef.current?.focus();
54
+ };
55
+ const handleOnFocus = e => {
56
+ setIsFocused(true);
57
+ onFocus?.(e);
58
+ };
59
+ const handleOnBlur = e => {
60
+ setIsFocused(false);
61
+ onBlur?.(e);
62
+ };
63
+ useKeyBoard(event => {
64
+ if (event.key === KeyboardKeys.ENTER) {
65
+ void handleSendMessage();
66
+ }
67
+ }, isFocused);
68
+ return /*#__PURE__*/_jsxs(Animated.View, {
69
+ style: [styles.inputWrapper, animatedStyle],
70
+ children: [/*#__PURE__*/_jsx(TextInput, {
71
+ ref: inputRef,
72
+ value: value,
73
+ onChangeText: handleInputChange,
74
+ onBlur: handleOnBlur,
75
+ onFocus: handleOnFocus,
76
+ placeholder: placeholder,
77
+ placeholderTextColor: COLORS.NEUTRAL_6,
78
+ style: styles.input
79
+ }), /*#__PURE__*/_jsx(SendMessageButton, {
80
+ onPress: handleSendMessage,
81
+ disabled: !!submitDisabled,
82
+ colorScheme: colorScheme
83
+ })]
84
+ });
85
+ };
86
+ const styles = StyleSheet.create({
87
+ container: {
88
+ position: 'relative',
89
+ width: '100%',
90
+ alignItems: 'flex-end',
91
+ height: 52,
92
+ justifyContent: 'center'
93
+ },
94
+ inputWrapper: {
95
+ position: 'absolute',
96
+ zIndex: 1,
97
+ left: 0,
98
+ flexDirection: 'row',
99
+ borderWidth: 1,
100
+ borderColor: COLORS.NEUTRAL_5,
101
+ borderRadius: 200,
102
+ backgroundColor: COLORS.NEUTRAL_1,
103
+ paddingHorizontal: SPACING[100],
104
+ paddingVertical: SPACING[100],
105
+ elevation: 3,
106
+ shadowColor: '#333',
107
+ shadowOffset: {
108
+ width: 0,
109
+ height: 1
110
+ },
111
+ shadowOpacity: 0.25,
112
+ shadowRadius: 3
113
+ },
114
+ input: {
115
+ flex: 1,
116
+ fontSize: 16,
117
+ minWidth: 60,
118
+ minHeight: 22,
119
+ fontWeight: '400',
120
+ fontFamily: FONT_FAMILY.buenosAires,
121
+ paddingHorizontal: SPACING[200],
122
+ paddingVertical: SPACING[200],
123
+ ...(Platform.OS === 'web' && {
124
+ outlineStyle: 'none'
125
+ })
126
+ },
127
+ arrowWrapper: {
128
+ marginLeft: SPACING[200]
129
+ }
130
+ });
131
+ //# sourceMappingURL=ChatTextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","useState","Animated","useAnimatedStyle","useSharedValue","withTiming","Platform","StyleSheet","TextInput","COLORS","FONT_FAMILY","SPACING","ColorScheme","useKeyBoard","KeyboardKeys","SendMessageButton","jsx","_jsx","jsxs","_jsxs","MAX_AVAILABLE_MESSAGE_LENGTH","COMPACT_WIDTH","FULL_WIDTH","ANIMATION_DURATION","ChatTextInput","value","submitDisabled","onSubmit","onChangeText","onBlur","onFocus","colorScheme","Blue","placeholder","inputRef","isFocused","setIsFocused","widthSv","animatedStyle","width","handleInputChange","text","length","hasText","trim","isExpanded","shouldCollapseInput","shouldExpandInput","duration","handleSendMessage","current","focus","handleOnFocus","e","handleOnBlur","event","key","ENTER","View","style","styles","inputWrapper","children","ref","placeholderTextColor","NEUTRAL_6","input","onPress","disabled","create","container","position","alignItems","height","justifyContent","zIndex","left","flexDirection","borderWidth","borderColor","NEUTRAL_5","borderRadius","backgroundColor","NEUTRAL_1","paddingHorizontal","paddingVertical","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","flex","fontSize","minWidth","minHeight","fontWeight","fontFamily","buenosAires","OS","outlineStyle","arrowWrapper","marginLeft"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { useUnit } from 'effector-react';
5
+ import { StyleSheet, View } from 'react-native';
6
+ import { HintButtonVariant, RequestHintButton } from "../RequestHintButton.js";
7
+ import { useChatModel } from "../../../context/ChatBotModelContext.js";
8
+ import { t } from "../../../../../shared/translation/index.js";
9
+ import { ChatTextInput } from "./ChatTextInput.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ export const FreeTextInputBlock = ({
12
+ optionLabel,
13
+ onOptionPress,
14
+ disabled,
15
+ colorScheme
16
+ }) => {
17
+ const model = useChatModel();
18
+ const inputValue = useUnit(model.textInput.$value);
19
+ const handleOnSubmit = async () => {
20
+ const translatedMessage = await model.translation.translateSingleMessageFx(inputValue);
21
+ void model.textInput.setValue('');
22
+ void model.sendHelpRequestFx({
23
+ message: inputValue,
24
+ translatedMessage,
25
+ isFreeText: true
26
+ });
27
+ };
28
+ const handleOnBlur = () => model.textInput.setIsFocused(false);
29
+ const handleOnFocus = () => model.textInput.setIsFocused(true);
30
+ const handleOnChangeText = text => model.textInput.setValue(text);
31
+ return /*#__PURE__*/_jsxs(View, {
32
+ style: styles.container,
33
+ children: [/*#__PURE__*/_jsx(ChatTextInput, {
34
+ value: inputValue,
35
+ onSubmit: handleOnSubmit,
36
+ onChangeText: handleOnChangeText,
37
+ onBlur: handleOnBlur,
38
+ onFocus: handleOnFocus,
39
+ submitDisabled: disabled || inputValue.trim().length < 1,
40
+ colorScheme: colorScheme,
41
+ placeholder: t('chat.inputPlaceholder')
42
+ }), /*#__PURE__*/_jsx(RequestHintButton, {
43
+ onPress: onOptionPress,
44
+ label: optionLabel,
45
+ disabled: disabled,
46
+ colorScheme: colorScheme,
47
+ variant: HintButtonVariant.Short
48
+ })]
49
+ });
50
+ };
51
+ const styles = StyleSheet.create({
52
+ container: {
53
+ position: 'relative',
54
+ width: '100%',
55
+ alignItems: 'flex-end',
56
+ height: 52,
57
+ justifyContent: 'center'
58
+ }
59
+ });
60
+ //# sourceMappingURL=FreeTextInputBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useUnit","StyleSheet","View","HintButtonVariant","RequestHintButton","useChatModel","t","ChatTextInput","jsx","_jsx","jsxs","_jsxs","FreeTextInputBlock","optionLabel","onOptionPress","disabled","colorScheme","model","inputValue","textInput","$value","handleOnSubmit","translatedMessage","translation","translateSingleMessageFx","setValue","sendHelpRequestFx","message","isFreeText","handleOnBlur","setIsFocused","handleOnFocus","handleOnChangeText","text","style","styles","container","children","value","onSubmit","onChangeText","onBlur","onFocus","submitDisabled","trim","length","placeholder","onPress","label","variant","Short","create","position","width","alignItems","height","justifyContent"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,yBAAsB;AAC3E,SAASC,YAAY,QAAQ,yCAAsC;AACnE,SAASC,CAAC,QAAQ,4CAAmC;AACrD,SAASC,aAAa,QAAQ,oBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAS/C,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EACjCC,WAAW;EACXC,aAAa;EACbC,QAAQ;EACRC;AACuB,CAAC,KAAK;EAC7B,MAAMC,KAAK,GAAGZ,YAAY,CAAC,CAAC;EAC5B,MAAMa,UAAU,GAAGlB,OAAO,CAACiB,KAAK,CAACE,SAAS,CAACC,MAAM,CAAC;EAElD,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAAY;IACjC,MAAMC,iBAAiB,GAAG,MAAML,KAAK,CAACM,WAAW,CAACC,wBAAwB,CAACN,UAAU,CAAC;IAEtF,KAAKD,KAAK,CAACE,SAAS,CAACM,QAAQ,CAAC,EAAE,CAAC;IACjC,KAAKR,KAAK,CAACS,iBAAiB,CAAC;MAC3BC,OAAO,EAAET,UAAU;MACnBI,iBAAiB;MACjBM,UAAU,EAAE;IACd,CAAC,CAAC;EACJ,CAAC;EACD,MAAMC,YAAY,GAAGA,CAAA,KAAMZ,KAAK,CAACE,SAAS,CAACW,YAAY,CAAC,KAAK,CAAC;EAC9D,MAAMC,aAAa,GAAGA,CAAA,KAAMd,KAAK,CAACE,SAAS,CAACW,YAAY,CAAC,IAAI,CAAC;EAC9D,MAAME,kBAAkB,GAAIC,IAAY,IAAKhB,KAAK,CAACE,SAAS,CAACM,QAAQ,CAACQ,IAAI,CAAC;EAE3E,oBACEtB,KAAA,CAACT,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B5B,IAAA,CAACF,aAAa;MACZ+B,KAAK,EAAEpB,UAAW;MAClBqB,QAAQ,EAAElB,cAAe;MACzBmB,YAAY,EAAER,kBAAmB;MACjCS,MAAM,EAAEZ,YAAa;MACrBa,OAAO,EAAEX,aAAc;MACvBY,cAAc,EAAE5B,QAAQ,IAAIG,UAAU,CAAC0B,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAE;MACzD7B,WAAW,EAAEA,WAAY;MACzB8B,WAAW,EAAExC,CAAC,CAAC,uBAAuB;IAAE,CACzC,CAAC,eACFG,IAAA,CAACL,iBAAiB;MAChB2C,OAAO,EAAEjC,aAAc;MACvBkC,KAAK,EAAEnC,WAAY;MACnBE,QAAQ,EAAEA,QAAS;MACnBC,WAAW,EAAEA,WAAY;MACzBiC,OAAO,EAAE9C,iBAAiB,CAAC+C;IAAM,CAClC,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMf,MAAM,GAAGlC,UAAU,CAACkD,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,UAAU;IACtBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Pressable, StyleSheet } from 'react-native';
5
+ import Animated, { useSharedValue, withTiming, useAnimatedStyle, interpolateColor } from 'react-native-reanimated';
6
+ import { ArrowUpIcon, COLORS, IS_MOBILE } 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 } from "react/jsx-runtime";
10
+ export const SendMessageButton = ({
11
+ onPress,
12
+ disabled = false,
13
+ colorScheme = ColorScheme.Blue
14
+ }) => {
15
+ const hoverSv = useSharedValue(0);
16
+ const onHoverIn = () => {
17
+ if (!disabled) hoverSv.value = withTiming(1, {
18
+ duration: 200
19
+ });
20
+ };
21
+ const onHoverOut = () => {
22
+ if (!disabled) hoverSv.value = withTiming(0, {
23
+ duration: 200
24
+ });
25
+ };
26
+ const animatedIconStyle = useAnimatedStyle(() => {
27
+ const backgroundColor = interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_1, MESSAGE_COLORS_MAP[colorScheme].sent.border]);
28
+ const color = interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1]);
29
+ return {
30
+ backgroundColor: disabled ? COLORS.NEUTRAL_2 : backgroundColor,
31
+ borderColor: disabled ? COLORS.NEUTRAL_5 : MESSAGE_COLORS_MAP[colorScheme].sent.border,
32
+ color: disabled ? COLORS.NEUTRAL_5 : color
33
+ };
34
+ }, [hoverSv, disabled]);
35
+ return /*#__PURE__*/_jsx(Pressable, {
36
+ onHoverIn: onHoverIn,
37
+ onHoverOut: onHoverOut,
38
+ onPress: onPress,
39
+ style: [styles.button, disabled && {
40
+ cursor: 'auto'
41
+ }],
42
+ disabled: disabled,
43
+ accessibilityState: {
44
+ disabled
45
+ },
46
+ accessibilityRole: "button",
47
+ children: IS_MOBILE ? /*#__PURE__*/_jsx(Animated.View, {
48
+ style: [styles.iconContainer, animatedIconStyle, {
49
+ borderColor: disabled ? COLORS.NEUTRAL_5 : MESSAGE_COLORS_MAP[colorScheme].sent.border
50
+ }],
51
+ children: /*#__PURE__*/_jsx(ArrowUpIcon, {
52
+ color: 'currentColor',
53
+ size: 16
54
+ })
55
+ }) : /*#__PURE__*/_jsx(Animated.Text, {
56
+ style: [styles.webIconContainer, animatedIconStyle],
57
+ children: /*#__PURE__*/_jsx(ArrowUpIcon, {
58
+ color: 'currentColor',
59
+ size: 16
60
+ })
61
+ })
62
+ });
63
+ };
64
+ const styles = StyleSheet.create({
65
+ button: {
66
+ flexDirection: 'row',
67
+ justifyContent: 'flex-end',
68
+ height: 44,
69
+ width: 44
70
+ },
71
+ iconContainer: {
72
+ justifyContent: 'center',
73
+ alignItems: 'center',
74
+ padding: 12,
75
+ borderRadius: 21,
76
+ borderWidth: 1
77
+ },
78
+ webIconContainer: {
79
+ flex: 1,
80
+ flexDirection: 'row',
81
+ alignItems: 'center',
82
+ paddingHorizontal: 13,
83
+ paddingVertical: 12,
84
+ borderWidth: 1,
85
+ borderRadius: 48,
86
+ elevation: 3,
87
+ shadowColor: '#333',
88
+ shadowOffset: {
89
+ width: 0,
90
+ height: 1
91
+ },
92
+ shadowOpacity: 0.25,
93
+ shadowRadius: 3,
94
+ backgroundColor: COLORS.NEUTRAL_1,
95
+ borderColor: COLORS.PRIMARY_BLUE
96
+ }
97
+ });
98
+ //# sourceMappingURL=SendMessageButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Pressable","StyleSheet","Animated","useSharedValue","withTiming","useAnimatedStyle","interpolateColor","ArrowUpIcon","COLORS","IS_MOBILE","ColorScheme","MESSAGE_COLORS_MAP","jsx","_jsx","SendMessageButton","onPress","disabled","colorScheme","Blue","hoverSv","onHoverIn","value","duration","onHoverOut","animatedIconStyle","backgroundColor","NEUTRAL_1","sent","border","color","NEUTRAL_10","NEUTRAL_2","borderColor","NEUTRAL_5","style","styles","button","cursor","accessibilityState","accessibilityRole","children","View","iconContainer","size","Text","webIconContainer","create","flexDirection","justifyContent","height","width","alignItems","padding","borderRadius","borderWidth","flex","paddingHorizontal","paddingVertical","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","PRIMARY_BLUE"],"sourceRoot":"../../../../../../../src","sources":["features/chatbot/components/ChatInput/freeText/SendMessageButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import { COLORS } from '@magmamath/react-native-ui';
6
- import { ChatbotIcon } from "../../../../shared/icons/ChatbotIcon.js";
7
6
  import { ThreeDotsLoader } from "../ThreeDotsLoader/ThreeDotsLoader.js";
8
7
  import { CONTROLS_COLORS_MAP } from "../../constants.js";
9
8
  import { ColorScheme } from "../../types/style.types.js";
9
+ import { LavaIconInGlasses } from '@magmamath/students-features';
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  export const MessageLoader = ({
12
12
  colorScheme = ColorScheme.Blue
@@ -14,7 +14,7 @@ export const MessageLoader = ({
14
14
  style: styles.container,
15
15
  children: [/*#__PURE__*/_jsx(View, {
16
16
  style: styles.icon,
17
- children: /*#__PURE__*/_jsx(ChatbotIcon, {
17
+ children: /*#__PURE__*/_jsx(LavaIconInGlasses, {
18
18
  width: 60,
19
19
  height: 80
20
20
  })
@@ -29,11 +29,14 @@ const styles = StyleSheet.create({
29
29
  container: {
30
30
  flexDirection: 'row',
31
31
  width: 327,
32
- alignItems: 'flex-end'
32
+ alignItems: 'flex-end',
33
+ paddingLeft: 70
33
34
  },
34
35
  icon: {
36
+ position: 'absolute',
37
+ zIndex: 1,
35
38
  alignSelf: 'flex-end',
36
- marginRight: 8
39
+ left: 0
37
40
  },
38
41
  loader: {
39
42
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","COLORS","ChatbotIcon","ThreeDotsLoader","CONTROLS_COLORS_MAP","ColorScheme","jsx","_jsx","jsxs","_jsxs","MessageLoader","colorScheme","Blue","style","styles","container","children","icon","width","height","loader","backgroundColor","background","create","flexDirection","alignItems","alignSelf","marginRight","flex","maxWidth","padding","paddingTop","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","NEUTRAL_3"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageLoader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,4BAA4B;AAEnD,SAASC,WAAW,QAAQ,yCAAsC;AAClE,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,mBAAmB,QAAQ,oBAAiB;AACrD,SAASC,WAAW,QAAQ,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMrD,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,WAAW,GAAGN,WAAW,CAACO;AAAyB,CAAC,kBAClFH,KAAA,CAACT,IAAI;EAACa,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5BT,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACG,IAAK;IAAAD,QAAA,eACvBT,IAAA,CAACL,WAAW;MAACgB,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE;IAAG,CAAE;EAAC,CAClC,CAAC,eACPZ,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACM,MAAO;IAAAJ,QAAA,eACzBT,IAAA,CAACJ,eAAe;MAACkB,eAAe,EAAEjB,mBAAmB,CAACO,WAAW,CAAC,CAACW;IAAW,CAAE;EAAC,CAC7E,CAAC;AAAA,CACH,CACP;AAED,MAAMR,MAAM,GAAGf,UAAU,CAACwB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBN,KAAK,EAAE,GAAG;IACVO,UAAU,EAAE;EACd,CAAC;EACDR,IAAI,EAAE;IACJS,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACDP,MAAM,EAAE;IACNQ,IAAI,EAAE,CAAC;IACPJ,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBI,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE,SAAS;IACtBC,YAAY,EAAE;MAAEf,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCe,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBjB,eAAe,EAAEpB,MAAM,CAACsC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","COLORS","ThreeDotsLoader","CONTROLS_COLORS_MAP","ColorScheme","LavaIconInGlasses","jsx","_jsx","jsxs","_jsxs","MessageLoader","colorScheme","Blue","style","styles","container","children","icon","width","height","loader","backgroundColor","background","create","flexDirection","alignItems","paddingLeft","position","zIndex","alignSelf","left","flex","maxWidth","padding","paddingTop","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","NEUTRAL_3"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageLoader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,4BAA4B;AAGnD,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,mBAAmB,QAAQ,oBAAiB;AACrD,SAASC,WAAW,QAAQ,4BAAyB;AACrD,SAASC,iBAAiB,QAAQ,8BAA8B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMhE,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,WAAW,GAAGP,WAAW,CAACQ;AAAyB,CAAC,kBAClFH,KAAA,CAACT,IAAI;EAACa,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5BT,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACG,IAAK;IAAAD,QAAA,eACvBT,IAAA,CAACF,iBAAiB;MAACa,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE;IAAG,CAAE;EAAC,CACxC,CAAC,eACPZ,IAAA,CAACP,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACM,MAAO;IAAAJ,QAAA,eACzBT,IAAA,CAACL,eAAe;MAACmB,eAAe,EAAElB,mBAAmB,CAACQ,WAAW,CAAC,CAACW;IAAW,CAAE;EAAC,CAC7E,CAAC;AAAA,CACH,CACP;AAED,MAAMR,MAAM,GAAGf,UAAU,CAACwB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBN,KAAK,EAAE,GAAG;IACVO,UAAU,EAAE,UAAU;IACtBC,WAAW,EAAC;EACd,CAAC;EACDT,IAAI,EAAE;IACJU,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAC,CAAC;IACRC,SAAS,EAAE,UAAU;IACrBC,IAAI,EAAE;EACR,CAAC;EACDV,MAAM,EAAE;IACNW,IAAI,EAAE,CAAC;IACPP,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBO,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE,EAAE;IACdC,WAAW,EAAE,SAAS;IACtBC,YAAY,EAAE;MAAElB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCkB,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBpB,eAAe,EAAEpB,MAAM,CAACyC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { useStoreMap, useUnit } from 'effector-react';
5
- import { ChatbotMessages } from "./ChatMessages/ChatbotMessages.js";
5
+ import { Chat } from "./Chat/Chat.js";
6
6
  import { ChatControls } from "./ChatControls/ChatControls.js";
7
7
  import { ChatBotModelContext } from "../context/ChatBotModelContext.js";
8
8
  import { ColorScheme } from "../types/style.types.js";
@@ -28,7 +28,7 @@ export const Chatbot = ({
28
28
  }
29
29
  return /*#__PURE__*/_jsxs(ChatBotModelContext.Provider, {
30
30
  value: model,
31
- children: [/*#__PURE__*/_jsx(ChatbotMessages, {
31
+ children: [/*#__PURE__*/_jsx(Chat, {
32
32
  model: model,
33
33
  colorScheme: colorScheme,
34
34
  isHintFeedback: isHintFeedback,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useStoreMap","useUnit","ChatbotMessages","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","alternatives","$alternatives","isAvailable","$currentChatData","t2s","setAudioConfig","openChat","setIsOpen","closeChat","chatAccess","Provider","value","children","onPressChatIcon","onPressClose"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAA4C,OAAO;AAC/D,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAelD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGZ,WAAW,CAACa;AACd,CAAC,KAAK;EAClB,MAAMC,YAAY,GAAGlB,OAAO,CAACU,KAAK,CAACS,aAAa,CAAC;EACjD,MAAMC,WAAW,GAAGrB,WAAW,CAACW,KAAK,CAACW,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFV,KAAK,CAACY,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,QAAQ,GAAGA,CAAA,KAAMd,KAAK,CAACe,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMhB,KAAK,CAACe,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACL,WAAW,IAAIF,YAAY,EAAES,UAAU,KAAK,KAAK,EAAE;IACtD,OAAO,IAAI;EACb;EAEA,oBACEnB,KAAA,CAACL,mBAAmB,CAACyB,QAAQ;IAACC,KAAK,EAAEnB,KAAM;IAAAoB,QAAA,gBACzCxB,IAAA,CAACL,eAAe;MACdS,KAAK,EAAEA,KAAM;MACbM,WAAW,EAAEA,WAAY;MACzBL,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC,eAEFN,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACbqB,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBZ,aAAa,EAAEA,aAAc;MAC7BC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","alternatives","$alternatives","isAvailable","$currentChatData","t2s","setAudioConfig","openChat","setIsOpen","closeChat","chatAccess","Provider","value","children","onPressChatIcon","onPressClose"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAA4C,OAAO;AAC/D,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAiBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGZ,WAAW,CAACa;AACd,CAAC,KAAK;EAClB,MAAMC,YAAY,GAAGlB,OAAO,CAACU,KAAK,CAACS,aAAa,CAAC;EACjD,MAAMC,WAAW,GAAGrB,WAAW,CAACW,KAAK,CAACW,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFV,KAAK,CAACY,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,QAAQ,GAAGA,CAAA,KAAMd,KAAK,CAACe,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMhB,KAAK,CAACe,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACL,WAAW,IAAIF,YAAY,EAAES,UAAU,KAAK,KAAK,EAAE;IACtD,OAAO,IAAI;EACb;EAEA,oBACEnB,KAAA,CAACL,mBAAmB,CAACyB,QAAQ;IAACC,KAAK,EAAEnB,KAAM;IAAAoB,QAAA,gBACzCxB,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbM,WAAW,EAAEA,WAAY;MACzBL,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC,eAEFN,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACbqB,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBZ,aAAa,EAAEA,aAAc;MAC7BC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
@@ -40,20 +40,24 @@ export const MESSAGE_COLORS_MAP = {
40
40
  [ColorScheme.Blue]: {
41
41
  [MessageVariant.RECEIVED]: {
42
42
  background: COLORS.NEUTRAL_3,
43
+ border: COLORS.NEUTRAL_3,
43
44
  icon: ButtonColor.BLUE
44
45
  },
45
46
  [MessageVariant.SENT]: {
46
47
  background: COLORS.PRIMARY_BLUE,
48
+ border: COLORS.PRIMARY_BLUE,
47
49
  icon: ButtonColor.BLUE
48
50
  }
49
51
  },
50
52
  [ColorScheme.Yellow]: {
51
53
  [MessageVariant.RECEIVED]: {
52
54
  background: COLORS.NEUTRAL_3,
55
+ border: COLORS.NEUTRAL_3,
53
56
  icon: ButtonColor.YELLOW
54
57
  },
55
58
  [MessageVariant.SENT]: {
56
59
  background: COLORS.PRIMARY_YELLOW,
60
+ border: COLORS.PRIMARY_YELLOW,
57
61
  icon: ButtonColor.YELLOW
58
62
  }
59
63
  }
@@ -68,4 +72,5 @@ export const CONTROLS_COLORS_MAP = {
68
72
  background: COLORS.PRIMARY_YELLOW
69
73
  }
70
74
  };
75
+ export const HOVER_ANIMATION_DURATION = 200;
71
76
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ButtonColor","COLORS","Platform","MessageVariant","ColorScheme","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","Blue","RECEIVED","background","NEUTRAL_3","icon","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,SAASC,WAAW,QAAQ,wBAAqB;AAEjD,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGV,QAAQ,CAACW,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEV,OAAO,MAAMC,kBAAkB,GAAG;EAChC,CAACjB,WAAW,CAACkB,IAAI,GAAG;IAClB,CAACnB,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,IAAI,EAAE1B,WAAW,CAAC2B;IACpB,CAAC;IACD,CAACxB,cAAc,CAACyB,IAAI,GAAG;MACrBJ,UAAU,EAAEvB,MAAM,CAAC4B,YAAY;MAC/BH,IAAI,EAAE1B,WAAW,CAAC2B;IACpB;EACF,CAAC;EACD,CAACvB,WAAW,CAAC0B,MAAM,GAAG;IACpB,CAAC3B,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,IAAI,EAAE1B,WAAW,CAAC+B;IACpB,CAAC;IACD,CAAC5B,cAAc,CAACyB,IAAI,GAAG;MACrBJ,UAAU,EAAEvB,MAAM,CAAC+B,cAAc;MACjCN,IAAI,EAAE1B,WAAW,CAAC+B;IACpB;EACF;AACF,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAG;EACjC,CAAC7B,WAAW,CAACkB,IAAI,GAAG;IAClBY,KAAK,EAAEjC,MAAM,CAAC4B,YAAY;IAC1BL,UAAU,EAAEvB,MAAM,CAAC4B;EACrB,CAAC;EACD,CAACzB,WAAW,CAAC0B,MAAM,GAAG;IACpBI,KAAK,EAAEjC,MAAM,CAAC+B,cAAc;IAC5BR,UAAU,EAAEvB,MAAM,CAAC+B;EACrB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ButtonColor","COLORS","Platform","MessageVariant","ColorScheme","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","Blue","RECEIVED","background","NEUTRAL_3","border","icon","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover","HOVER_ANIMATION_DURATION"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,4BAA4B;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,SAASC,WAAW,QAAQ,wBAAqB;AAGjD,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGV,QAAQ,CAACW,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEV,OAAO,MAAMC,kBAAkB,GAAG;EAChC,CAACjB,WAAW,CAACkB,IAAI,GAAG;IAClB,CAACnB,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAE3B,WAAW,CAAC4B;IACpB,CAAC;IACD,CAACzB,cAAc,CAAC0B,IAAI,GAAG;MACrBL,UAAU,EAAEvB,MAAM,CAAC6B,YAAY;MAC/BJ,MAAM,EAAEzB,MAAM,CAAC6B,YAAY;MAC3BH,IAAI,EAAE3B,WAAW,CAAC4B;IACpB;EACF,CAAC;EACD,CAACxB,WAAW,CAAC2B,MAAM,GAAG;IACpB,CAAC5B,cAAc,CAACoB,QAAQ,GAAG;MACzBC,UAAU,EAAEvB,MAAM,CAACwB,SAAS;MAC5BC,MAAM,EAAEzB,MAAM,CAACwB,SAAS;MACxBE,IAAI,EAAE3B,WAAW,CAACgC;IACpB,CAAC;IACD,CAAC7B,cAAc,CAAC0B,IAAI,GAAG;MACrBL,UAAU,EAAEvB,MAAM,CAACgC,cAAc;MACjCP,MAAM,EAAEzB,MAAM,CAACgC,cAAc;MAC7BN,IAAI,EAAE3B,WAAW,CAACgC;IACpB;EACF;AACF,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAG;EACjC,CAAC9B,WAAW,CAACkB,IAAI,GAAG;IAClBa,KAAK,EAAElC,MAAM,CAAC6B,YAAY;IAC1BN,UAAU,EAAEvB,MAAM,CAAC6B;EACrB,CAAC;EACD,CAAC1B,WAAW,CAAC2B,MAAM,GAAG;IACpBI,KAAK,EAAElC,MAAM,CAACgC,cAAc;IAC5BT,UAAU,EAAEvB,MAAM,CAACgC;EACrB;AACF,CAAC;AAED,OAAO,MAAMG,wBAAwB,GAAG,GAAG","ignoreList":[]}
@@ -2,6 +2,8 @@
2
2
 
3
3
  // https://stackoverflow.com/questions/56575859/google-translate-api-does-not-return-apostrophe-as-apostrophe-in-python
4
4
  import { KATEX_REPLACEMENTS, KATEX_REPLACEMENTS_REVERSE } from "./constants.js";
5
+ import { t } from "../../shared/translation/index.js";
6
+ import { ChatRequestType } from "./types/model.types.js";
5
7
  export const decodeHTMLEntities = input => {
6
8
  return input.replace(/&#39;/g, "'");
7
9
  };
@@ -9,4 +11,73 @@ export const replaceKatexSyntax = (texts, reverse = false) => {
9
11
  const replacements = reverse ? Object.entries(KATEX_REPLACEMENTS_REVERSE) : Object.entries(KATEX_REPLACEMENTS);
10
12
  return texts.map(text => replacements.reduce((newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder), text));
11
13
  };
14
+ export const transformAlternatives = payload => {
15
+ if (!payload) return payload;
16
+ return {
17
+ ...payload,
18
+ options: {
19
+ ...payload.options,
20
+ hints: [{
21
+ text: payload.isOpenChatEnabled ? t('chat.giveHint') : t('chat.anotherHint'),
22
+ promptKey: payload.options.hints[0].promptKey,
23
+ translatedText: payload.options.hints[0].translatedText
24
+ }]
25
+ }
26
+ };
27
+ };
28
+ export function prepareChatRequestPayload(payload, threadItem) {
29
+ const {
30
+ conversationId,
31
+ freeTextMessage,
32
+ problemDescription,
33
+ problemAnswer,
34
+ language,
35
+ imageCdnId,
36
+ imageAltText,
37
+ answerOptions,
38
+ answer
39
+ } = payload;
40
+ if (freeTextMessage) {
41
+ return conversationId ? {
42
+ type: ChatRequestType.Freetext,
43
+ data: {
44
+ conversationId,
45
+ message: freeTextMessage
46
+ }
47
+ } : {
48
+ type: ChatRequestType.Freetext,
49
+ data: {
50
+ message: freeTextMessage,
51
+ correctAnswer: problemAnswer,
52
+ problemDescription,
53
+ language,
54
+ ...(imageCdnId && {
55
+ imageCdnId
56
+ }),
57
+ ...(imageAltText && {
58
+ altText: imageAltText
59
+ }),
60
+ ...(!!answerOptions?.length && {
61
+ answerOptions
62
+ })
63
+ }
64
+ };
65
+ }
66
+ return {
67
+ type: ChatRequestType.Hint,
68
+ data: {
69
+ ...threadItem.getNextHintProps(),
70
+ correctAnswer: problemAnswer,
71
+ problemDescription,
72
+ userAnswer: answer,
73
+ language,
74
+ ...(imageCdnId && {
75
+ imageCdnId
76
+ }),
77
+ ...(imageAltText && {
78
+ altText: imageAltText
79
+ })
80
+ }
81
+ };
82
+ }
12
83
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","decodeHTMLEntities","input","replace","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","RegExp"],"sourceRoot":"../../../../src","sources":["features/chatbot/helpers.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,0BAA0B,QAAQ,gBAAa;AAE5E,OAAO,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;EACnD,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,KAAK;EACtE,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACT,0BAA0B,CAAC,GAC1CQ,MAAM,CAACC,OAAO,CAACV,kBAAkB,CAAC;EAEtC,OAAOM,KAAK,CAACK,GAAG,CAACC,IAAI,IACnBJ,YAAY,CAACK,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACV,OAAO,CAAC,IAAIa,MAAM,CAACF,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","t","ChatRequestType","decodeHTMLEntities","input","replace","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","RegExp","transformAlternatives","payload","options","hints","isOpenChatEnabled","promptKey","translatedText","prepareChatRequestPayload","threadItem","conversationId","freeTextMessage","problemDescription","problemAnswer","language","imageCdnId","imageAltText","answerOptions","answer","type","Freetext","data","message","correctAnswer","altText","length","Hint","getNextHintProps","userAnswer"],"sourceRoot":"../../../../src","sources":["features/chatbot/helpers.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,EAAEC,0BAA0B,QAAQ,gBAAa;AAE5E,SAASC,CAAC,QAAQ,mCAA0B;AAE5C,SAA6BC,eAAe,QAAQ,wBAAqB;AAEzE,OAAO,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;EACnD,OAAOA,KAAK,CAACC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,KAAK;EACtE,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACX,0BAA0B,CAAC,GAC1CU,MAAM,CAACC,OAAO,CAACZ,kBAAkB,CAAC;EAEtC,OAAOQ,KAAK,CAACK,GAAG,CAAEC,IAAI,IACpBJ,YAAY,CAACK,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACV,OAAO,CAAC,IAAIa,MAAM,CAACF,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMM,qBAAqB,GAAIC,OAAuC,IAAK;EAChF,IAAI,CAACA,OAAO,EAAE,OAAOA,OAAO;EAE5B,OAAO;IACL,GAAGA,OAAO;IACVC,OAAO,EAAE;MACP,GAAGD,OAAO,CAACC,OAAO;MAClBC,KAAK,EAAE,CACL;QACET,IAAI,EAAEO,OAAO,CAACG,iBAAiB,GAAGtB,CAAC,CAAC,eAAe,CAAC,GAAGA,CAAC,CAAC,kBAAkB,CAAC;QAC5EuB,SAAS,EAAEJ,OAAO,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC,CAACE,SAAS;QAC7CC,cAAc,EAAEL,OAAO,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC,CAACG;MAC3C,CAAC;IAEL;EACF,CAAC;AACH,CAAC;AAED,OAAO,SAASC,yBAAyBA,CACvCN,OAA2B,EAC3BO,UAAsB,EACF;EACpB,MAAM;IACJC,cAAc;IACdC,eAAe;IACfC,kBAAkB;IAClBC,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC,aAAa;IACbC;EACF,CAAC,GAAGhB,OAAO;EAEX,IAAIS,eAAe,EAAE;IACnB,OAAOD,cAAc,GACjB;MAAES,IAAI,EAAEnC,eAAe,CAACoC,QAAQ;MAAEC,IAAI,EAAE;QAAEX,cAAc;QAAEY,OAAO,EAAEX;MAAgB;IAAE,CAAC,GACtF;MACEQ,IAAI,EAAEnC,eAAe,CAACoC,QAAQ;MAC9BC,IAAI,EAAE;QACJC,OAAO,EAAEX,eAAe;QACxBY,aAAa,EAAEV,aAAa;QAC5BD,kBAAkB;QAClBE,QAAQ;QACR,IAAIC,UAAU,IAAI;UAAEA;QAAW,CAAC,CAAC;QACjC,IAAIC,YAAY,IAAI;UAAEQ,OAAO,EAAER;QAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,CAACC,aAAa,EAAEQ,MAAM,IAAI;UAAER;QAAc,CAAC;MAClD;IACF,CAAC;EACP;EAEA,OAAO;IACLE,IAAI,EAAEnC,eAAe,CAAC0C,IAAI;IAC1BL,IAAI,EAAE;MACJ,GAAGZ,UAAU,CAACkB,gBAAgB,CAAC,CAAC;MAChCJ,aAAa,EAAEV,aAAa;MAC5BD,kBAAkB;MAClBgB,UAAU,EAAEV,MAAM;MAClBJ,QAAQ;MACR,IAAIC,UAAU,IAAI;QAAEA;MAAW,CAAC,CAAC;MACjC,IAAIC,YAAY,IAAI;QAAEQ,OAAO,EAAER;MAAa,CAAC;IAC/C;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;AAGtE,SAASC,WAAW,QAAQ,wBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;AAItE,SAASC,WAAW,QAAQ,wBAAqB","ignoreList":[]}