@magmamath/students-features 0.10.0-rc.7 → 0.10.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 (463) hide show
  1. package/dist/commonjs/features/celebrations/helpers.js +1 -4
  2. package/dist/commonjs/features/celebrations/helpers.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/Chat/Chat.js +19 -41
  4. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +2 -7
  6. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  7. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  8. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +4 -16
  9. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  10. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -6
  11. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  12. package/dist/commonjs/features/chatbot/components/Chatbot.js +4 -17
  13. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  14. package/dist/commonjs/features/chatbot/constants.js +1 -2
  15. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  16. package/dist/commonjs/features/chatbot/helpers.js +2 -19
  17. package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
  18. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +11 -32
  20. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +2 -2
  22. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  23. package/dist/commonjs/features/chatbot/model/ChatbotApi.js +1 -1
  24. package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +1 -1
  25. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js.map +1 -1
  26. package/dist/commonjs/features/chatbot/model/t2s.js +107 -0
  27. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  29. package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -1
  30. package/dist/commonjs/features/feedback/model/model.js.map +1 -1
  31. package/dist/commonjs/features/feedback/model/sockets.js +5 -8
  32. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
  33. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +2 -2
  34. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  35. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  36. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  37. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  38. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  39. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  40. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  41. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  42. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  43. package/dist/commonjs/features/keyboard/components/Keyboard.js +2 -4
  44. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  45. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +6 -1
  46. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  47. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  48. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +1 -3
  49. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  50. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +6 -27
  51. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  52. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js +1 -9
  53. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  54. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js +0 -1
  55. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  56. package/dist/commonjs/features/keyboard/constants/constants.js +1 -1
  57. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +1 -2
  58. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  59. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +4 -20
  60. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  61. package/dist/commonjs/features/keyboard/helpers.js +0 -7
  62. package/dist/commonjs/features/keyboard/helpers.js.map +1 -1
  63. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -20
  64. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  65. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js +3 -6
  66. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  67. package/dist/commonjs/index.js +1 -13
  68. package/dist/commonjs/index.js.map +1 -1
  69. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  70. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  71. package/dist/commonjs/shared/translation/localization/ca.json +1 -2
  72. package/dist/commonjs/shared/translation/localization/de.json +1 -2
  73. package/dist/commonjs/shared/translation/localization/en.json +1 -2
  74. package/dist/commonjs/shared/translation/localization/gb.json +1 -2
  75. package/dist/commonjs/shared/translation/localization/sct.json +1 -2
  76. package/dist/commonjs/shared/translation/localization/sw.json +1 -2
  77. package/dist/commonjs/types/common.types.js +0 -4
  78. package/dist/module/features/celebrations/helpers.js +1 -4
  79. package/dist/module/features/celebrations/helpers.js.map +1 -1
  80. package/dist/module/features/chatbot/components/Chat/Chat.js +19 -41
  81. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
  82. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +2 -5
  83. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  84. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  85. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +4 -16
  86. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  87. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -6
  88. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  89. package/dist/module/features/chatbot/components/Chatbot.js +4 -17
  90. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  91. package/dist/module/features/chatbot/constants.js +0 -1
  92. package/dist/module/features/chatbot/constants.js.map +1 -1
  93. package/dist/module/features/chatbot/helpers.js +2 -19
  94. package/dist/module/features/chatbot/helpers.js.map +1 -1
  95. package/dist/module/features/chatbot/index.js.map +1 -1
  96. package/dist/module/features/chatbot/model/ChatBotModel.js +11 -32
  97. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  98. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +2 -2
  99. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  100. package/dist/module/features/chatbot/model/ChatbotApi.js +1 -1
  101. package/dist/module/features/chatbot/model/ChatbotApi.js.map +1 -1
  102. package/dist/module/features/chatbot/model/ChatsCacheModel.js.map +1 -1
  103. package/dist/module/features/chatbot/model/t2s.js +102 -0
  104. package/dist/module/features/chatbot/model/t2s.js.map +1 -0
  105. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  106. package/dist/module/features/chatbot/types/t2s.types.js.map +1 -1
  107. package/dist/module/features/feedback/model/model.js.map +1 -1
  108. package/dist/module/features/feedback/model/sockets.js +5 -8
  109. package/dist/module/features/feedback/model/sockets.js.map +1 -1
  110. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +3 -3
  111. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  112. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  113. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  114. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  115. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  116. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  117. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  118. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  119. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  120. package/dist/module/features/keyboard/components/Keyboard.js +2 -4
  121. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  122. package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
  123. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +7 -2
  124. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  125. package/dist/module/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  126. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +1 -2
  127. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  128. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +6 -27
  129. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  130. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js +1 -9
  131. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  132. package/dist/module/features/keyboard/components/UnitsLayout/types.js +0 -1
  133. package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  134. package/dist/module/features/keyboard/constants/constants.js +1 -1
  135. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +2 -3
  136. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  137. package/dist/module/features/keyboard/constants/keyboardLayouts.js +4 -19
  138. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  139. package/dist/module/features/keyboard/helpers.js +0 -5
  140. package/dist/module/features/keyboard/helpers.js.map +1 -1
  141. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -20
  142. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  143. package/dist/module/features/keyboard/types/MathKeysGroups/units.js +3 -6
  144. package/dist/module/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  145. package/dist/module/index.js +0 -1
  146. package/dist/module/index.js.map +1 -1
  147. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  148. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  149. package/dist/module/shared/translation/localization/ca.json +1 -2
  150. package/dist/module/shared/translation/localization/de.json +1 -2
  151. package/dist/module/shared/translation/localization/en.json +1 -2
  152. package/dist/module/shared/translation/localization/gb.json +1 -2
  153. package/dist/module/shared/translation/localization/sct.json +1 -2
  154. package/dist/module/shared/translation/localization/sw.json +1 -2
  155. package/dist/module/types/common.types.js +0 -2
  156. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +1 -1
  157. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +2 -6
  158. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  159. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -2
  160. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  161. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +1 -3
  162. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  163. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +2 -4
  164. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  165. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  166. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  167. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +1 -4
  168. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  169. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +0 -1
  170. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  171. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
  172. package/dist/typescript/commonjs/features/chatbot/index.d.ts +2 -3
  173. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  174. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +3 -5
  175. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  176. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +3 -4
  177. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  178. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -1
  179. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +34 -0
  180. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -0
  181. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +16 -28
  182. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +11 -14
  184. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  185. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +0 -25
  186. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
  187. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +1 -4
  188. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
  189. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
  190. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  191. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  192. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  193. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  194. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +1 -2
  195. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  196. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  197. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +0 -1
  198. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  199. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +7 -4
  200. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  201. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +0 -1
  202. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  203. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +1 -7
  204. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  205. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts +1 -1
  206. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  207. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +0 -4
  208. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  209. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts +0 -1
  210. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts.map +1 -1
  211. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -10
  212. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  213. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts +0 -36
  214. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  215. package/dist/typescript/commonjs/index.d.ts +0 -1
  216. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  217. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +1 -1
  218. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -1
  219. package/dist/typescript/commonjs/shared/translation/constants.d.ts +0 -6
  220. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  221. package/dist/typescript/commonjs/shared/translation/model.d.ts +0 -2
  222. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  223. package/dist/typescript/commonjs/types/common.types.d.ts +0 -2
  224. package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
  225. package/dist/typescript/module/features/celebrations/helpers.d.ts.map +1 -1
  226. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +2 -6
  227. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  228. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -2
  229. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  230. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +1 -3
  231. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  232. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +2 -4
  233. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  234. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  235. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  236. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +1 -4
  237. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  238. package/dist/typescript/module/features/chatbot/constants.d.ts +0 -1
  239. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  240. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
  241. package/dist/typescript/module/features/chatbot/index.d.ts +2 -3
  242. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  243. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +3 -5
  244. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  245. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +3 -4
  246. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  247. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -1
  248. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +34 -0
  249. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -0
  250. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +16 -28
  251. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  252. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +11 -14
  253. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  254. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +0 -25
  255. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
  256. package/dist/typescript/module/features/feedback/model/model.d.ts +1 -4
  257. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
  258. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
  259. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  260. package/dist/typescript/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  261. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  262. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  263. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +1 -2
  264. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  265. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  266. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +0 -1
  267. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  268. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +7 -4
  269. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  270. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +0 -1
  271. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  272. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +1 -7
  273. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  274. package/dist/typescript/module/features/keyboard/constants/constants.d.ts +1 -1
  275. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  276. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +0 -4
  277. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  278. package/dist/typescript/module/features/keyboard/helpers.d.ts +0 -1
  279. package/dist/typescript/module/features/keyboard/helpers.d.ts.map +1 -1
  280. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -10
  281. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  282. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts +0 -36
  283. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  284. package/dist/typescript/module/index.d.ts +0 -1
  285. package/dist/typescript/module/index.d.ts.map +1 -1
  286. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +1 -1
  287. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -1
  288. package/dist/typescript/module/shared/translation/constants.d.ts +0 -6
  289. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  290. package/dist/typescript/module/shared/translation/model.d.ts +0 -2
  291. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  292. package/dist/typescript/module/types/common.types.d.ts +0 -2
  293. package/dist/typescript/module/types/common.types.d.ts.map +1 -1
  294. package/package.json +1 -1
  295. package/src/features/celebrations/helpers.ts +33 -35
  296. package/src/features/chatbot/components/Chat/Chat.tsx +22 -48
  297. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -9
  298. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +1 -3
  299. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +3 -25
  300. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +0 -4
  301. package/src/features/chatbot/components/Chatbot.tsx +2 -19
  302. package/src/features/chatbot/constants.ts +0 -2
  303. package/src/features/chatbot/helpers.ts +1 -14
  304. package/src/features/chatbot/index.ts +2 -17
  305. package/src/features/chatbot/model/ChatBotModel.ts +13 -51
  306. package/src/features/chatbot/model/ChatBotThreadManager.ts +4 -12
  307. package/src/features/chatbot/model/ChatbotApi.ts +1 -1
  308. package/src/features/chatbot/model/ChatsCacheModel.ts +0 -4
  309. package/src/features/chatbot/model/t2s.ts +123 -0
  310. package/src/features/chatbot/types/api.types.ts +19 -25
  311. package/src/features/chatbot/types/model.types.ts +12 -24
  312. package/src/features/chatbot/types/t2s.types.ts +0 -33
  313. package/src/features/feedback/model/model.ts +1 -4
  314. package/src/features/feedback/model/sockets.ts +6 -8
  315. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +3 -4
  316. package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -2
  317. package/src/features/keyboard/components/BasicPlusLayout/keyboardGroups.ts +17 -27
  318. package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +2 -3
  319. package/src/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.ts +24 -30
  320. package/src/features/keyboard/components/Keyboard.tsx +4 -14
  321. package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
  322. package/src/features/keyboard/components/MainLayout/MainLayout.tsx +6 -2
  323. package/src/features/keyboard/components/UnitsLayout/UnitTabs.tsx +1 -1
  324. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +0 -3
  325. package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +22 -36
  326. package/src/features/keyboard/components/UnitsLayout/keyboardGroups.ts +0 -11
  327. package/src/features/keyboard/components/UnitsLayout/types.ts +0 -7
  328. package/src/features/keyboard/constants/constants.ts +1 -1
  329. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +0 -2
  330. package/src/features/keyboard/constants/keyboardLayouts.ts +1 -18
  331. package/src/features/keyboard/helpers.ts +0 -6
  332. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +3 -15
  333. package/src/features/keyboard/types/MathKeysGroups/units.tsx +0 -3
  334. package/src/index.ts +0 -1
  335. package/src/lib/effector/createControllerEffect.ts +1 -1
  336. package/src/shared/icons/keyboard/CDotIcon/CDotIcon.tsx +2 -2
  337. package/src/shared/translation/localization/ca.json +1 -2
  338. package/src/shared/translation/localization/de.json +1 -2
  339. package/src/shared/translation/localization/en.json +1 -2
  340. package/src/shared/translation/localization/gb.json +1 -2
  341. package/src/shared/translation/localization/sct.json +1 -2
  342. package/src/shared/translation/localization/sw.json +1 -2
  343. package/src/types/common.types.ts +0 -4
  344. package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
  345. package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js +0 -29
  346. package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js.map +0 -1
  347. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js +0 -56
  348. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js.map +0 -1
  349. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js +0 -154
  350. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js.map +0 -1
  351. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -34
  352. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +0 -1
  353. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +0 -77
  354. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +0 -1
  355. package/dist/commonjs/features/openEnded/index.js +0 -48
  356. package/dist/commonjs/features/openEnded/index.js.map +0 -1
  357. package/dist/commonjs/features/openEnded/oe.helpers.js +0 -26
  358. package/dist/commonjs/features/openEnded/oe.helpers.js.map +0 -1
  359. package/dist/commonjs/features/openEnded/oe.types.js +0 -14
  360. package/dist/commonjs/features/openEnded/oe.types.js.map +0 -1
  361. package/dist/commonjs/lib/components/ConditionalWrapper.js +0 -23
  362. package/dist/commonjs/lib/components/ConditionalWrapper.js.map +0 -1
  363. package/dist/commonjs/shared/common.constants.js +0 -9
  364. package/dist/commonjs/shared/common.constants.js.map +0 -1
  365. package/dist/commonjs/shared/icons/TimeIcon.js +0 -37
  366. package/dist/commonjs/shared/icons/TimeIcon.js.map +0 -1
  367. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +0 -32
  368. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +0 -1
  369. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +0 -32
  370. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +0 -1
  371. package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
  372. package/dist/module/features/chatbot/helpers/ttsHighlight.js +0 -23
  373. package/dist/module/features/chatbot/helpers/ttsHighlight.js.map +0 -1
  374. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js +0 -52
  375. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js.map +0 -1
  376. package/dist/module/features/chatbot/model/ChatTTSModel.js +0 -149
  377. package/dist/module/features/chatbot/model/ChatTTSModel.js.map +0 -1
  378. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -28
  379. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +0 -1
  380. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +0 -71
  381. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +0 -1
  382. package/dist/module/features/openEnded/index.js +0 -7
  383. package/dist/module/features/openEnded/index.js.map +0 -1
  384. package/dist/module/features/openEnded/oe.helpers.js +0 -21
  385. package/dist/module/features/openEnded/oe.helpers.js.map +0 -1
  386. package/dist/module/features/openEnded/oe.types.js +0 -10
  387. package/dist/module/features/openEnded/oe.types.js.map +0 -1
  388. package/dist/module/lib/components/ConditionalWrapper.js +0 -17
  389. package/dist/module/lib/components/ConditionalWrapper.js.map +0 -1
  390. package/dist/module/shared/common.constants.js +0 -5
  391. package/dist/module/shared/common.constants.js.map +0 -1
  392. package/dist/module/shared/icons/TimeIcon.js +0 -29
  393. package/dist/module/shared/icons/TimeIcon.js.map +0 -1
  394. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +0 -24
  395. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +0 -1
  396. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +0 -24
  397. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +0 -1
  398. package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts +0 -8
  399. package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts.map +0 -1
  400. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts +0 -25
  401. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +0 -1
  402. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts +0 -38
  403. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts.map +0 -1
  404. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +0 -7
  405. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +0 -1
  406. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts +0 -12
  407. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +0 -1
  408. package/dist/typescript/commonjs/features/openEnded/index.d.ts +0 -5
  409. package/dist/typescript/commonjs/features/openEnded/index.d.ts.map +0 -1
  410. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts +0 -13
  411. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts.map +0 -1
  412. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts +0 -7
  413. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts.map +0 -1
  414. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts +0 -9
  415. package/dist/typescript/commonjs/lib/components/ConditionalWrapper.d.ts.map +0 -1
  416. package/dist/typescript/commonjs/shared/common.constants.d.ts +0 -2
  417. package/dist/typescript/commonjs/shared/common.constants.d.ts.map +0 -1
  418. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts +0 -4
  419. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts.map +0 -1
  420. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +0 -4
  421. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +0 -1
  422. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +0 -4
  423. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +0 -1
  424. package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts +0 -8
  425. package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts.map +0 -1
  426. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts +0 -25
  427. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +0 -1
  428. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts +0 -38
  429. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts.map +0 -1
  430. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +0 -7
  431. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +0 -1
  432. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts +0 -12
  433. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +0 -1
  434. package/dist/typescript/module/features/openEnded/index.d.ts +0 -5
  435. package/dist/typescript/module/features/openEnded/index.d.ts.map +0 -1
  436. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts +0 -13
  437. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts.map +0 -1
  438. package/dist/typescript/module/features/openEnded/oe.types.d.ts +0 -7
  439. package/dist/typescript/module/features/openEnded/oe.types.d.ts.map +0 -1
  440. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts +0 -9
  441. package/dist/typescript/module/lib/components/ConditionalWrapper.d.ts.map +0 -1
  442. package/dist/typescript/module/shared/common.constants.d.ts +0 -2
  443. package/dist/typescript/module/shared/common.constants.d.ts.map +0 -1
  444. package/dist/typescript/module/shared/icons/TimeIcon.d.ts +0 -4
  445. package/dist/typescript/module/shared/icons/TimeIcon.d.ts.map +0 -1
  446. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +0 -4
  447. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +0 -1
  448. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +0 -4
  449. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +0 -1
  450. package/src/features/chatbot/TTS_HIGHLIGHTING.md +0 -120
  451. package/src/features/chatbot/helpers/ttsHighlight.ts +0 -25
  452. package/src/features/chatbot/model/ChatTTSHighlightModel.ts +0 -64
  453. package/src/features/chatbot/model/ChatTTSModel.ts +0 -168
  454. package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +0 -26
  455. package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +0 -81
  456. package/src/features/openEnded/index.ts +0 -4
  457. package/src/features/openEnded/oe.helpers.ts +0 -31
  458. package/src/features/openEnded/oe.types.ts +0 -6
  459. package/src/lib/components/ConditionalWrapper.tsx +0 -15
  460. package/src/shared/common.constants.ts +0 -3
  461. package/src/shared/icons/TimeIcon.tsx +0 -23
  462. package/src/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.tsx +0 -18
  463. package/src/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx +0 -18
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- import React from 'react';
4
- import Svg, { Path } from 'react-native-svg';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const ASPECT_RATIO = 5 / 14;
7
- export const RoundBracketRightIcon = ({
8
- size = 20,
9
- color
10
- }) => {
11
- return /*#__PURE__*/_jsx(Svg, {
12
- width: size * ASPECT_RATIO,
13
- height: size,
14
- viewBox: "0 0 5 14",
15
- fill: "none",
16
- children: /*#__PURE__*/_jsx(Path, {
17
- fillRule: "evenodd",
18
- clipRule: "evenodd",
19
- d: "M0.219696 0.21967C-0.0731974 0.512563 -0.0731974 0.987437 0.219696 1.28033C3.45142 4.51206 3.3881 10.001 0.261932 12.6806C-0.0525622 12.9501 -0.0889835 13.4236 0.180583 13.7381C0.45015 14.0526 0.923625 14.089 1.23812 13.8194C5.11195 10.499 5.04863 3.98794 1.28036 0.21967C0.987463 -0.0732233 0.512589 -0.0732233 0.219696 0.21967Z",
20
- fill: color
21
- })
22
- });
23
- };
24
- //# sourceMappingURL=RoundBracketRightIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Svg","Path","jsx","_jsx","ASPECT_RATIO","RoundBracketRightIcon","size","color","width","height","viewBox","fill","children","fillRule","clipRule","d"],"sourceRoot":"../../../../../../src","sources":["shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE5C,MAAMC,YAAY,GAAG,CAAC,GAAG,EAAE;AAE3B,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC;AAAiB,CAAC,KAAK;EACxE,oBACEJ,IAAA,CAACH,GAAG;IAACQ,KAAK,EAAEF,IAAI,GAAGF,YAAa;IAACK,MAAM,EAAEH,IAAK;IAACI,OAAO,EAAC,UAAU;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC3ET,IAAA,CAACF,IAAI;MACHY,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,2UAA2U;MAC7UJ,IAAI,EAAEJ;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- import { Timepoint } from '../types/api.types';
2
- /**
3
- * Converts plain text to SSML with word marks for TTS highlighting.
4
- * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
5
- */
6
- export declare const textToSSML: (text: string) => string;
7
- export declare const findCurrentMark: (timepoints: Timepoint[], time: number) => string | undefined;
8
- //# sourceMappingURL=ttsHighlight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ttsHighlight.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/helpers/ttsHighlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9C;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,eAAe,eAAgB,SAAS,EAAE,QAAQ,MAAM,KAAG,MAAM,GAAG,SAOhF,CAAA"}
@@ -1,25 +0,0 @@
1
- import { Timepoint } from '../types/api.types';
2
- import { OnTimeUpdate } from '../types/t2s.types';
3
- /**
4
- * Manages word-by-word highlight state during TTS playback.
5
- * Tracks which word index should be highlighted based on audio timepoints
6
- * and current playback time from the AudioProvider.
7
- */
8
- export declare class ChatTTSHighlightModel {
9
- private lastMark;
10
- readonly setTimepoints: import("effector").EventCallable<Timepoint[]>;
11
- readonly setTime: import("effector").EventCallable<number>;
12
- readonly setIsActive: import("effector").EventCallable<boolean>;
13
- readonly reset: import("effector").EventCallable<void>;
14
- readonly $time: import("effector").StoreWritable<number>;
15
- readonly $timepoints: import("effector").StoreWritable<Timepoint[]>;
16
- readonly $isActive: import("effector").StoreWritable<boolean>;
17
- readonly $highlightedWordIndex: import("effector").Store<number>;
18
- /**
19
- * Sets timepoints and starts listening to AudioProvider time updates.
20
- * Only triggers store updates when the highlighted word actually changes.
21
- */
22
- activate(timepoints: Timepoint[], onTimeUpdate: OnTimeUpdate): void;
23
- deactivate(onTimeUpdate: OnTimeUpdate | null): void;
24
- }
25
- //# sourceMappingURL=ChatTTSHighlightModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatTTSHighlightModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/ChatTTSHighlightModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAIjD;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAgC;IAEhD,QAAQ,CAAC,aAAa,gDAA6B;IACnD,QAAQ,CAAC,OAAO,2CAAwB;IACxC,QAAQ,CAAC,WAAW,4CAAyB;IAC7C,QAAQ,CAAC,KAAK,yCAAgB;IAE9B,QAAQ,CAAC,KAAK,2CAA6C;IAC3D,QAAQ,CAAC,WAAW,gDAAoD;IACxE,QAAQ,CAAC,SAAS,4CAAqD;IAEvE,QAAQ,CAAC,qBAAqB,mCAa7B;IAED;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,YAAY;IAgB5D,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;CAK7C"}
@@ -1,38 +0,0 @@
1
- import { Store } from 'effector';
2
- import { AudioConfig, AudioStatus, PlayTextToSpeechProps, T2SConfig } from '../types/t2s.types';
3
- import { ChatItem } from '../types/units.types';
4
- import { ChatbotAPI } from './ChatbotApi';
5
- import { ChatTTSHighlightModel } from './ChatTTSHighlightModel';
6
- type ChatTextToSpeechModelProps = {
7
- api: ChatbotAPI;
8
- $currentChatData: Store<ChatItem>;
9
- $isTranslated: Store<boolean>;
10
- };
11
- export declare class ChatTTSModel {
12
- private readonly api;
13
- readonly wordHighlight: ChatTTSHighlightModel;
14
- private readonly audioCache;
15
- private readonly $currentChatData;
16
- private readonly $isTranslated;
17
- private audioProvider;
18
- private wordHighlightEnabled;
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, $currentChatData, $isTranslated }: ChatTextToSpeechModelProps);
26
- setAudioConfig(config: AudioConfig | null): void;
27
- setConfig({ audioProvider, textSanitizer, isWordHighlightEnabled }: T2SConfig): void;
28
- get isWordHighlightEnabled(): boolean;
29
- private getCacheKey;
30
- private fetchAudio;
31
- play({ message, isTranslated }: PlayTextToSpeechProps): Promise<void>;
32
- playLatest(): Promise<void>;
33
- private onPlaybackComplete;
34
- stop(): void;
35
- readonly reset: import("effector").Effect<void, void, Error>;
36
- }
37
- export {};
38
- //# sourceMappingURL=ChatTTSModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatTTSModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/ChatTTSModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5E,OAAO,EAEL,WAAW,EAEX,WAAW,EACX,qBAAqB,EACrB,SAAS,EACV,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,UAAU,CAAA;IACf,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,SAAgB,aAAa,wBAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAA;IAC9B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,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,gBAAgB,EAAE,aAAa,EAAE,EAAE,0BAA0B;IAWzE,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIzC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,SAAS;IAOpF,IAAW,sBAAsB,YAEhC;IAED,OAAO,CAAC,WAAW,CAElB;YAEa,UAAU;IAiBX,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB;IAwDrD,UAAU;IAQvB,OAAO,CAAC,kBAAkB,CAIzB;IAEM,IAAI;IAKX,SAAgB,KAAK,+CAKnB;CACH"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- type OEAttemptsLimitProps = {
3
- text: string;
4
- };
5
- export declare const OpenEndedAttemptsLimit: ({ text }: OEAttemptsLimitProps) => React.JSX.Element;
6
- export {};
7
- //# sourceMappingURL=OpenEndedAttemptsLimit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenEndedAttemptsLimit.d.ts","sourceRoot":"","sources":["../../../../../../src/features/openEnded/components/OpenEndedAttemptsLimit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,oBAAoB,sBAIpE,CAAA"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { OpenEndedScoreLabelVariant } from '../oe.types';
3
- type OpenEndedScoreLabelProps = {
4
- label: string;
5
- score: number | null;
6
- maxScore: number;
7
- disabled: boolean;
8
- variant: OpenEndedScoreLabelVariant;
9
- };
10
- export declare const OpenEndedScoreLabel: ({ label, score, maxScore, disabled, variant, }: OpenEndedScoreLabelProps) => React.JSX.Element;
11
- export {};
12
- //# sourceMappingURL=OpenEndedScoreLabel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenEndedScoreLabel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/openEnded/components/OpenEndedScoreLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGxD,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,0BAA0B,CAAA;CACpC,CAAA;AAOD,eAAO,MAAM,mBAAmB,mDAM7B,wBAAwB,sBAuB1B,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from './oe.helpers';
2
- export * from './oe.types';
3
- export { OpenEndedScoreLabel } from './components/OpenEndedScoreLabel';
4
- export { OpenEndedAttemptsLimit } from './components/OpenEndedAttemptsLimit';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -1,13 +0,0 @@
1
- import { ColorValue } from '../../types/common.types';
2
- import { OpenEndedScoreLabelVariant } from './oe.types';
3
- type GetScoreLabelColorProps = {
4
- variant: OpenEndedScoreLabelVariant;
5
- disabled: boolean;
6
- };
7
- type ScoreLabelColors = {
8
- score: ColorValue;
9
- maxScore: ColorValue;
10
- };
11
- export declare const getScoreLabelColor: ({ variant, disabled, }: GetScoreLabelColorProps) => ScoreLabelColors;
12
- export {};
13
- //# sourceMappingURL=oe.helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oe.helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/oe.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,0BAA0B,CAAA;IACnC,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAYD,eAAO,MAAM,kBAAkB,2BAG5B,uBAAuB,KAAG,gBAG3B,CAAA"}
@@ -1,7 +0,0 @@
1
- export declare enum OpenEndedScoreLabelVariant {
2
- CORRECT = "CORRECT",
3
- FIRST_ATTEMPT = "FIRST_ATTEMPT",
4
- WRONG = "WRONG",
5
- DEFAULT = "DEFAULT"
6
- }
7
- //# sourceMappingURL=oe.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oe.types.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/oe.types.ts"],"names":[],"mappings":"AAAA,oBAAY,0BAA0B;IACpC,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,OAAO,YAAY;CACpB"}
@@ -1,9 +0,0 @@
1
- import React, { ComponentType, PropsWithChildren, ReactNode } from 'react';
2
- type ConditionalWrapperProps = {
3
- children: ReactNode;
4
- withWrapper?: boolean;
5
- Wrapper?: ComponentType<PropsWithChildren>;
6
- };
7
- export declare const ConditionalWrapper: ({ withWrapper, Wrapper, children }: ConditionalWrapperProps) => string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
8
- export {};
9
- //# sourceMappingURL=ConditionalWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConditionalWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAAwC,uBAAuB,iGAM7F,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const isWeb: boolean;
2
- //# sourceMappingURL=common.constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.constants.d.ts","sourceRoot":"","sources":["../../../../src/shared/common.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,SAAwB,CAAA"}
@@ -1,4 +0,0 @@
1
- import { IconProps } from './icon.types';
2
- import React from 'react';
3
- export declare const TimeIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=TimeIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeIcon.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/TimeIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,QAAQ,oBAA6C,SAAS,sBAiB1E,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../../icon.types';
3
- export declare const RoundBracketLeftIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=RoundBracketLeftIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundBracketLeftIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK5C,eAAO,MAAM,oBAAoB,oBAA0B,SAAS,sBAWnE,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../../icon.types';
3
- export declare const RoundBracketRightIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=RoundBracketRightIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundBracketRightIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK5C,eAAO,MAAM,qBAAqB,oBAA0B,SAAS,sBAWpE,CAAA"}
@@ -1,8 +0,0 @@
1
- import { Timepoint } from '../types/api.types';
2
- /**
3
- * Converts plain text to SSML with word marks for TTS highlighting.
4
- * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
5
- */
6
- export declare const textToSSML: (text: string) => string;
7
- export declare const findCurrentMark: (timepoints: Timepoint[], time: number) => string | undefined;
8
- //# sourceMappingURL=ttsHighlight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ttsHighlight.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/helpers/ttsHighlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAK9C;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,eAAe,eAAgB,SAAS,EAAE,QAAQ,MAAM,KAAG,MAAM,GAAG,SAOhF,CAAA"}
@@ -1,25 +0,0 @@
1
- import { Timepoint } from '../types/api.types';
2
- import { OnTimeUpdate } from '../types/t2s.types';
3
- /**
4
- * Manages word-by-word highlight state during TTS playback.
5
- * Tracks which word index should be highlighted based on audio timepoints
6
- * and current playback time from the AudioProvider.
7
- */
8
- export declare class ChatTTSHighlightModel {
9
- private lastMark;
10
- readonly setTimepoints: import("effector").EventCallable<Timepoint[]>;
11
- readonly setTime: import("effector").EventCallable<number>;
12
- readonly setIsActive: import("effector").EventCallable<boolean>;
13
- readonly reset: import("effector").EventCallable<void>;
14
- readonly $time: import("effector").StoreWritable<number>;
15
- readonly $timepoints: import("effector").StoreWritable<Timepoint[]>;
16
- readonly $isActive: import("effector").StoreWritable<boolean>;
17
- readonly $highlightedWordIndex: import("effector").Store<number>;
18
- /**
19
- * Sets timepoints and starts listening to AudioProvider time updates.
20
- * Only triggers store updates when the highlighted word actually changes.
21
- */
22
- activate(timepoints: Timepoint[], onTimeUpdate: OnTimeUpdate): void;
23
- deactivate(onTimeUpdate: OnTimeUpdate | null): void;
24
- }
25
- //# sourceMappingURL=ChatTTSHighlightModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatTTSHighlightModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/ChatTTSHighlightModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAIjD;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAgC;IAEhD,QAAQ,CAAC,aAAa,gDAA6B;IACnD,QAAQ,CAAC,OAAO,2CAAwB;IACxC,QAAQ,CAAC,WAAW,4CAAyB;IAC7C,QAAQ,CAAC,KAAK,yCAAgB;IAE9B,QAAQ,CAAC,KAAK,2CAA6C;IAC3D,QAAQ,CAAC,WAAW,gDAAoD;IACxE,QAAQ,CAAC,SAAS,4CAAqD;IAEvE,QAAQ,CAAC,qBAAqB,mCAa7B;IAED;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,YAAY;IAgB5D,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;CAK7C"}
@@ -1,38 +0,0 @@
1
- import { Store } from 'effector';
2
- import { AudioConfig, AudioStatus, PlayTextToSpeechProps, T2SConfig } from '../types/t2s.types';
3
- import { ChatItem } from '../types/units.types';
4
- import { ChatbotAPI } from './ChatbotApi';
5
- import { ChatTTSHighlightModel } from './ChatTTSHighlightModel';
6
- type ChatTextToSpeechModelProps = {
7
- api: ChatbotAPI;
8
- $currentChatData: Store<ChatItem>;
9
- $isTranslated: Store<boolean>;
10
- };
11
- export declare class ChatTTSModel {
12
- private readonly api;
13
- readonly wordHighlight: ChatTTSHighlightModel;
14
- private readonly audioCache;
15
- private readonly $currentChatData;
16
- private readonly $isTranslated;
17
- private audioProvider;
18
- private wordHighlightEnabled;
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, $currentChatData, $isTranslated }: ChatTextToSpeechModelProps);
26
- setAudioConfig(config: AudioConfig | null): void;
27
- setConfig({ audioProvider, textSanitizer, isWordHighlightEnabled }: T2SConfig): void;
28
- get isWordHighlightEnabled(): boolean;
29
- private getCacheKey;
30
- private fetchAudio;
31
- play({ message, isTranslated }: PlayTextToSpeechProps): Promise<void>;
32
- playLatest(): Promise<void>;
33
- private onPlaybackComplete;
34
- stop(): void;
35
- readonly reset: import("effector").Effect<void, void, Error>;
36
- }
37
- export {};
38
- //# sourceMappingURL=ChatTTSModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatTTSModel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/ChatTTSModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5E,OAAO,EAEL,WAAW,EAEX,WAAW,EACX,qBAAqB,EACrB,SAAS,EACV,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,UAAU,CAAA;IACf,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,SAAgB,aAAa,wBAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAA;IAC9B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,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,gBAAgB,EAAE,aAAa,EAAE,EAAE,0BAA0B;IAWzE,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIzC,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,SAAS;IAOpF,IAAW,sBAAsB,YAEhC;IAED,OAAO,CAAC,WAAW,CAElB;YAEa,UAAU;IAiBX,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,qBAAqB;IAwDrD,UAAU;IAQvB,OAAO,CAAC,kBAAkB,CAIzB;IAEM,IAAI;IAKX,SAAgB,KAAK,+CAKnB;CACH"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- type OEAttemptsLimitProps = {
3
- text: string;
4
- };
5
- export declare const OpenEndedAttemptsLimit: ({ text }: OEAttemptsLimitProps) => React.JSX.Element;
6
- export {};
7
- //# sourceMappingURL=OpenEndedAttemptsLimit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenEndedAttemptsLimit.d.ts","sourceRoot":"","sources":["../../../../../../src/features/openEnded/components/OpenEndedAttemptsLimit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,oBAAoB,sBAIpE,CAAA"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { OpenEndedScoreLabelVariant } from '../oe.types';
3
- type OpenEndedScoreLabelProps = {
4
- label: string;
5
- score: number | null;
6
- maxScore: number;
7
- disabled: boolean;
8
- variant: OpenEndedScoreLabelVariant;
9
- };
10
- export declare const OpenEndedScoreLabel: ({ label, score, maxScore, disabled, variant, }: OpenEndedScoreLabelProps) => React.JSX.Element;
11
- export {};
12
- //# sourceMappingURL=OpenEndedScoreLabel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenEndedScoreLabel.d.ts","sourceRoot":"","sources":["../../../../../../src/features/openEnded/components/OpenEndedScoreLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAGxD,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,0BAA0B,CAAA;CACpC,CAAA;AAOD,eAAO,MAAM,mBAAmB,mDAM7B,wBAAwB,sBAuB1B,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from './oe.helpers';
2
- export * from './oe.types';
3
- export { OpenEndedScoreLabel } from './components/OpenEndedScoreLabel';
4
- export { OpenEndedAttemptsLimit } from './components/OpenEndedAttemptsLimit';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -1,13 +0,0 @@
1
- import { ColorValue } from '../../types/common.types';
2
- import { OpenEndedScoreLabelVariant } from './oe.types';
3
- type GetScoreLabelColorProps = {
4
- variant: OpenEndedScoreLabelVariant;
5
- disabled: boolean;
6
- };
7
- type ScoreLabelColors = {
8
- score: ColorValue;
9
- maxScore: ColorValue;
10
- };
11
- export declare const getScoreLabelColor: ({ variant, disabled, }: GetScoreLabelColorProps) => ScoreLabelColors;
12
- export {};
13
- //# sourceMappingURL=oe.helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oe.helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/oe.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,0BAA0B,CAAA;IACnC,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAYD,eAAO,MAAM,kBAAkB,2BAG5B,uBAAuB,KAAG,gBAG3B,CAAA"}
@@ -1,7 +0,0 @@
1
- export declare enum OpenEndedScoreLabelVariant {
2
- CORRECT = "CORRECT",
3
- FIRST_ATTEMPT = "FIRST_ATTEMPT",
4
- WRONG = "WRONG",
5
- DEFAULT = "DEFAULT"
6
- }
7
- //# sourceMappingURL=oe.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oe.types.d.ts","sourceRoot":"","sources":["../../../../../src/features/openEnded/oe.types.ts"],"names":[],"mappings":"AAAA,oBAAY,0BAA0B;IACpC,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,OAAO,YAAY;CACpB"}
@@ -1,9 +0,0 @@
1
- import React, { ComponentType, PropsWithChildren, ReactNode } from 'react';
2
- type ConditionalWrapperProps = {
3
- children: ReactNode;
4
- withWrapper?: boolean;
5
- Wrapper?: ComponentType<PropsWithChildren>;
6
- };
7
- export declare const ConditionalWrapper: ({ withWrapper, Wrapper, children }: ConditionalWrapperProps) => string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
8
- export {};
9
- //# sourceMappingURL=ConditionalWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConditionalWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAAwC,uBAAuB,iGAM7F,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const isWeb: boolean;
2
- //# sourceMappingURL=common.constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.constants.d.ts","sourceRoot":"","sources":["../../../../src/shared/common.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,SAAwB,CAAA"}
@@ -1,4 +0,0 @@
1
- import { IconProps } from './icon.types';
2
- import React from 'react';
3
- export declare const TimeIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=TimeIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeIcon.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/TimeIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,QAAQ,oBAA6C,SAAS,sBAiB1E,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../../icon.types';
3
- export declare const RoundBracketLeftIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=RoundBracketLeftIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundBracketLeftIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK5C,eAAO,MAAM,oBAAoB,oBAA0B,SAAS,sBAWnE,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../../icon.types';
3
- export declare const RoundBracketRightIcon: ({ size, color }: IconProps) => React.JSX.Element;
4
- //# sourceMappingURL=RoundBracketRightIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundBracketRightIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK5C,eAAO,MAAM,qBAAqB,oBAA0B,SAAS,sBAWpE,CAAA"}
@@ -1,120 +0,0 @@
1
- # TTS Word-by-Word Highlighting
2
-
3
- ## Overview
4
-
5
- Word-by-word text highlighting synchronized with text-to-speech playback in the chatbot. The feature is optional and enabled via `isWordHighlightEnabled` config flag.
6
-
7
- ## How It Works
8
-
9
- ```
10
- ┌─────────────────────────────────────────────────────────────────┐
11
- │ 1. User clicks TTS button on a message │
12
- │ ↓ │
13
- │ 2. Text is converted to SSML with word marks │
14
- │ "Hello world" → <speak><mark name="w_0"/>Hello │
15
- │ <mark name="w_1"/>world</speak> │
16
- │ ↓ │
17
- │ 3. Google TTS API returns audio + timepoints │
18
- │ [{ markName: "w_0", timeSeconds: 0.0 }, │
19
- │ { markName: "w_1", timeSeconds: 0.5 }] │
20
- │ ↓ │
21
- │ 4. Audio plays, onTimeUpdate fires via RAF loop │
22
- │ ↓ │
23
- │ 5. Current time → find matching timepoint → word index │
24
- │ ↓ │
25
- │ 6. $highlightedWordIndex updates → UI re-renders highlighted │
26
- └─────────────────────────────────────────────────────────────────┘
27
- ```
28
-
29
- ## Usage
30
-
31
- ```tsx
32
- // In students-web model setup
33
- chatModel.bot.setUpT2S({
34
- audioProvider: createT2SAudioProvider(),
35
- textSanitizer: removeKatexPartFromTextToSpeech,
36
- isWordHighlightEnabled: true,
37
- })
38
- ```
39
-
40
- ## Architecture
41
-
42
- ### ChatTTSModel (ChatTTSModel.ts)
43
-
44
- Handles TTS playback and word highlighting. Key design decisions:
45
-
46
- - **Map-based cache** — `audioCache: Map<string, AudioCache>` stores both `audioPath` and `timepoints` per message. When highlighting is off, `timepoints` is `[]`. Cache lives for the model's lifetime (cleared when user leaves the problem).
47
- - **`fetchAudio()` method** — encapsulates API call + audioContent decoding. Highlight vs non-highlight differences are ternaries (SSML vs plain text, `enableTimePointing`).
48
- - **`play()` is linear** — cache lookup → fetch if miss → store → activate highlight if enabled → play audio. No branching between highlight/non-highlight paths.
49
- - **Pause/resume guards** — `wordHighlightEnabled` check before toggling `setIsActive(false)`/`setIsActive(true)` on pause/resume.
50
- - **`wordHighlightEnabled` (private)** — stored result of `!!isWordHighlightEnabled && !!audioProvider.onTimeUpdate`. Set once at `setConfig`.
51
- - **`isWordHighlightEnabled` (public getter)** — read-only access for external consumers (e.g. `Chat.tsx`).
52
-
53
- ### AudioProvider type
54
-
55
- ```typescript
56
- type AudioProvider = {
57
- play: (audioPath: string, onPlaybackComplete: () => void) => Promise<void>
58
- pause: () => void
59
- resume: () => void
60
- stop: () => void
61
- onTimeUpdate?: OnTimeUpdate // optional — presence enables highlight capability
62
- }
63
- ```
64
-
65
- `onTimeUpdate` is optional. It's the mechanism that syncs audio playback time with word highlights via a RAF loop. If the provider doesn't have it, highlighting won't activate even if `isWordHighlightEnabled: true`.
66
-
67
- ### ChatTTSHighlightModel (ChatTTSHighlightModel.ts)
68
-
69
- Manages highlight state using Effector stores with declarative reset. Receives `OnTimeUpdate` callback directly (not the whole `AudioProvider`).
70
-
71
- - **`$isActive`** — gates `$highlightedWordIndex` computation. Toggled on pause/resume without resetting timepoints.
72
- - **`$highlightedWordIndex`** — derived store, returns `-1` when inactive or no match. Parses mark name via `WORD_MARK_REGEX`.
73
- - **`activate(timepoints, onTimeUpdate)`** — sets timepoints, enables highlighting, registers time update callback. Only triggers store updates when the highlighted word actually changes (`lastMark` comparison).
74
- - **`deactivate(onTimeUpdate)`** — stops listening, resets all state via declarative `.reset()` chain.
75
- - **All stores use `.reset(this.reset)`** — single `reset` event clears `$time`, `$timepoints`, and `$isActive`.
76
-
77
- ### Helpers (helpers/ttsHighlight.ts)
78
-
79
- - **`textToSSML(text)`** — converts plain text to SSML with `<mark>` tags for word timing.
80
- - **`findCurrentMark(timepoints, time)`** — iterates backwards through timepoints to find the current mark. Efficient for linear playback.
81
-
82
- ### Constants (constants.ts)
83
-
84
- - **`WORD_MARK_REGEX`** — `/^w_(\d+)$/` — extracts word index from mark names like `w_0`, `w_1`.
85
-
86
- ### Naming conventions
87
-
88
- | Name | Scope | Purpose |
89
- |------|-------|---------|
90
- | `wordHighlight` | public instance | `ChatTTSHighlightModel` instance on `ChatTTSModel` |
91
- | `wordHighlightEnabled` | private field | Whether highlighting is active (set once at config) |
92
- | `isWordHighlightEnabled` | public getter | Read-only access to `wordHighlightEnabled` for external consumers |
93
- | `isWordHighlightEnabled` | T2SConfig field | Config flag passed to `setUpT2S()` |
94
-
95
- ## Data Flow
96
-
97
- ```
98
- AudioProvider.onTimeUpdate(callback)
99
-
100
- ChatTTSHighlightModel.activate(timepoints, onTimeUpdate)
101
-
102
- RAF loop → audio.currentTime → findCurrentMark() → only updates when mark changes
103
-
104
- $highlightedWordIndex = parse mark name "w_N" → N (or -1 if inactive/no match)
105
-
106
- Chat.tsx: model.t2s.isWordHighlightEnabled && isPlayingMessage ? highlightedWordIndex : -1
107
-
108
- ChatMessage → MessageContent → TTSHighlightRenderer({ text, highlightedIndex })
109
- ```
110
-
111
- ## Key Files
112
-
113
- | File | Purpose |
114
- |------|---------|
115
- | `model/ChatTTSModel.ts` | `ChatTTSModel` — TTS playback, caching, highlight orchestration |
116
- | `model/ChatTTSHighlightModel.ts` | Highlight state — timepoints, current time, `$isActive`, derived word index |
117
- | `helpers/ttsHighlight.ts` | `textToSSML` + `findCurrentMark` — SSML conversion and playback position lookup |
118
- | `constants.ts` | `WORD_MARK_REGEX` and audio config defaults |
119
- | `types/t2s.types.ts` | `AudioProvider`, `OnTimeUpdate`, `AudioStatus`, `AudioCache`, `TTSHighlightRendererProps` types |
120
- | `components/Chat/Chat.tsx` | Reads `isWordHighlightEnabled` and `$highlightedWordIndex`, passes to messages |
@@ -1,25 +0,0 @@
1
- import { Timepoint } from '../types/api.types'
2
-
3
- const escapeXml = (str: string): string =>
4
- str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
5
-
6
- /**
7
- * Converts plain text to SSML with word marks for TTS highlighting.
8
- * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
9
- */
10
- export const textToSSML = (text: string): string => {
11
- const words = text.split(/\s+/).filter(Boolean)
12
- if (words.length === 0) return '<speak></speak>'
13
-
14
- const ssmlParts = words.map((word, i) => `<mark name="w_${i}"/>${escapeXml(word)}`)
15
- return `<speak>${ssmlParts.join(' ')}</speak>`
16
- }
17
-
18
- export const findCurrentMark = (timepoints: Timepoint[], time: number): string | undefined => {
19
- for (let i = timepoints.length - 1; i >= 0; i--) {
20
- if (timepoints[i].timeSeconds <= time) {
21
- return timepoints[i].markName
22
- }
23
- }
24
- return undefined
25
- }