@magmamath/students-features 0.6.14-rc.2 → 0.6.14-rc.21

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 (274) 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/ChatInput/ChatInput.js +74 -0
  4. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  5. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +144 -0
  6. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  7. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +135 -0
  8. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  9. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +77 -0
  10. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  11. package/dist/commonjs/features/chatbot/components/{Alternatives/InputButton.js → ChatInput/freeText/SendMessageButton.js} +26 -17
  12. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  13. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
  14. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  15. package/dist/commonjs/features/chatbot/constants.js +2 -1
  16. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  17. package/dist/commonjs/features/chatbot/index.js +7 -0
  18. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +44 -8
  20. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js +16 -0
  22. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  23. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +44 -11
  24. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  25. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  26. package/dist/commonjs/features/chatbot/types/types.js +2 -0
  27. package/dist/commonjs/features/chatbot/types/types.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/types/units.types.js +10 -0
  29. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -1
  30. package/dist/commonjs/features/exampleSolution/ExampleSolutionModal.js +1 -3
  31. package/dist/commonjs/features/exampleSolution/ExampleSolutionModal.js.map +1 -1
  32. package/dist/commonjs/features/exampleSolution/assets/grid.webp +0 -0
  33. package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js +18 -11
  34. package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
  35. package/dist/commonjs/features/exampleSolution/components/QuestionSection.js +7 -7
  36. package/dist/commonjs/features/exampleSolution/components/QuestionSection.js.map +1 -1
  37. package/dist/commonjs/features/exampleSolution/components/SolutionSection.js +55 -29
  38. package/dist/commonjs/features/exampleSolution/components/SolutionSection.js.map +1 -1
  39. package/dist/commonjs/features/exampleSolution/model/ExampleSolution.model.js +3 -1
  40. package/dist/commonjs/features/exampleSolution/model/ExampleSolution.model.js.map +1 -1
  41. package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js +5 -4
  42. package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js.map +1 -1
  43. package/dist/commonjs/shared/hooks/useKeyDownListener.js +3 -2
  44. package/dist/commonjs/shared/hooks/useKeyDownListener.js.map +1 -1
  45. package/dist/commonjs/shared/translation/localization/ca.json +2 -1
  46. package/dist/commonjs/shared/translation/localization/en.json +3 -2
  47. package/dist/commonjs/shared/translation/localization/gb.json +2 -1
  48. package/dist/commonjs/shared/translation/localization/sct.json +2 -1
  49. package/dist/commonjs/shared/translation/localization/sw.json +3 -2
  50. package/dist/module/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +6 -13
  51. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -0
  52. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +67 -0
  53. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  54. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +138 -0
  55. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  56. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +128 -0
  57. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  58. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +71 -0
  59. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  60. package/dist/module/features/chatbot/components/{Alternatives/InputButton.js → ChatInput/freeText/SendMessageButton.js} +25 -16
  61. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  62. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  63. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  64. package/dist/module/features/chatbot/constants.js +1 -0
  65. package/dist/module/features/chatbot/constants.js.map +1 -1
  66. package/dist/module/features/chatbot/index.js +1 -0
  67. package/dist/module/features/chatbot/index.js.map +1 -1
  68. package/dist/module/features/chatbot/model/ChatBotModel.js +44 -8
  69. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  70. package/dist/module/features/chatbot/model/ChatBotTextInput.js +11 -0
  71. package/dist/module/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  72. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +44 -11
  73. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  74. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  75. package/dist/module/features/chatbot/types/types.js +2 -0
  76. package/dist/module/features/chatbot/types/types.js.map +1 -0
  77. package/dist/module/features/chatbot/types/units.types.js +6 -0
  78. package/dist/module/features/chatbot/types/units.types.js.map +1 -1
  79. package/dist/module/features/exampleSolution/ExampleSolutionModal.js +1 -3
  80. package/dist/module/features/exampleSolution/ExampleSolutionModal.js.map +1 -1
  81. package/dist/module/features/exampleSolution/assets/grid.webp +0 -0
  82. package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js +19 -12
  83. package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
  84. package/dist/module/features/exampleSolution/components/QuestionSection.js +9 -9
  85. package/dist/module/features/exampleSolution/components/QuestionSection.js.map +1 -1
  86. package/dist/module/features/exampleSolution/components/SolutionSection.js +57 -31
  87. package/dist/module/features/exampleSolution/components/SolutionSection.js.map +1 -1
  88. package/dist/module/features/exampleSolution/model/ExampleSolution.model.js +3 -1
  89. package/dist/module/features/exampleSolution/model/ExampleSolution.model.js.map +1 -1
  90. package/dist/module/features/formulaSheet/components/FormulaSheet.js +5 -4
  91. package/dist/module/features/formulaSheet/components/FormulaSheet.js.map +1 -1
  92. package/dist/module/shared/hooks/useKeyDownListener.js +3 -2
  93. package/dist/module/shared/hooks/useKeyDownListener.js.map +1 -1
  94. package/dist/module/shared/translation/localization/ca.json +2 -1
  95. package/dist/module/shared/translation/localization/en.json +3 -2
  96. package/dist/module/shared/translation/localization/gb.json +2 -1
  97. package/dist/module/shared/translation/localization/sct.json +2 -1
  98. package/dist/module/shared/translation/localization/sw.json +3 -2
  99. package/dist/typescript/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.d.ts → Chat/Chat.d.ts} +3 -3
  100. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  101. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  102. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  103. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  104. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  105. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  106. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  107. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  108. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  109. package/dist/typescript/{module/features/chatbot/components/Alternatives/InputButton.d.ts → commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts} +2 -2
  110. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  111. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +2 -0
  112. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  113. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +1 -0
  114. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  115. package/dist/typescript/commonjs/features/chatbot/index.d.ts +1 -0
  116. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  117. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +5 -6
  118. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  119. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  120. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  121. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  122. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  123. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +1 -1
  124. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
  125. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +23 -1
  126. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  127. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +11 -2
  128. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  129. package/dist/typescript/commonjs/features/chatbot/types/types.d.ts +1 -0
  130. package/dist/typescript/commonjs/features/chatbot/types/types.d.ts.map +1 -0
  131. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +5 -0
  132. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
  133. package/dist/typescript/commonjs/features/exampleSolution/ExampleSolutionModal.d.ts.map +1 -1
  134. package/dist/typescript/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.d.ts +5 -1
  135. package/dist/typescript/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +1 -1
  136. package/dist/typescript/commonjs/features/exampleSolution/components/QuestionSection.d.ts +2 -1
  137. package/dist/typescript/commonjs/features/exampleSolution/components/QuestionSection.d.ts.map +1 -1
  138. package/dist/typescript/commonjs/features/exampleSolution/components/SolutionSection.d.ts.map +1 -1
  139. package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolution.model.d.ts +3 -2
  140. package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolution.model.d.ts.map +1 -1
  141. package/dist/typescript/commonjs/features/exampleSolution/types.d.ts +2 -1
  142. package/dist/typescript/commonjs/features/exampleSolution/types.d.ts.map +1 -1
  143. package/dist/typescript/commonjs/features/formulaSheet/components/FormulaSheet.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts +1 -1
  145. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  146. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts +1 -1
  147. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts.map +1 -1
  148. package/dist/typescript/commonjs/shared/translation/constants.d.ts +5 -0
  149. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  150. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  151. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  152. package/dist/typescript/module/features/chatbot/components/{ChatMessages/ChatbotMessages.d.ts → Chat/Chat.d.ts} +3 -3
  153. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  154. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  155. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  156. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  157. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  158. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  159. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  160. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  161. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  162. package/dist/typescript/{commonjs/features/chatbot/components/Alternatives/InputButton.d.ts → module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts} +2 -2
  163. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  164. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +2 -0
  165. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  166. package/dist/typescript/module/features/chatbot/constants.d.ts +1 -0
  167. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  168. package/dist/typescript/module/features/chatbot/index.d.ts +1 -0
  169. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  170. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +5 -6
  171. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  172. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  173. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  174. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  175. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  176. package/dist/typescript/module/features/chatbot/model/translation.d.ts +1 -1
  177. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
  178. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +23 -1
  179. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  180. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +11 -2
  181. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  182. package/dist/typescript/module/features/chatbot/types/types.d.ts +1 -0
  183. package/dist/typescript/module/features/chatbot/types/types.d.ts.map +1 -0
  184. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +5 -0
  185. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
  186. package/dist/typescript/module/features/exampleSolution/ExampleSolutionModal.d.ts.map +1 -1
  187. package/dist/typescript/module/features/exampleSolution/components/ExampleSolutionModalContent.d.ts +5 -1
  188. package/dist/typescript/module/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +1 -1
  189. package/dist/typescript/module/features/exampleSolution/components/QuestionSection.d.ts +2 -1
  190. package/dist/typescript/module/features/exampleSolution/components/QuestionSection.d.ts.map +1 -1
  191. package/dist/typescript/module/features/exampleSolution/components/SolutionSection.d.ts.map +1 -1
  192. package/dist/typescript/module/features/exampleSolution/model/ExampleSolution.model.d.ts +3 -2
  193. package/dist/typescript/module/features/exampleSolution/model/ExampleSolution.model.d.ts.map +1 -1
  194. package/dist/typescript/module/features/exampleSolution/types.d.ts +2 -1
  195. package/dist/typescript/module/features/exampleSolution/types.d.ts.map +1 -1
  196. package/dist/typescript/module/features/formulaSheet/components/FormulaSheet.d.ts.map +1 -1
  197. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts +1 -1
  198. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  199. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts +1 -1
  200. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts.map +1 -1
  201. package/dist/typescript/module/shared/translation/constants.d.ts +5 -0
  202. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  203. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  204. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  205. package/package.json +2 -2
  206. package/src/features/chatbot/components/{ChatMessages/ChatbotMessages.tsx → Chat/Chat.tsx} +12 -17
  207. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +83 -0
  208. package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +156 -0
  209. package/src/features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx +153 -0
  210. package/src/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx +83 -0
  211. package/src/features/chatbot/components/{Alternatives/InputButton.tsx → ChatInput/freeText/SendMessageButton.tsx} +37 -16
  212. package/src/features/chatbot/components/Chatbot.tsx +4 -2
  213. package/src/features/chatbot/constants.ts +3 -0
  214. package/src/features/chatbot/index.ts +2 -0
  215. package/src/features/chatbot/model/ChatBotModel.ts +67 -33
  216. package/src/features/chatbot/model/ChatBotTextInput.ts +10 -0
  217. package/src/features/chatbot/model/ChatBotThreadManager.ts +35 -9
  218. package/src/features/chatbot/model/translation.ts +1 -1
  219. package/src/features/chatbot/types/api.types.ts +25 -1
  220. package/src/features/chatbot/types/model.types.ts +16 -1
  221. package/src/features/chatbot/types/types.ts +0 -0
  222. package/src/features/chatbot/types/units.types.ts +6 -0
  223. package/src/features/exampleSolution/ExampleSolutionModal.tsx +1 -7
  224. package/src/features/exampleSolution/assets/grid.webp +0 -0
  225. package/src/features/exampleSolution/components/ExampleSolutionModalContent.tsx +24 -12
  226. package/src/features/exampleSolution/components/QuestionSection.tsx +11 -7
  227. package/src/features/exampleSolution/components/SolutionSection.tsx +72 -29
  228. package/src/features/exampleSolution/model/ExampleSolution.model.ts +5 -2
  229. package/src/features/exampleSolution/types.ts +2 -1
  230. package/src/features/formulaSheet/components/FormulaSheet.tsx +6 -4
  231. package/src/shared/hooks/useKeyDownListener.ts +3 -1
  232. package/src/shared/translation/localization/ca.json +2 -1
  233. package/src/shared/translation/localization/en.json +3 -2
  234. package/src/shared/translation/localization/gb.json +2 -1
  235. package/src/shared/translation/localization/sct.json +2 -1
  236. package/src/shared/translation/localization/sw.json +3 -2
  237. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +0 -111
  238. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  239. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -208
  240. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  241. package/dist/commonjs/features/chatbot/components/Alternatives/InputButton.js.map +0 -1
  242. package/dist/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.js +0 -157
  243. package/dist/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.js.map +0 -1
  244. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  245. package/dist/commonjs/features/exampleSolution/assets/grid.png +0 -0
  246. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +0 -105
  247. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  248. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -200
  249. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  250. package/dist/module/features/chatbot/components/Alternatives/InputButton.js.map +0 -1
  251. package/dist/module/features/chatbot/components/Alternatives/InputWithHintRow.js +0 -150
  252. package/dist/module/features/chatbot/components/Alternatives/InputWithHintRow.js.map +0 -1
  253. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  254. package/dist/module/features/exampleSolution/assets/grid.png +0 -0
  255. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  256. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  257. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -13
  258. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  259. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputButton.d.ts.map +0 -1
  260. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.d.ts +0 -11
  261. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/InputWithHintRow.d.ts.map +0 -1
  262. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  263. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  264. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  265. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -13
  266. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  267. package/dist/typescript/module/features/chatbot/components/Alternatives/InputButton.d.ts.map +0 -1
  268. package/dist/typescript/module/features/chatbot/components/Alternatives/InputWithHintRow.d.ts +0 -11
  269. package/dist/typescript/module/features/chatbot/components/Alternatives/InputWithHintRow.d.ts.map +0 -1
  270. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  271. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +0 -135
  272. package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +0 -214
  273. package/src/features/chatbot/components/Alternatives/InputWithHintRow.tsx +0 -160
  274. package/src/features/exampleSolution/assets/grid.png +0 -0
@@ -1,150 +0,0 @@
1
- "use strict";
2
-
3
- import React, { useState } from 'react';
4
- import { Platform, StyleSheet, TextInput, View } from 'react-native';
5
- import Animated, { useSharedValue, withTiming, useAnimatedStyle, useAnimatedReaction } from 'react-native-reanimated';
6
- import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui';
7
- import { HelpRequestOption } from "./HelpRequestOption.js";
8
- import { InputButton } from "./InputButton.js";
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- const COMPACT_WIDTH = 134;
11
- export const InputWithHintRow = ({
12
- onPress,
13
- message,
14
- disabled,
15
- colorScheme
16
- }) => {
17
- const [value, setValue] = useState('');
18
- const widthSv = useSharedValue(COMPACT_WIDTH);
19
- const arrowOpacitySv = useSharedValue(1);
20
- const hintVisibleSv = useSharedValue(1);
21
- const valueLengthSv = useSharedValue(0);
22
- const shouldDisable = value.trim().length > 0;
23
- const animatedInputStyle = useAnimatedStyle(() => ({
24
- width: widthSv.value
25
- }), [widthSv]);
26
- const handleChangeText = text => {
27
- setValue(text);
28
- valueLengthSv.value = text.trim().length;
29
- };
30
- useAnimatedReaction(() => valueLengthSv.value, currentLength => {
31
- if (currentLength > 0) {
32
- widthSv.value = withTiming(305, {
33
- duration: 200
34
- });
35
- arrowOpacitySv.value = withTiming(0, {
36
- duration: 200
37
- });
38
- hintVisibleSv.value = withTiming(0, {
39
- duration: 200
40
- });
41
- } else {
42
- widthSv.value = withTiming(COMPACT_WIDTH, {
43
- duration: 200
44
- });
45
- arrowOpacitySv.value = withTiming(1, {
46
- duration: 200
47
- });
48
- hintVisibleSv.value = withTiming(1, {
49
- duration: 200
50
- });
51
- }
52
- }, [valueLengthSv]);
53
-
54
- // const handleFocus = () => {
55
- // widthSv.value = withTiming(305, { duration: 200 }) // expand full width (container limits it)
56
- // arrowOpacitySv.value = withTiming(0, { duration: 200 })
57
- // hintVisibleSv.value = withTiming(0, { duration: 200 })
58
- //
59
- // // setIsFocused(true)
60
- // }
61
- //
62
- // const handleBlur = () => {
63
- // if (value.trim().length > 0) return
64
- // widthSv.value = withTiming(COMPACT_WIDTH, { duration: 200 })
65
- // arrowOpacitySv.value = withTiming(1, { duration: 200 })
66
- // hintVisibleSv.value = withTiming(1, { duration: 200 })
67
- // // setIsFocused(false)
68
- // }
69
-
70
- return /*#__PURE__*/_jsxs(View, {
71
- style: styles.container,
72
- children: [/*#__PURE__*/_jsxs(Animated.View, {
73
- style: [styles.inputWrapper, animatedInputStyle],
74
- children: [/*#__PURE__*/_jsx(TextInput, {
75
- style: styles.input,
76
- placeholder: "Type...",
77
- placeholderTextColor: COLORS.NEUTRAL_6,
78
- value: value,
79
- onChangeText: handleChangeText
80
- // onFocus={handleFocus}
81
- // onBlur={handleBlur}
82
- }), /*#__PURE__*/_jsx(Animated.View, {
83
- style: [styles.arrowWrapper],
84
- children: /*#__PURE__*/_jsx(InputButton, {
85
- onPress: () => {
86
- onPress();
87
- handleChangeText('');
88
- },
89
- disabled: value.trim().length < 1 || disabled,
90
- colorScheme: colorScheme
91
- })
92
- })]
93
- }), /*#__PURE__*/_jsx(HelpRequestOption, {
94
- visibleSv: hintVisibleSv,
95
- disabled: disabled || shouldDisable,
96
- onPress: onPress,
97
- message: message,
98
- colorScheme: colorScheme
99
- })]
100
- });
101
- };
102
- const styles = StyleSheet.create({
103
- container: {
104
- position: 'relative',
105
- width: '100%',
106
- alignItems: 'flex-end',
107
- height: 52,
108
- justifyContent: 'center'
109
- },
110
- inputWrapper: {
111
- position: 'absolute',
112
- zIndex: 1,
113
- right: SPACING[200],
114
- left: 0,
115
- flexDirection: 'row',
116
- alignItems: 'center',
117
- borderWidth: 1,
118
- borderColor: COLORS.NEUTRAL_5,
119
- borderRadius: 200,
120
- backgroundColor: COLORS.NEUTRAL_1,
121
- paddingHorizontal: SPACING[100],
122
- paddingVertical: SPACING[100],
123
- overflow: 'hidden',
124
- elevation: 3,
125
- shadowColor: '#333',
126
- shadowOffset: {
127
- width: 0,
128
- height: 1
129
- },
130
- shadowOpacity: 0.25,
131
- shadowRadius: 3
132
- },
133
- input: {
134
- flex: 1,
135
- fontSize: 16,
136
- minWidth: 60,
137
- minHeight: 22,
138
- fontWeight: '400',
139
- fontFamily: FONT_FAMILY.buenosAires,
140
- ...(Platform.OS === 'web' && {
141
- outlineStyle: 'none'
142
- }),
143
- paddingHorizontal: SPACING[100],
144
- paddingVertical: SPACING[200]
145
- },
146
- arrowWrapper: {
147
- marginLeft: SPACING[200]
148
- }
149
- });
150
- //# sourceMappingURL=InputWithHintRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useState","Platform","StyleSheet","TextInput","View","Animated","useSharedValue","withTiming","useAnimatedStyle","useAnimatedReaction","COLORS","FONT_FAMILY","SPACING","HelpRequestOption","InputButton","jsx","_jsx","jsxs","_jsxs","COMPACT_WIDTH","InputWithHintRow","onPress","message","disabled","colorScheme","value","setValue","widthSv","arrowOpacitySv","hintVisibleSv","valueLengthSv","shouldDisable","trim","length","animatedInputStyle","width","handleChangeText","text","currentLength","duration","style","styles","container","children","inputWrapper","input","placeholder","placeholderTextColor","NEUTRAL_6","onChangeText","arrowWrapper","visibleSv","create","position","alignItems","height","justifyContent","zIndex","right","left","flexDirection","borderWidth","borderColor","NEUTRAL_5","borderRadius","backgroundColor","NEUTRAL_1","paddingHorizontal","paddingVertical","overflow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","flex","fontSize","minWidth","minHeight","fontWeight","fontFamily","buenosAires","OS","outlineStyle","marginLeft"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Alternatives/InputWithHintRow.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","useStoreMap","useUnit","ChatMessage","MessageLoader","Alternatives","MessageVariant","ColorScheme","jsx","_jsx","jsxs","_jsxs","TOOLBAR_HEIGHT","BOTTOM_OFFSET","select","web","default","ChatbotMessages","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","askChatForHelp","message","translatedMessage","style","styles","container","maxHeight","children","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","map","withIcon","isOwnMessage","variant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","onPressAlternative","hasMessages","length","create","flex","alignItems","width","paddingVertical","paddingRight"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessages/ChatbotMessages.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { ColorScheme } from '../../types/style.types';
3
- type AlternativesProps = {
4
- onPressAlternative: (message: string, translatedMessage?: string) => void;
5
- hasMessages: boolean;
6
- isHintFeedback: boolean;
7
- colorScheme?: ColorScheme;
8
- };
9
- export declare const Alternatives: ({ onPressAlternative, hasMessages, isHintFeedback, colorScheme, }: AlternativesProps) => React.JSX.Element;
10
- export {};
11
- //# sourceMappingURL=Alternatives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Alternatives.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/Alternatives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQrD,KAAK,iBAAiB,GAAG;IACvB,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACzE,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAqED,eAAO,MAAM,YAAY,sEAKtB,iBAAiB,sBAgCnB,CAAA"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { SharedValue } from 'react-native-reanimated';
3
- import { ColorScheme } from '@magmamath/students-features';
4
- type HelpRequestOptionProps = {
5
- onPress: () => void;
6
- message: string;
7
- disabled: boolean;
8
- colorScheme?: ColorScheme;
9
- visibleSv?: SharedValue<number>;
10
- };
11
- export declare const HelpRequestOption: ({ onPress, message, disabled, colorScheme, visibleSv, }: HelpRequestOptionProps) => React.JSX.Element;
12
- export {};
13
- //# sourceMappingURL=HelpRequestOption.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HelpRequestOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/HelpRequestOption.tsx"],"names":[],"mappings":"AA4FA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAKf,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,iBAAiB,4DAM3B,sBAAsB,sBA+DxB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/InputButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,WAAW,wCAIrB,sBAAsB,sBAoCxB,CAAA"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { ColorScheme } from '@magmamath/students-features';
3
- type InputWithHintRowProps = {
4
- onPress: () => void;
5
- message: string;
6
- disabled: boolean;
7
- colorScheme?: ColorScheme;
8
- };
9
- export declare const InputWithHintRow: ({ onPress, message, disabled, colorScheme, }: InputWithHintRowProps) => React.JSX.Element;
10
- export {};
11
- //# sourceMappingURL=InputWithHintRow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputWithHintRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/InputWithHintRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAWvC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAI1D,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,iDAK1B,qBAAqB,sBAwFvB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatbotMessages.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAIrC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAQD,eAAO,MAAM,eAAe,mEAKzB,oBAAoB,sBAwEtB,CAAA"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { ColorScheme } from '../../types/style.types';
3
- type AlternativesProps = {
4
- onPressAlternative: (message: string, translatedMessage?: string) => void;
5
- hasMessages: boolean;
6
- isHintFeedback: boolean;
7
- colorScheme?: ColorScheme;
8
- };
9
- export declare const Alternatives: ({ onPressAlternative, hasMessages, isHintFeedback, colorScheme, }: AlternativesProps) => React.JSX.Element;
10
- export {};
11
- //# sourceMappingURL=Alternatives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Alternatives.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/Alternatives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAQrD,KAAK,iBAAiB,GAAG;IACvB,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACzE,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAqED,eAAO,MAAM,YAAY,sEAKtB,iBAAiB,sBAgCnB,CAAA"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { SharedValue } from 'react-native-reanimated';
3
- import { ColorScheme } from '@magmamath/students-features';
4
- type HelpRequestOptionProps = {
5
- onPress: () => void;
6
- message: string;
7
- disabled: boolean;
8
- colorScheme?: ColorScheme;
9
- visibleSv?: SharedValue<number>;
10
- };
11
- export declare const HelpRequestOption: ({ onPress, message, disabled, colorScheme, visibleSv, }: HelpRequestOptionProps) => React.JSX.Element;
12
- export {};
13
- //# sourceMappingURL=HelpRequestOption.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HelpRequestOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/HelpRequestOption.tsx"],"names":[],"mappings":"AA4FA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAKf,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,iBAAiB,4DAM3B,sBAAsB,sBA+DxB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/InputButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,WAAW,wCAIrB,sBAAsB,sBAoCxB,CAAA"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { ColorScheme } from '@magmamath/students-features';
3
- type InputWithHintRowProps = {
4
- onPress: () => void;
5
- message: string;
6
- disabled: boolean;
7
- colorScheme?: ColorScheme;
8
- };
9
- export declare const InputWithHintRow: ({ onPress, message, disabled, colorScheme, }: InputWithHintRowProps) => React.JSX.Element;
10
- export {};
11
- //# sourceMappingURL=InputWithHintRow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputWithHintRow.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Alternatives/InputWithHintRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAWvC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAI1D,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,iDAK1B,qBAAqB,sBAwFvB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatbotMessages.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAIrC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAQD,eAAO,MAAM,eAAe,mEAKzB,oBAAoB,sBAwEtB,CAAA"}
@@ -1,135 +0,0 @@
1
- import React, { Component, ComponentType } from 'react'
2
- import { StyleSheet, View } from 'react-native'
3
- import { useStoreMap, useUnit } from 'effector-react'
4
-
5
- import { useChatModel } from '../../context/ChatBotModelContext'
6
- import { ColorScheme } from '../../types/style.types'
7
- import { CONTROLS_COLORS_MAP } from '../../constants'
8
- import { InputWithHintRow } from './InputWithHintRow'
9
- import { useText } from '../../../../shared/translation'
10
- import { HelpRequestOption } from './HelpRequestOption'
11
- import { AlternativesOptions, GetAlternativesResponse } from '../../types/api.types'
12
- import { ChatAnswer } from '@magmamath/students-features'
13
-
14
- type AlternativesProps = {
15
- onPressAlternative: (message: string, translatedMessage?: string) => void
16
- hasMessages: boolean
17
- isHintFeedback: boolean
18
- colorScheme?: ColorScheme
19
- }
20
-
21
- enum ChatMode {
22
- FREE_TEXT = 1,
23
- CHOICE,
24
- }
25
-
26
- type ChatOptionsInput = {
27
- options: ChatAnswer[]
28
- alternatives: GetAlternativesResponse | null
29
- disabled: boolean
30
- isTranslated: boolean
31
- isTranslationPending: boolean
32
- onPressAlternative: (message: string, translatedMessage?: string) => void
33
- colorScheme: ColorScheme
34
- }
35
-
36
- const FreeTextChatInput = ({
37
- options,
38
- alternatives,
39
- isTranslated,
40
- disabled,
41
- onPressAlternative,
42
- colorScheme,
43
- }: ChatOptionsInput) => {
44
- const isDisabled = options.length === 0
45
- const choices = (isDisabled ? alternatives?.options.default : options) ?? []
46
- const option = choices[0]
47
-
48
- return (
49
- <View style={styles.container}>
50
- <InputWithHintRow
51
- onPress={() => onPressAlternative(option.text, option.translatedText)}
52
- message={isTranslated ? (option.translatedText as string) : option.text}
53
- disabled={isDisabled || disabled}
54
- colorScheme={colorScheme}
55
- />
56
- </View>
57
- )
58
- }
59
-
60
- const OptionTextChatInput = ({
61
- options,
62
- alternatives,
63
- onPressAlternative,
64
- isTranslated,
65
- colorScheme,
66
- disabled
67
- }: ChatOptionsInput) => {
68
- return (
69
- <View style={styles.container}>
70
- {options.map(({ text, translatedText }, index) => (
71
- <HelpRequestOption
72
- key={index}
73
- onPress={() => onPressAlternative(text, translatedText)}
74
- message={isTranslated ? (translatedText as string) : text}
75
- disabled={disabled}
76
- colorScheme={colorScheme}
77
- />
78
- ))}
79
- </View>
80
- )
81
- }
82
-
83
- const alternativesVariant: Record<ChatMode, ComponentType<ChatOptionsInput>> = {
84
- [ChatMode.FREE_TEXT]: FreeTextChatInput,
85
- [ChatMode.CHOICE]: OptionTextChatInput,
86
- }
87
-
88
- export const Alternatives = ({
89
- onPressAlternative,
90
- hasMessages,
91
- isHintFeedback,
92
- colorScheme = ColorScheme.Blue,
93
- }: AlternativesProps) => {
94
- const model = useChatModel()
95
- const isTranslated = useUnit(model.translation.$isTranslated)
96
- const alternatives = useUnit(model.$alternatives)
97
- const isTranslationPending = useUnit(model.translation.translateAllMessagesFx.pending)
98
- const isHelpRequestPending = useUnit(model.sendHelpRequestFx.pending)
99
-
100
- const lastMessageOptions = useStoreMap(model.$currentChatData, ({ messages }) => {
101
- const lastMessage = messages.at(-1)
102
- return lastMessage?.options ?? []
103
- })
104
-
105
- const options = (() => {
106
- if (hasMessages) return lastMessageOptions
107
- if (isHintFeedback) return alternatives?.options.hints ?? []
108
- return alternatives?.options.default ?? []
109
- })()
110
-
111
- const variant = ChatMode.FREE_TEXT // props or even to model
112
- const Component = alternativesVariant[variant]
113
-
114
- return (
115
- <Component
116
- options={options}
117
- alternatives={alternatives}
118
- disabled={isHelpRequestPending}
119
- isTranslated={isTranslated}
120
- isTranslationPending={isTranslationPending}
121
- onPressAlternative={onPressAlternative}
122
- colorScheme={colorScheme}
123
- />
124
- )
125
- }
126
-
127
- const styles = StyleSheet.create({
128
- container: {
129
- flex: 1,
130
- width: 305,
131
- alignItems: 'center',
132
- justifyContent: 'center',
133
- marginVertical: 8,
134
- },
135
- })
@@ -1,214 +0,0 @@
1
- // import React, { useEffect, useRef, useState } from 'react'
2
- // import { Animated, Pressable, StyleSheet } from 'react-native'
3
- // import { ArrowUpIcon, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
4
- //
5
- // type HelpRequestOptionProps = {
6
- // onPress: () => void
7
- // message: string
8
- // disabled: boolean
9
- // hoverColor?: string
10
- // }
11
- //
12
- // export const HelpRequestOption = ({
13
- // onPress,
14
- // message,
15
- // disabled = false,
16
- // hoverColor = COLORS.PRIMARY_BLUE,
17
- // }: HelpRequestOptionProps) => {
18
- // const [isHovered, setIsHovered] = useState(false)
19
- // const hoverAnim = useRef(new Animated.Value(0)).current
20
- //
21
- // const backgroundColor = hoverAnim.interpolate({
22
- // inputRange: [0, 1],
23
- // outputRange: [COLORS.NEUTRAL_1, hoverColor],
24
- // })
25
- // const textColor = hoverAnim.interpolate({
26
- // inputRange: [0, 1],
27
- // outputRange: [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1],
28
- // })
29
- //
30
- // useEffect(() => {
31
- // Animated.timing(hoverAnim, {
32
- // toValue: isHovered ? 1 : 0,
33
- // duration: 200,
34
- // useNativeDriver: false,
35
- // }).start()
36
- // }, [isHovered, hoverAnim])
37
- //
38
- // return (
39
- // <Pressable
40
- // onHoverIn={() => setIsHovered(true)}
41
- // onHoverOut={() => setIsHovered(false)}
42
- // onPress={onPress}
43
- // style={styles.button}
44
- // disabled={disabled}
45
- // accessibilityState={{ disabled }}
46
- // accessibilityRole="button"
47
- // >
48
- // <Animated.View
49
- // style={[styles.textWrapper, { backgroundColor, borderColor: isHovered ? backgroundColor: COLORS.PRIMARY_BLUE }]}
50
- // >
51
- // <Animated.Text numberOfLines={1} style={[styles.text, { color: textColor }]}>
52
- // I need a hint
53
- // </Animated.Text>
54
- // <ArrowUpIcon color={isHovered ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_10} />
55
- // </Animated.View>
56
- // </Pressable>
57
- // )
58
- // }
59
- //
60
- // const styles = StyleSheet.create({
61
- // button: {
62
- // flexDirection: 'row',
63
- // alignItems: 'flex-end',
64
- // justifyContent: 'space-between',
65
- // width: '100%',
66
- // },
67
- // text: {
68
- // fontSize: 18,
69
- // fontWeight: 400,
70
- // fontFamily: FONT_FAMILY.buenosAires,
71
- // color: COLORS.NEUTRAL_10,
72
- // },
73
- // textWrapper: {
74
- // flex: 1,
75
- // flexDirection: 'row',
76
- // alignItems: 'center',
77
- // justifyContent: 'space-between',
78
- // maxWidth: 163,
79
- // paddingHorizontal: SPACING[400],
80
- // paddingVertical: SPACING[200],
81
- // borderWidth: 1,
82
- // borderRadius: 48,
83
- // elevation: 3,
84
- // shadowColor: '#333',
85
- // shadowOffset: { width: 0, height: 1 },
86
- // shadowOpacity: 0.25,
87
- // shadowRadius: 3,
88
- // backgroundColor: COLORS.NEUTRAL_1,
89
- // borderColor: COLORS.PRIMARY_BLUE,
90
- // },
91
- // })
92
-
93
- import React from 'react'
94
- import { Pressable, StyleSheet } from 'react-native'
95
- import Animated, {
96
- useSharedValue,
97
- withTiming,
98
- useAnimatedStyle,
99
- interpolateColor,
100
- SharedValue,
101
- } from 'react-native-reanimated'
102
- import { ArrowUpIcon, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
103
- import { ColorScheme } from '@magmamath/students-features'
104
- import { MESSAGE_COLORS_MAP } from '../../constants'
105
-
106
- type HelpRequestOptionProps = {
107
- onPress: () => void
108
- message: string
109
- disabled: boolean
110
- colorScheme?: ColorScheme
111
- visibleSv?: SharedValue<number>
112
- }
113
-
114
- export const HelpRequestOption = ({
115
- onPress,
116
- message,
117
- disabled = false,
118
- colorScheme = ColorScheme.Blue,
119
- visibleSv,
120
- }: HelpRequestOptionProps) => {
121
- const hoverSv = useSharedValue(0)
122
-
123
- const onHoverIn = () => {
124
- if (!disabled) hoverSv.value = withTiming(1, { duration: 200 })
125
- }
126
- const onHoverOut = () => {
127
- if (!disabled) hoverSv.value = withTiming(0, { duration: 200 })
128
- }
129
-
130
- const animatedWrapperStyle = useAnimatedStyle(() => {
131
- const backgroundColor = interpolateColor(
132
- hoverSv.value,
133
- [0, 1],
134
- [COLORS.NEUTRAL_1, MESSAGE_COLORS_MAP[colorScheme].sent.background],
135
- )
136
- const borderColor = interpolateColor(
137
- hoverSv.value,
138
- [0, 1],
139
- [
140
- MESSAGE_COLORS_MAP[colorScheme].sent.border,
141
- MESSAGE_COLORS_MAP[colorScheme].sent.border,
142
- ],
143
- )
144
-
145
- return {
146
- backgroundColor: disabled ? COLORS.NEUTRAL_2 : backgroundColor,
147
- borderColor: disabled ? COLORS.NEUTRAL_5 : borderColor,
148
- }
149
- }, [hoverSv, disabled, colorScheme])
150
-
151
- const animatedTextStyle = useAnimatedStyle(() => {
152
- const color = interpolateColor(hoverSv.value, [0, 1], [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1])
153
- return { color: disabled ? COLORS.NEUTRAL_5 : color }
154
- }, [hoverSv, disabled])
155
-
156
- const animatedVisibilityStyle = useAnimatedStyle(() => {
157
- return {
158
- opacity: visibleSv ? visibleSv.value : 1,
159
- }
160
- }, [visibleSv])
161
-
162
- return (
163
- <Pressable
164
- onHoverIn={onHoverIn}
165
- onHoverOut={onHoverOut}
166
- onPress={onPress}
167
- style={[styles.button, { cursor: disabled ? 'auto' : 'pointer' }]}
168
- disabled={disabled}
169
- accessibilityState={{ disabled }}
170
- accessibilityRole="button"
171
- >
172
- <Animated.View style={[styles.textWrapper, animatedWrapperStyle, animatedVisibilityStyle]}>
173
- <Animated.Text numberOfLines={1} style={[styles.text, animatedTextStyle]}>
174
- {message}
175
- </Animated.Text>
176
-
177
- <Animated.Text style={animatedTextStyle}>
178
- <ArrowUpIcon color={'currentColor'} size={16} />
179
- </Animated.Text>
180
- </Animated.View>
181
- </Pressable>
182
- )
183
- }
184
-
185
- const styles = StyleSheet.create({
186
- button: {
187
- flexDirection: 'row',
188
- justifyContent: 'flex-end',
189
- },
190
- text: {
191
- fontSize: 18,
192
- fontWeight: '400',
193
- fontFamily: FONT_FAMILY.buenosAires,
194
- color: COLORS.NEUTRAL_10,
195
- },
196
- textWrapper: {
197
- flex: 1,
198
- flexDirection: 'row',
199
- alignItems: 'center',
200
- justifyContent: 'space-between',
201
- width: 163,
202
- paddingHorizontal: SPACING[400],
203
- paddingVertical: SPACING[200],
204
- borderWidth: 1,
205
- borderRadius: 48,
206
- elevation: 3,
207
- shadowColor: '#333',
208
- shadowOffset: { width: 0, height: 1 },
209
- shadowOpacity: 0.25,
210
- shadowRadius: 3,
211
- backgroundColor: COLORS.NEUTRAL_1,
212
- borderColor: COLORS.PRIMARY_BLUE,
213
- },
214
- })