@magmamath/students-features 0.10.0 → 0.11.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 (508) hide show
  1. package/dist/commonjs/features/celebrations/helpers.js +4 -1
  2. package/dist/commonjs/features/celebrations/helpers.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +120 -0
  4. package/dist/commonjs/features/chatbot/components/Chat/Chat.js +66 -30
  5. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
  6. package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js +61 -0
  7. package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js.map +1 -0
  8. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +44 -54
  9. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  10. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +3 -1
  11. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  12. package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +2 -2
  13. package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
  14. package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +1 -1
  15. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  16. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +16 -4
  17. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  18. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +12 -20
  19. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  20. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +13 -8
  21. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  22. package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +1 -1
  23. package/dist/commonjs/features/chatbot/components/Chatbot.js +29 -7
  24. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  25. package/dist/commonjs/features/chatbot/constants.js +2 -1
  26. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  27. package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js +29 -0
  28. package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js.map +1 -0
  29. package/dist/commonjs/features/chatbot/helpers.js +19 -2
  30. package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
  31. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  32. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +59 -17
  33. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  34. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +2 -2
  35. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  36. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js +56 -0
  37. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
  38. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js +154 -0
  39. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js.map +1 -0
  40. package/dist/commonjs/features/chatbot/model/ChatbotApi.js +1 -1
  41. package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +1 -1
  42. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js +9 -0
  43. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js.map +1 -1
  44. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  45. package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -1
  46. package/dist/commonjs/features/feedback/model/model.js.map +1 -1
  47. package/dist/commonjs/features/feedback/model/sockets.js +8 -5
  48. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
  49. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +2 -2
  50. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  51. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  52. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  53. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  54. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  55. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  56. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  57. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  58. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  59. package/dist/commonjs/features/keyboard/components/Keyboard.js +4 -2
  60. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  61. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +1 -6
  62. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  63. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  64. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +3 -1
  65. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  66. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +27 -6
  67. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  68. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  69. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  70. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js +1 -0
  71. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  72. package/dist/commonjs/features/keyboard/constants/constants.js +1 -1
  73. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +2 -1
  74. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  75. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +20 -4
  76. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  77. package/dist/commonjs/features/keyboard/helpers.js +7 -0
  78. package/dist/commonjs/features/keyboard/helpers.js.map +1 -1
  79. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +20 -3
  80. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  81. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js +6 -3
  82. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  83. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +34 -0
  84. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
  85. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +77 -0
  86. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
  87. package/dist/commonjs/features/openEnded/index.js +48 -0
  88. package/dist/commonjs/features/openEnded/index.js.map +1 -0
  89. package/dist/commonjs/features/openEnded/oe.helpers.js +26 -0
  90. package/dist/commonjs/features/openEnded/oe.helpers.js.map +1 -0
  91. package/dist/commonjs/features/openEnded/oe.types.js +14 -0
  92. package/dist/commonjs/features/openEnded/oe.types.js.map +1 -0
  93. package/dist/commonjs/index.js +13 -1
  94. package/dist/commonjs/index.js.map +1 -1
  95. package/dist/commonjs/lib/components/ConditionalWrapper.js +23 -0
  96. package/dist/commonjs/lib/components/ConditionalWrapper.js.map +1 -0
  97. package/dist/commonjs/shared/common.constants.js +9 -0
  98. package/dist/commonjs/shared/common.constants.js.map +1 -0
  99. package/dist/commonjs/shared/icons/TimeIcon.js +37 -0
  100. package/dist/commonjs/shared/icons/TimeIcon.js.map +1 -0
  101. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  102. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  103. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +32 -0
  104. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +1 -0
  105. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +32 -0
  106. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +1 -0
  107. package/dist/commonjs/shared/translation/localization/ca.json +2 -1
  108. package/dist/commonjs/shared/translation/localization/de.json +2 -1
  109. package/dist/commonjs/shared/translation/localization/en.json +2 -1
  110. package/dist/commonjs/shared/translation/localization/gb.json +2 -1
  111. package/dist/commonjs/shared/translation/localization/sct.json +2 -1
  112. package/dist/commonjs/shared/translation/localization/sw.json +2 -1
  113. package/dist/commonjs/types/common.types.js +4 -0
  114. package/dist/module/features/celebrations/helpers.js +4 -1
  115. package/dist/module/features/celebrations/helpers.js.map +1 -1
  116. package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +120 -0
  117. package/dist/module/features/chatbot/components/Chat/Chat.js +66 -30
  118. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
  119. package/dist/module/features/chatbot/components/Chat/CloseButton.js +55 -0
  120. package/dist/module/features/chatbot/components/Chat/CloseButton.js.map +1 -0
  121. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +44 -55
  122. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  123. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +3 -1
  124. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  125. package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +2 -2
  126. package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
  127. package/dist/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +1 -1
  128. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  129. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +16 -4
  130. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  131. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +12 -20
  132. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  133. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +13 -8
  134. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  135. package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +1 -1
  136. package/dist/module/features/chatbot/components/Chatbot.js +27 -6
  137. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  138. package/dist/module/features/chatbot/constants.js +1 -0
  139. package/dist/module/features/chatbot/constants.js.map +1 -1
  140. package/dist/module/features/chatbot/helpers/ttsHighlight.js +23 -0
  141. package/dist/module/features/chatbot/helpers/ttsHighlight.js.map +1 -0
  142. package/dist/module/features/chatbot/helpers.js +19 -2
  143. package/dist/module/features/chatbot/helpers.js.map +1 -1
  144. package/dist/module/features/chatbot/index.js.map +1 -1
  145. package/dist/module/features/chatbot/model/ChatBotModel.js +59 -17
  146. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  147. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +2 -2
  148. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  149. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js +52 -0
  150. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
  151. package/dist/module/features/chatbot/model/ChatTTSModel.js +149 -0
  152. package/dist/module/features/chatbot/model/ChatTTSModel.js.map +1 -0
  153. package/dist/module/features/chatbot/model/ChatbotApi.js +1 -1
  154. package/dist/module/features/chatbot/model/ChatbotApi.js.map +1 -1
  155. package/dist/module/features/chatbot/model/ChatsCacheModel.js +9 -0
  156. package/dist/module/features/chatbot/model/ChatsCacheModel.js.map +1 -1
  157. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  158. package/dist/module/features/chatbot/types/t2s.types.js.map +1 -1
  159. package/dist/module/features/feedback/model/model.js.map +1 -1
  160. package/dist/module/features/feedback/model/sockets.js +8 -5
  161. package/dist/module/features/feedback/model/sockets.js.map +1 -1
  162. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +3 -3
  163. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  164. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  165. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  166. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  167. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  168. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  169. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  170. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  171. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  172. package/dist/module/features/keyboard/components/Keyboard.js +4 -2
  173. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  174. package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
  175. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +2 -7
  176. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  177. package/dist/module/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  178. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +2 -1
  179. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  180. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +27 -6
  181. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  182. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  183. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  184. package/dist/module/features/keyboard/components/UnitsLayout/types.js +1 -0
  185. package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  186. package/dist/module/features/keyboard/constants/constants.js +1 -1
  187. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +3 -2
  188. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  189. package/dist/module/features/keyboard/constants/keyboardLayouts.js +19 -4
  190. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  191. package/dist/module/features/keyboard/helpers.js +5 -0
  192. package/dist/module/features/keyboard/helpers.js.map +1 -1
  193. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +20 -3
  194. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  195. package/dist/module/features/keyboard/types/MathKeysGroups/units.js +6 -3
  196. package/dist/module/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  197. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +28 -0
  198. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
  199. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +71 -0
  200. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
  201. package/dist/module/features/openEnded/index.js +7 -0
  202. package/dist/module/features/openEnded/index.js.map +1 -0
  203. package/dist/module/features/openEnded/oe.helpers.js +21 -0
  204. package/dist/module/features/openEnded/oe.helpers.js.map +1 -0
  205. package/dist/module/features/openEnded/oe.types.js +10 -0
  206. package/dist/module/features/openEnded/oe.types.js.map +1 -0
  207. package/dist/module/index.js +1 -0
  208. package/dist/module/index.js.map +1 -1
  209. package/dist/module/lib/components/ConditionalWrapper.js +17 -0
  210. package/dist/module/lib/components/ConditionalWrapper.js.map +1 -0
  211. package/dist/module/shared/common.constants.js +5 -0
  212. package/dist/module/shared/common.constants.js.map +1 -0
  213. package/dist/module/shared/icons/TimeIcon.js +29 -0
  214. package/dist/module/shared/icons/TimeIcon.js.map +1 -0
  215. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  216. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  217. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +24 -0
  218. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +1 -0
  219. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +24 -0
  220. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +1 -0
  221. package/dist/module/shared/translation/localization/ca.json +2 -1
  222. package/dist/module/shared/translation/localization/de.json +2 -1
  223. package/dist/module/shared/translation/localization/en.json +2 -1
  224. package/dist/module/shared/translation/localization/gb.json +2 -1
  225. package/dist/module/shared/translation/localization/sct.json +2 -1
  226. package/dist/module/shared/translation/localization/sw.json +2 -1
  227. package/dist/module/types/common.types.js +2 -0
  228. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +1 -1
  229. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +7 -2
  230. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  231. package/dist/typescript/commonjs/features/chatbot/components/Chat/CloseButton.d.ts +7 -0
  232. package/dist/typescript/commonjs/features/chatbot/components/Chat/CloseButton.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +3 -2
  234. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  235. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -1
  237. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  238. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -2
  239. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  240. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts +1 -6
  241. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  242. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  243. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +4 -1
  245. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +1 -0
  247. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  248. package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts +8 -0
  249. package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
  250. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
  251. package/dist/typescript/commonjs/features/chatbot/index.d.ts +3 -2
  252. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  253. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +6 -3
  254. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  255. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +4 -3
  256. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  257. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
  258. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts +38 -0
  260. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts +1 -0
  262. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -1
  263. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +28 -16
  264. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  265. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +14 -11
  266. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  267. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +25 -0
  268. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
  269. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +1 -0
  270. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
  271. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +4 -1
  272. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
  273. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
  274. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  276. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  277. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  278. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +2 -1
  279. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  280. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  281. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  282. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  283. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  284. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  285. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  286. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  287. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  288. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  289. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts +1 -1
  290. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  291. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  292. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  293. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts +1 -0
  294. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts.map +1 -1
  295. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +10 -0
  296. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  297. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts +36 -0
  298. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  299. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
  300. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
  301. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
  302. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
  303. package/dist/typescript/commonjs/features/openEnded/index.d.ts +5 -0
  304. package/dist/typescript/commonjs/features/openEnded/index.d.ts.map +1 -0
  305. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts +13 -0
  306. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts.map +1 -0
  307. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts +7 -0
  308. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts.map +1 -0
  309. package/dist/typescript/commonjs/index.d.ts +1 -0
  310. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  311. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts +9 -0
  312. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts.map +1 -0
  313. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +1 -1
  314. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -1
  315. package/dist/typescript/commonjs/shared/common.constants.d.ts +2 -0
  316. package/dist/typescript/commonjs/shared/common.constants.d.ts.map +1 -0
  317. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts +4 -0
  318. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts.map +1 -0
  319. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +4 -0
  320. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +1 -0
  321. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +4 -0
  322. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +1 -0
  323. package/dist/typescript/commonjs/shared/translation/constants.d.ts +6 -0
  324. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  325. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  326. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  327. package/dist/typescript/commonjs/types/common.types.d.ts +2 -0
  328. package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
  329. package/dist/typescript/module/features/celebrations/helpers.d.ts.map +1 -1
  330. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +7 -2
  331. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  332. package/dist/typescript/module/features/chatbot/components/Chat/CloseButton.d.ts +7 -0
  333. package/dist/typescript/module/features/chatbot/components/Chat/CloseButton.d.ts.map +1 -0
  334. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +3 -2
  335. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  336. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  337. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -1
  338. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  339. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -2
  340. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  341. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts +1 -6
  342. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  343. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  344. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  345. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +4 -1
  346. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  347. package/dist/typescript/module/features/chatbot/constants.d.ts +1 -0
  348. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  349. package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts +8 -0
  350. package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
  351. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
  352. package/dist/typescript/module/features/chatbot/index.d.ts +3 -2
  353. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  354. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +6 -3
  355. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  356. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +4 -3
  357. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  358. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
  359. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
  360. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts +38 -0
  361. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
  362. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts +1 -0
  363. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -1
  364. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +28 -16
  365. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  366. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +14 -11
  367. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  368. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +25 -0
  369. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
  370. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +1 -0
  371. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
  372. package/dist/typescript/module/features/feedback/model/model.d.ts +4 -1
  373. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
  374. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
  375. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  376. package/dist/typescript/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  377. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  378. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  379. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +2 -1
  380. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  381. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  382. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  383. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  384. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  385. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  386. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  387. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  388. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  389. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  390. package/dist/typescript/module/features/keyboard/constants/constants.d.ts +1 -1
  391. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  392. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  393. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  394. package/dist/typescript/module/features/keyboard/helpers.d.ts +1 -0
  395. package/dist/typescript/module/features/keyboard/helpers.d.ts.map +1 -1
  396. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +10 -0
  397. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  398. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts +36 -0
  399. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  400. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
  401. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
  402. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
  403. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
  404. package/dist/typescript/module/features/openEnded/index.d.ts +5 -0
  405. package/dist/typescript/module/features/openEnded/index.d.ts.map +1 -0
  406. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts +13 -0
  407. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts.map +1 -0
  408. package/dist/typescript/module/features/openEnded/oe.types.d.ts +7 -0
  409. package/dist/typescript/module/features/openEnded/oe.types.d.ts.map +1 -0
  410. package/dist/typescript/module/index.d.ts +1 -0
  411. package/dist/typescript/module/index.d.ts.map +1 -1
  412. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts +9 -0
  413. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts.map +1 -0
  414. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +1 -1
  415. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -1
  416. package/dist/typescript/module/shared/common.constants.d.ts +2 -0
  417. package/dist/typescript/module/shared/common.constants.d.ts.map +1 -0
  418. package/dist/typescript/module/shared/icons/TimeIcon.d.ts +4 -0
  419. package/dist/typescript/module/shared/icons/TimeIcon.d.ts.map +1 -0
  420. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +4 -0
  421. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +1 -0
  422. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +4 -0
  423. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +1 -0
  424. package/dist/typescript/module/shared/translation/constants.d.ts +6 -0
  425. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  426. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  427. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  428. package/dist/typescript/module/types/common.types.d.ts +2 -0
  429. package/dist/typescript/module/types/common.types.d.ts.map +1 -1
  430. package/package.json +1 -1
  431. package/src/features/celebrations/helpers.ts +35 -33
  432. package/src/features/chatbot/TTS_HIGHLIGHTING.md +120 -0
  433. package/src/features/chatbot/components/Chat/Chat.tsx +76 -33
  434. package/src/features/chatbot/components/Chat/CloseButton.tsx +60 -0
  435. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +45 -60
  436. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +3 -1
  437. package/src/features/chatbot/components/ChatInput/FreeText/ChatTextInput.tsx +2 -2
  438. package/src/features/chatbot/components/ChatInput/FreeText/SendMessageButton.tsx +1 -1
  439. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +3 -1
  440. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +25 -3
  441. package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +9 -21
  442. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +11 -6
  443. package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +1 -1
  444. package/src/features/chatbot/components/Chatbot.tsx +28 -3
  445. package/src/features/chatbot/constants.ts +2 -0
  446. package/src/features/chatbot/helpers/ttsHighlight.ts +25 -0
  447. package/src/features/chatbot/helpers.ts +14 -1
  448. package/src/features/chatbot/index.ts +17 -2
  449. package/src/features/chatbot/model/ChatBotModel.ts +67 -16
  450. package/src/features/chatbot/model/ChatBotThreadManager.ts +12 -4
  451. package/src/features/chatbot/model/ChatTTSHighlightModel.ts +64 -0
  452. package/src/features/chatbot/model/ChatTTSModel.ts +168 -0
  453. package/src/features/chatbot/model/ChatbotApi.ts +1 -1
  454. package/src/features/chatbot/model/ChatsCacheModel.ts +11 -0
  455. package/src/features/chatbot/types/api.types.ts +25 -19
  456. package/src/features/chatbot/types/model.types.ts +23 -12
  457. package/src/features/chatbot/types/t2s.types.ts +33 -0
  458. package/src/features/chatbot/types/units.types.ts +1 -0
  459. package/src/features/feedback/model/model.ts +4 -1
  460. package/src/features/feedback/model/sockets.ts +8 -6
  461. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +4 -3
  462. package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -2
  463. package/src/features/keyboard/components/BasicPlusLayout/keyboardGroups.ts +27 -17
  464. package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +3 -2
  465. package/src/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.ts +30 -24
  466. package/src/features/keyboard/components/Keyboard.tsx +14 -4
  467. package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
  468. package/src/features/keyboard/components/MainLayout/MainLayout.tsx +2 -6
  469. package/src/features/keyboard/components/UnitsLayout/UnitTabs.tsx +1 -1
  470. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +3 -0
  471. package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +36 -22
  472. package/src/features/keyboard/components/UnitsLayout/keyboardGroups.ts +11 -0
  473. package/src/features/keyboard/components/UnitsLayout/types.ts +7 -0
  474. package/src/features/keyboard/constants/constants.ts +1 -1
  475. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +2 -0
  476. package/src/features/keyboard/constants/keyboardLayouts.ts +18 -1
  477. package/src/features/keyboard/helpers.ts +6 -0
  478. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +15 -3
  479. package/src/features/keyboard/types/MathKeysGroups/units.tsx +3 -0
  480. package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +26 -0
  481. package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +81 -0
  482. package/src/features/openEnded/index.ts +4 -0
  483. package/src/features/openEnded/oe.helpers.ts +31 -0
  484. package/src/features/openEnded/oe.types.ts +6 -0
  485. package/src/index.ts +1 -0
  486. package/src/lib/components/ConditionalWrapper.tsx +15 -0
  487. package/src/lib/effector/createControllerEffect.ts +1 -1
  488. package/src/shared/common.constants.ts +3 -0
  489. package/src/shared/icons/TimeIcon.tsx +23 -0
  490. package/src/shared/icons/keyboard/CDotIcon/CDotIcon.tsx +2 -2
  491. package/src/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.tsx +18 -0
  492. package/src/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx +18 -0
  493. package/src/shared/translation/localization/ca.json +2 -1
  494. package/src/shared/translation/localization/de.json +2 -1
  495. package/src/shared/translation/localization/en.json +2 -1
  496. package/src/shared/translation/localization/gb.json +2 -1
  497. package/src/shared/translation/localization/sct.json +2 -1
  498. package/src/shared/translation/localization/sw.json +2 -1
  499. package/src/types/common.types.ts +4 -0
  500. package/dist/commonjs/features/chatbot/model/t2s.js +0 -107
  501. package/dist/commonjs/features/chatbot/model/t2s.js.map +0 -1
  502. package/dist/module/features/chatbot/model/t2s.js +0 -102
  503. package/dist/module/features/chatbot/model/t2s.js.map +0 -1
  504. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +0 -34
  505. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +0 -1
  506. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +0 -34
  507. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +0 -1
  508. package/src/features/chatbot/model/t2s.ts +0 -123
@@ -1,107 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ChatTextToSpeechModel = void 0;
7
- var _effector = require("effector");
8
- var _constants = require("../constants.js");
9
- var _t2sTypes = require("../types/t2s.types.js");
10
- class ChatTextToSpeechModel {
11
- audioCache = {};
12
- audioProvider = null;
13
- setCurrentPlayingId = (0, _effector.createEvent)();
14
- $currentPlayingId = (0, _effector.restore)(this.setCurrentPlayingId, null);
15
- setStatus = (0, _effector.createEvent)();
16
- $status = (0, _effector.restore)(this.setStatus, _t2sTypes.AudioStatus.STOPPED);
17
- audioConfig = null;
18
- textSanitizer = value => value;
19
- constructor({
20
- api
21
- }) {
22
- this.api = api;
23
- }
24
- setAudioConfig(config) {
25
- this.audioConfig = config;
26
- }
27
- setConfig({
28
- audioProvider,
29
- textSanitizer
30
- }) {
31
- if (audioProvider) this.audioProvider = audioProvider;
32
- if (textSanitizer) this.textSanitizer = textSanitizer;
33
- }
34
- getCacheKey = (messageId, isTranslated) => {
35
- return `${messageId}-${isTranslated ? 'translated' : 'original'}`;
36
- };
37
- async play({
38
- message,
39
- isTranslated
40
- }) {
41
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setConfig.');
42
- const messageText = isTranslated ? message.translatedMessage : message.message;
43
- const messageId = message.id;
44
- const text = this.textSanitizer(messageText);
45
- try {
46
- const status = this.$status.getState();
47
- const playingId = this.$currentPlayingId.getState();
48
- const isPlaying = status === _t2sTypes.AudioStatus.PLAYING;
49
- const isPaused = status === _t2sTypes.AudioStatus.PAUSED;
50
- const isCurrentMessage = messageId === playingId;
51
- if (isPlaying && isCurrentMessage) {
52
- this.audioProvider.pause();
53
- this.setStatus(_t2sTypes.AudioStatus.PAUSED);
54
- return;
55
- }
56
- if (isPaused && isCurrentMessage) {
57
- this.audioProvider.resume();
58
- this.setStatus(_t2sTypes.AudioStatus.PLAYING);
59
- return;
60
- }
61
- if (messageId && !isCurrentMessage) {
62
- this.audioProvider.stop();
63
- }
64
- const cacheKey = this.getCacheKey(messageId, isTranslated);
65
- let audioPath = this.audioCache[cacheKey];
66
- this.setCurrentPlayingId(messageId);
67
- if (!audioPath) {
68
- const config = this.audioConfig;
69
- const response = await this.api.textToSpeechTextFx({
70
- input: {
71
- text
72
- },
73
- voice: config?.voice ?? _constants.DEFAULT_VOICE,
74
- audioConfig: config?.audioConfig ?? _constants.AUDIO_CONFIG,
75
- enableTimePointing: []
76
- });
77
-
78
- // Response might be different type based on provided AUDIO_CONFIG
79
- if (typeof response.audioContent === 'string') {
80
- audioPath = `data:audio/mpeg;base64,${response.audioContent}`;
81
- } else {
82
- audioPath = response?.audioContent ?? '';
83
- }
84
- this.audioCache[cacheKey] = audioPath;
85
- }
86
- this.setStatus(_t2sTypes.AudioStatus.PLAYING);
87
- await this.audioProvider.play(audioPath, () => {
88
- this.setStatus(_t2sTypes.AudioStatus.STOPPED);
89
- this.setCurrentPlayingId(null);
90
- });
91
- } catch (error) {
92
- this.reset();
93
- console.error('Error playing text-to-speech: ', error);
94
- }
95
- }
96
- stop() {
97
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.');
98
- this.audioProvider.stop();
99
- }
100
- reset = (0, _effector.createEffect)(() => {
101
- this.stop();
102
- this.setStatus(_t2sTypes.AudioStatus.STOPPED);
103
- this.setCurrentPlayingId(null);
104
- });
105
- }
106
- exports.ChatTextToSpeechModel = ChatTextToSpeechModel;
107
- //# sourceMappingURL=t2s.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_effector","require","_constants","_t2sTypes","ChatTextToSpeechModel","audioCache","audioProvider","setCurrentPlayingId","createEvent","$currentPlayingId","restore","setStatus","$status","AudioStatus","STOPPED","audioConfig","textSanitizer","value","constructor","api","setAudioConfig","config","setConfig","getCacheKey","messageId","isTranslated","play","message","Error","messageText","translatedMessage","id","text","status","getState","playingId","isPlaying","PLAYING","isPaused","PAUSED","isCurrentMessage","pause","resume","stop","cacheKey","audioPath","response","textToSpeechTextFx","input","voice","DEFAULT_VOICE","AUDIO_CONFIG","enableTimePointing","audioContent","error","reset","console","createEffect","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- import { restore, createEvent, createEffect } from 'effector';
4
- import { AUDIO_CONFIG, DEFAULT_VOICE } from "../constants.js";
5
- import { AudioStatus } from "../types/t2s.types.js";
6
- export class ChatTextToSpeechModel {
7
- audioCache = {};
8
- audioProvider = null;
9
- setCurrentPlayingId = createEvent();
10
- $currentPlayingId = restore(this.setCurrentPlayingId, null);
11
- setStatus = createEvent();
12
- $status = restore(this.setStatus, AudioStatus.STOPPED);
13
- audioConfig = null;
14
- textSanitizer = value => value;
15
- constructor({
16
- api
17
- }) {
18
- this.api = api;
19
- }
20
- setAudioConfig(config) {
21
- this.audioConfig = config;
22
- }
23
- setConfig({
24
- audioProvider,
25
- textSanitizer
26
- }) {
27
- if (audioProvider) this.audioProvider = audioProvider;
28
- if (textSanitizer) this.textSanitizer = textSanitizer;
29
- }
30
- getCacheKey = (messageId, isTranslated) => {
31
- return `${messageId}-${isTranslated ? 'translated' : 'original'}`;
32
- };
33
- async play({
34
- message,
35
- isTranslated
36
- }) {
37
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setConfig.');
38
- const messageText = isTranslated ? message.translatedMessage : message.message;
39
- const messageId = message.id;
40
- const text = this.textSanitizer(messageText);
41
- try {
42
- const status = this.$status.getState();
43
- const playingId = this.$currentPlayingId.getState();
44
- const isPlaying = status === AudioStatus.PLAYING;
45
- const isPaused = status === AudioStatus.PAUSED;
46
- const isCurrentMessage = messageId === playingId;
47
- if (isPlaying && isCurrentMessage) {
48
- this.audioProvider.pause();
49
- this.setStatus(AudioStatus.PAUSED);
50
- return;
51
- }
52
- if (isPaused && isCurrentMessage) {
53
- this.audioProvider.resume();
54
- this.setStatus(AudioStatus.PLAYING);
55
- return;
56
- }
57
- if (messageId && !isCurrentMessage) {
58
- this.audioProvider.stop();
59
- }
60
- const cacheKey = this.getCacheKey(messageId, isTranslated);
61
- let audioPath = this.audioCache[cacheKey];
62
- this.setCurrentPlayingId(messageId);
63
- if (!audioPath) {
64
- const config = this.audioConfig;
65
- const response = await this.api.textToSpeechTextFx({
66
- input: {
67
- text
68
- },
69
- voice: config?.voice ?? DEFAULT_VOICE,
70
- audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
71
- enableTimePointing: []
72
- });
73
-
74
- // Response might be different type based on provided AUDIO_CONFIG
75
- if (typeof response.audioContent === 'string') {
76
- audioPath = `data:audio/mpeg;base64,${response.audioContent}`;
77
- } else {
78
- audioPath = response?.audioContent ?? '';
79
- }
80
- this.audioCache[cacheKey] = audioPath;
81
- }
82
- this.setStatus(AudioStatus.PLAYING);
83
- await this.audioProvider.play(audioPath, () => {
84
- this.setStatus(AudioStatus.STOPPED);
85
- this.setCurrentPlayingId(null);
86
- });
87
- } catch (error) {
88
- this.reset();
89
- console.error('Error playing text-to-speech: ', error);
90
- }
91
- }
92
- stop() {
93
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.');
94
- this.audioProvider.stop();
95
- }
96
- reset = createEffect(() => {
97
- this.stop();
98
- this.setStatus(AudioStatus.STOPPED);
99
- this.setCurrentPlayingId(null);
100
- });
101
- }
102
- //# sourceMappingURL=t2s.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["restore","createEvent","createEffect","AUDIO_CONFIG","DEFAULT_VOICE","AudioStatus","ChatTextToSpeechModel","audioCache","audioProvider","setCurrentPlayingId","$currentPlayingId","setStatus","$status","STOPPED","audioConfig","textSanitizer","value","constructor","api","setAudioConfig","config","setConfig","getCacheKey","messageId","isTranslated","play","message","Error","messageText","translatedMessage","id","text","status","getState","playingId","isPlaying","PLAYING","isPaused","PAUSED","isCurrentMessage","pause","resume","stop","cacheKey","audioPath","response","textToSpeechTextFx","input","voice","enableTimePointing","audioContent","error","reset","console"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants';
2
- import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types';
3
- import { ChatbotAPI } from './ChatbotApi';
4
- type ChatTextToSpeechModelProps = {
5
- api: ChatbotAPI;
6
- };
7
- export type T2SConfig = {
8
- audioProvider?: AudioProvider;
9
- textSanitizer?: (speech: string) => string;
10
- };
11
- type AudioConfig = {
12
- voice?: typeof DEFAULT_VOICE;
13
- audioConfig?: typeof AUDIO_CONFIG;
14
- };
15
- export declare class ChatTextToSpeechModel {
16
- private readonly api;
17
- private readonly audioCache;
18
- private audioProvider;
19
- readonly setCurrentPlayingId: import("effector").EventCallable<string | null>;
20
- readonly $currentPlayingId: import("effector").StoreWritable<string | null>;
21
- readonly setStatus: import("effector").EventCallable<AudioStatus>;
22
- readonly $status: import("effector").StoreWritable<AudioStatus>;
23
- private audioConfig;
24
- private textSanitizer;
25
- constructor({ api }: ChatTextToSpeechModelProps);
26
- setAudioConfig(config: AudioConfig | null): void;
27
- setConfig({ audioProvider, textSanitizer }: T2SConfig): void;
28
- private getCacheKey;
29
- play({ message, isTranslated }: PlayTextToSpeechProps): Promise<void>;
30
- stop(): void;
31
- readonly reset: import("effector").Effect<void, void, Error>;
32
- }
33
- export {};
34
- //# sourceMappingURL=t2s.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,UAAU,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3C,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAA;CAClC,CAAA;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,kDAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,gDAA+C;IAE/D,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,EAAE,GAAG,EAAE,EAAE,0BAA0B;IAIxC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIzC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS;IAK5D,OAAO,CAAC,WAAW,CAElB;IAEY,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB;IA+D3D,IAAI;IAKX,SAAgB,KAAK,+CAInB;CACH"}
@@ -1,34 +0,0 @@
1
- import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants';
2
- import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types';
3
- import { ChatbotAPI } from './ChatbotApi';
4
- type ChatTextToSpeechModelProps = {
5
- api: ChatbotAPI;
6
- };
7
- export type T2SConfig = {
8
- audioProvider?: AudioProvider;
9
- textSanitizer?: (speech: string) => string;
10
- };
11
- type AudioConfig = {
12
- voice?: typeof DEFAULT_VOICE;
13
- audioConfig?: typeof AUDIO_CONFIG;
14
- };
15
- export declare class ChatTextToSpeechModel {
16
- private readonly api;
17
- private readonly audioCache;
18
- private audioProvider;
19
- readonly setCurrentPlayingId: import("effector").EventCallable<string | null>;
20
- readonly $currentPlayingId: import("effector").StoreWritable<string | null>;
21
- readonly setStatus: import("effector").EventCallable<AudioStatus>;
22
- readonly $status: import("effector").StoreWritable<AudioStatus>;
23
- private audioConfig;
24
- private textSanitizer;
25
- constructor({ api }: ChatTextToSpeechModelProps);
26
- setAudioConfig(config: AudioConfig | null): void;
27
- setConfig({ audioProvider, textSanitizer }: T2SConfig): void;
28
- private getCacheKey;
29
- play({ message, isTranslated }: PlayTextToSpeechProps): Promise<void>;
30
- stop(): void;
31
- readonly reset: import("effector").Effect<void, void, Error>;
32
- }
33
- export {};
34
- //# sourceMappingURL=t2s.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,UAAU,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3C,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAA;CAClC,CAAA;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,kDAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,gDAA+C;IAE/D,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,aAAa,CAA2B;gBAEpC,EAAE,GAAG,EAAE,EAAE,0BAA0B;IAIxC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIzC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,SAAS;IAK5D,OAAO,CAAC,WAAW,CAElB;IAEY,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB;IA+D3D,IAAI;IAKX,SAAgB,KAAK,+CAInB;CACH"}
@@ -1,123 +0,0 @@
1
- import { restore, createEvent, createEffect } from 'effector'
2
- import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants'
3
- import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types'
4
- import { ChatbotAPI } from './ChatbotApi'
5
-
6
- type ChatTextToSpeechModelProps = {
7
- api: ChatbotAPI
8
- }
9
-
10
- export type T2SConfig = {
11
- audioProvider?: AudioProvider
12
- textSanitizer?: (speech: string) => string
13
- }
14
-
15
- type AudioConfig = {
16
- voice?: typeof DEFAULT_VOICE
17
- audioConfig?: typeof AUDIO_CONFIG
18
- }
19
-
20
- export class ChatTextToSpeechModel {
21
- private readonly api: ChatbotAPI
22
- private readonly audioCache: Record<string, string> = {}
23
- private audioProvider: AudioProvider | null = null
24
-
25
- readonly setCurrentPlayingId = createEvent<string | null>()
26
- readonly $currentPlayingId = restore(this.setCurrentPlayingId, null)
27
- readonly setStatus = createEvent<AudioStatus>()
28
- readonly $status = restore(this.setStatus, AudioStatus.STOPPED)
29
-
30
- private audioConfig: AudioConfig | null = null
31
- private textSanitizer = (value: string) => value
32
-
33
- constructor({ api }: ChatTextToSpeechModelProps) {
34
- this.api = api
35
- }
36
-
37
- public setAudioConfig(config: AudioConfig | null) {
38
- this.audioConfig = config
39
- }
40
-
41
- public setConfig({ audioProvider, textSanitizer }: T2SConfig) {
42
- if (audioProvider) this.audioProvider = audioProvider
43
- if (textSanitizer) this.textSanitizer = textSanitizer
44
- }
45
-
46
- private getCacheKey = (messageId: string, isTranslated: boolean) => {
47
- return `${messageId}-${isTranslated ? 'translated' : 'original'}`
48
- }
49
-
50
- public async play({ message, isTranslated }: PlayTextToSpeechProps) {
51
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setConfig.')
52
- const messageText = isTranslated ? message.translatedMessage! : message.message
53
- const messageId = message.id
54
- const text = this.textSanitizer(messageText)
55
-
56
- try {
57
- const status = this.$status.getState()
58
- const playingId = this.$currentPlayingId.getState()
59
- const isPlaying = status === AudioStatus.PLAYING
60
- const isPaused = status === AudioStatus.PAUSED
61
- const isCurrentMessage = messageId === playingId
62
-
63
- if (isPlaying && isCurrentMessage) {
64
- this.audioProvider.pause()
65
- this.setStatus(AudioStatus.PAUSED)
66
- return
67
- }
68
-
69
- if (isPaused && isCurrentMessage) {
70
- this.audioProvider.resume()
71
- this.setStatus(AudioStatus.PLAYING)
72
- return
73
- }
74
-
75
- if (messageId && !isCurrentMessage) {
76
- this.audioProvider.stop()
77
- }
78
-
79
- const cacheKey = this.getCacheKey(messageId, isTranslated)
80
- let audioPath = this.audioCache[cacheKey]
81
- this.setCurrentPlayingId(messageId)
82
-
83
- if (!audioPath) {
84
- const config = this.audioConfig
85
- const response = await this.api.textToSpeechTextFx({
86
- input: { text },
87
- voice: config?.voice ?? DEFAULT_VOICE,
88
- audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
89
- enableTimePointing: [],
90
- })
91
-
92
- // Response might be different type based on provided AUDIO_CONFIG
93
- if (typeof response.audioContent === 'string') {
94
- audioPath = `data:audio/mpeg;base64,${response.audioContent}`
95
- } else {
96
- audioPath = response?.audioContent ?? ''
97
- }
98
-
99
- this.audioCache[cacheKey] = audioPath
100
- }
101
-
102
- this.setStatus(AudioStatus.PLAYING)
103
- await this.audioProvider.play(audioPath, () => {
104
- this.setStatus(AudioStatus.STOPPED)
105
- this.setCurrentPlayingId(null)
106
- })
107
- } catch (error) {
108
- this.reset()
109
- console.error('Error playing text-to-speech: ', error)
110
- }
111
- }
112
-
113
- public stop() {
114
- if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.')
115
- this.audioProvider.stop()
116
- }
117
-
118
- public readonly reset = createEffect(() => {
119
- this.stop()
120
- this.setStatus(AudioStatus.STOPPED)
121
- this.setCurrentPlayingId(null)
122
- })
123
- }