@magmamath/students-features 0.9.14-rc.6 → 0.9.91

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 (312) 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/Chatbot.js +2 -2
  4. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +6 -8
  6. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  7. package/dist/commonjs/features/chatbot/model/t2s.js +3 -4
  8. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  9. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  10. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -3
  11. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  12. package/dist/commonjs/features/feedback/model/model.js.map +1 -1
  13. package/dist/commonjs/features/feedback/model/sockets.js +5 -8
  14. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
  15. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +2 -2
  16. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  17. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  18. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  19. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js +1 -5
  20. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  21. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  22. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  23. package/dist/commonjs/features/keyboard/components/Keyboard.js +7 -9
  24. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  25. package/dist/commonjs/features/keyboard/components/{MainLayout/MainLayout.js → MainLayout.js} +11 -9
  26. package/dist/commonjs/features/keyboard/components/MainLayout.js.map +1 -0
  27. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +2 -3
  28. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
  29. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +1 -2
  30. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
  31. package/dist/commonjs/features/keyboard/components/{MainLayout/constants.js → constants.js} +1 -1
  32. package/dist/commonjs/features/keyboard/components/constants.js.map +1 -0
  33. package/dist/commonjs/features/keyboard/constants/constants.js +2 -3
  34. package/dist/commonjs/features/keyboard/constants/constants.js.map +1 -1
  35. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +0 -20
  36. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  37. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +0 -7
  38. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  39. package/dist/commonjs/features/keyboard/helpers.js +0 -16
  40. package/dist/commonjs/features/keyboard/helpers.js.map +1 -1
  41. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +29 -2
  42. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  43. package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js +0 -27
  44. package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
  45. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +0 -1
  46. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  47. package/dist/commonjs/lib/helpers/helpers.js +5 -28
  48. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  49. package/dist/commonjs/shared/translation/constants.js +1 -3
  50. package/dist/commonjs/shared/translation/constants.js.map +1 -1
  51. package/dist/commonjs/shared/translation/localization/ca.json +5 -5
  52. package/dist/commonjs/shared/translation/localization/en.json +5 -5
  53. package/dist/commonjs/shared/translation/localization/gb.json +5 -5
  54. package/dist/commonjs/shared/translation/localization/sct.json +5 -5
  55. package/dist/commonjs/shared/translation/localization/sw.json +5 -5
  56. package/dist/commonjs/shared/translation/types.js +0 -1
  57. package/dist/commonjs/shared/translation/types.js.map +1 -1
  58. package/dist/module/features/celebrations/helpers.js +1 -4
  59. package/dist/module/features/celebrations/helpers.js.map +1 -1
  60. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  61. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  62. package/dist/module/features/chatbot/model/ChatBotModel.js +6 -8
  63. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  64. package/dist/module/features/chatbot/model/t2s.js +3 -4
  65. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  66. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  67. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -3
  68. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  69. package/dist/module/features/feedback/model/model.js.map +1 -1
  70. package/dist/module/features/feedback/model/sockets.js +5 -8
  71. package/dist/module/features/feedback/model/sockets.js.map +1 -1
  72. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +1 -1
  73. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  74. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  75. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  76. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js +0 -4
  77. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  78. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +1 -1
  79. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  80. package/dist/module/features/keyboard/components/Keyboard.js +4 -6
  81. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  82. package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
  83. package/dist/module/features/keyboard/components/{MainLayout/MainLayout.js → MainLayout.js} +12 -10
  84. package/dist/module/features/keyboard/components/MainLayout.js.map +1 -0
  85. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +2 -3
  86. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
  87. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +1 -2
  88. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
  89. package/dist/module/features/keyboard/components/{MainLayout/constants.js → constants.js} +1 -1
  90. package/dist/module/features/keyboard/components/constants.js.map +1 -0
  91. package/dist/module/features/keyboard/constants/constants.js +1 -2
  92. package/dist/module/features/keyboard/constants/constants.js.map +1 -1
  93. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +1 -21
  94. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  95. package/dist/module/features/keyboard/constants/keyboardLayouts.js +0 -6
  96. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  97. package/dist/module/features/keyboard/helpers.js +0 -13
  98. package/dist/module/features/keyboard/helpers.js.map +1 -1
  99. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +29 -2
  100. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  101. package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js +0 -27
  102. package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
  103. package/dist/module/features/keyboard/types/keyboardGroupIds.js +0 -1
  104. package/dist/module/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  105. package/dist/module/lib/helpers/helpers.js +5 -28
  106. package/dist/module/lib/helpers/helpers.js.map +1 -1
  107. package/dist/module/shared/translation/constants.js +1 -3
  108. package/dist/module/shared/translation/constants.js.map +1 -1
  109. package/dist/module/shared/translation/localization/ca.json +5 -5
  110. package/dist/module/shared/translation/localization/en.json +5 -5
  111. package/dist/module/shared/translation/localization/gb.json +5 -5
  112. package/dist/module/shared/translation/localization/sct.json +5 -5
  113. package/dist/module/shared/translation/localization/sw.json +5 -5
  114. package/dist/module/shared/translation/types.js +0 -1
  115. package/dist/module/shared/translation/types.js.map +1 -1
  116. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +1 -1
  117. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +7 -8
  118. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  119. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts +2 -2
  120. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  121. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  122. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +1 -11
  123. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  124. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +5 -8
  125. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  126. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  127. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +1 -4
  128. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
  129. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  131. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
  132. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  133. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  134. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +2 -3
  135. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  136. package/dist/typescript/commonjs/features/keyboard/components/{MainLayout/MainLayout.d.ts → MainLayout.d.ts} +1 -1
  137. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +1 -0
  138. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +1 -5
  139. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
  141. package/dist/typescript/commonjs/features/keyboard/components/constants.d.ts.map +1 -0
  142. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts +1 -2
  143. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  145. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +0 -1
  146. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  147. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts +0 -2
  148. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts.map +1 -1
  149. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  150. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  151. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +0 -18
  152. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
  153. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +0 -1
  154. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  155. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  156. package/dist/typescript/commonjs/shared/translation/constants.d.ts +0 -42
  157. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  158. package/dist/typescript/commonjs/shared/translation/types.d.ts +1 -2
  159. package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
  160. package/dist/typescript/module/features/celebrations/helpers.d.ts.map +1 -1
  161. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +7 -8
  162. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  163. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts +2 -2
  164. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  165. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  166. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +1 -11
  167. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  168. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +5 -8
  169. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  170. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  171. package/dist/typescript/module/features/feedback/model/model.d.ts +1 -4
  172. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
  173. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
  174. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  175. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
  176. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  177. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  178. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +2 -3
  179. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  180. package/dist/typescript/module/features/keyboard/components/{MainLayout/MainLayout.d.ts → MainLayout.d.ts} +1 -1
  181. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +1 -0
  182. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +1 -5
  183. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
  184. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
  185. package/dist/typescript/module/features/keyboard/components/constants.d.ts.map +1 -0
  186. package/dist/typescript/module/features/keyboard/constants/constants.d.ts +1 -2
  187. package/dist/typescript/module/features/keyboard/constants/constants.d.ts.map +1 -1
  188. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  189. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +0 -1
  190. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  191. package/dist/typescript/module/features/keyboard/helpers.d.ts +0 -2
  192. package/dist/typescript/module/features/keyboard/helpers.d.ts.map +1 -1
  193. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  194. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  195. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +0 -18
  196. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
  197. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +0 -1
  198. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  199. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  200. package/dist/typescript/module/shared/translation/constants.d.ts +0 -42
  201. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  202. package/dist/typescript/module/shared/translation/types.d.ts +1 -2
  203. package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
  204. package/package.json +1 -1
  205. package/src/features/celebrations/helpers.ts +33 -35
  206. package/src/features/chatbot/components/Chatbot.tsx +2 -2
  207. package/src/features/chatbot/model/ChatBotModel.ts +5 -10
  208. package/src/features/chatbot/model/t2s.ts +2 -3
  209. package/src/features/chatbot/types/api.types.ts +1 -14
  210. package/src/features/chatbot/types/model.types.ts +5 -12
  211. package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +3 -4
  212. package/src/features/feedback/model/model.ts +1 -4
  213. package/src/features/feedback/model/sockets.ts +6 -8
  214. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +1 -2
  215. package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -2
  216. package/src/features/keyboard/components/BasicLayout/keyboardGroups.ts +0 -4
  217. package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +1 -2
  218. package/src/features/keyboard/components/Keyboard.tsx +7 -19
  219. package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
  220. package/src/features/keyboard/components/{MainLayout/MainLayout.tsx → MainLayout.tsx} +12 -8
  221. package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +2 -7
  222. package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +3 -5
  223. package/src/features/keyboard/components/{MainLayout/constants.ts → constants.ts} +1 -1
  224. package/src/features/keyboard/constants/constants.ts +1 -3
  225. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +0 -21
  226. package/src/features/keyboard/constants/keyboardLayouts.ts +0 -11
  227. package/src/features/keyboard/helpers.ts +0 -16
  228. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +23 -2
  229. package/src/features/keyboard/types/MathKeysGroups/specialOperators.tsx +0 -21
  230. package/src/features/keyboard/types/keyboardGroupIds.ts +0 -1
  231. package/src/lib/helpers/helpers.ts +8 -23
  232. package/src/shared/translation/constants.ts +0 -2
  233. package/src/shared/translation/localization/ca.json +5 -5
  234. package/src/shared/translation/localization/en.json +5 -5
  235. package/src/shared/translation/localization/gb.json +5 -5
  236. package/src/shared/translation/localization/sct.json +5 -5
  237. package/src/shared/translation/localization/sw.json +5 -5
  238. package/src/shared/translation/types.ts +0 -4
  239. package/.editorconfig +0 -15
  240. package/.eslintignore +0 -2
  241. package/.eslintrc +0 -22
  242. package/.gitattributes +0 -3
  243. package/.github/actions/setup/action.yml +0 -37
  244. package/.github/workflows/ci.yml +0 -73
  245. package/.gitignore +0 -84
  246. package/.idea/.gitignore +0 -8
  247. package/.idea/codeStyles/Project.xml +0 -62
  248. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  249. package/.idea/copilot.data.migration.agent.xml +0 -6
  250. package/.idea/copilot.data.migration.ask.xml +0 -6
  251. package/.idea/copilot.data.migration.ask2agent.xml +0 -6
  252. package/.idea/copilot.data.migration.edit.xml +0 -6
  253. package/.idea/inspectionProfiles/Project_Default.xml +0 -8
  254. package/.idea/jsLinters/eslint.xml +0 -6
  255. package/.idea/modules.xml +0 -8
  256. package/.idea/prettier.xml +0 -7
  257. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_10_[Changes]/shelved.patch +0 -18
  258. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_11_[Changes]/shelved.patch +0 -19
  259. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_10__Changes_.xml +0 -4
  260. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_11__Changes_.xml +0 -4
  261. package/.idea/students-features.iml +0 -12
  262. package/.idea/vcs.xml +0 -6
  263. package/.idea/workspace.xml +0 -648
  264. package/.nvmrc +0 -1
  265. package/.prettierrc +0 -11
  266. package/.release-it.json +0 -17
  267. package/.watchmanconfig +0 -1
  268. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
  269. package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +0 -28
  270. package/.yarn/releases/yarn-3.6.1.cjs +0 -874
  271. package/babel.config.js +0 -5
  272. package/bob.config.js +0 -25
  273. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +0 -1
  274. package/dist/commonjs/features/keyboard/components/MainLayout/constants.js.map +0 -1
  275. package/dist/commonjs/lib/types/requests.js +0 -2
  276. package/dist/commonjs/lib/types/requests.js.map +0 -1
  277. package/dist/commonjs/shared/translation/localization/de.json +0 -42
  278. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +0 -1
  279. package/dist/module/features/keyboard/components/MainLayout/constants.js.map +0 -1
  280. package/dist/module/lib/types/requests.js +0 -2
  281. package/dist/module/lib/types/requests.js.map +0 -1
  282. package/dist/module/shared/translation/localization/de.json +0 -42
  283. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +0 -1
  284. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/constants.d.ts.map +0 -1
  285. package/dist/typescript/commonjs/lib/types/requests.d.ts +0 -4
  286. package/dist/typescript/commonjs/lib/types/requests.d.ts.map +0 -1
  287. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +0 -1
  288. package/dist/typescript/module/features/keyboard/components/MainLayout/constants.d.ts.map +0 -1
  289. package/dist/typescript/module/lib/types/requests.d.ts +0 -4
  290. package/dist/typescript/module/lib/types/requests.d.ts.map +0 -1
  291. package/example/.expo/README.md +0 -8
  292. package/example/.expo/devices.json +0 -3
  293. package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
  294. package/example/app.json +0 -30
  295. package/example/assets/adaptive-icon.png +0 -0
  296. package/example/assets/favicon.png +0 -0
  297. package/example/assets/icon.png +0 -0
  298. package/example/assets/splash-icon.png +0 -0
  299. package/example/babel.config.js +0 -28
  300. package/example/index.js +0 -8
  301. package/example/metro.config.js +0 -18
  302. package/example/package.json +0 -25
  303. package/example/src/App.tsx +0 -8
  304. package/example/tsconfig.json +0 -6
  305. package/example/yarn.lock +0 -6552
  306. package/src/lib/types/requests.ts +0 -1
  307. package/src/shared/translation/localization/de.json +0 -42
  308. package/tsconfig.build.json +0 -4
  309. package/tsconfig.json +0 -34
  310. package/yarn.lock +0 -8623
  311. /package/dist/typescript/commonjs/features/keyboard/components/{MainLayout/constants.d.ts → constants.d.ts} +0 -0
  312. /package/dist/typescript/module/features/keyboard/components/{MainLayout/constants.d.ts → constants.d.ts} +0 -0
@@ -209,47 +209,5 @@ export declare const LOCALIZATION_CONFIGS: {
209
209
  weight: string;
210
210
  };
211
211
  };
212
- "de-DE": {
213
- locale: string;
214
- "teacherFeedback.noComments": string;
215
- "time.justNow": string;
216
- "time.minuteAgo": string;
217
- "time.minutesAgo": string;
218
- "time.hourAgo": string;
219
- "time.hoursAgo": string;
220
- "time.dayAgo": string;
221
- "time.daysAgo": string;
222
- "time.monthAgo": string;
223
- "time.monthsAgo": string;
224
- "time.yearAgo": string;
225
- "time.yearsAgo": string;
226
- chat: {
227
- anotherHint: string;
228
- giveHint: string;
229
- giveHintOpenChat: string;
230
- answerAgain: string;
231
- errorMessage: string;
232
- howCanIHelp: string;
233
- showError: string;
234
- inputPlaceholder: string;
235
- };
236
- gifCelebrations: {
237
- greatStart: string;
238
- onTheWay: string;
239
- almostThere: string;
240
- };
241
- exampleSolution: {
242
- exampleSolution: string;
243
- letMeThink: string;
244
- aha: string;
245
- errorMessage: string;
246
- };
247
- keyboard: {
248
- length: string;
249
- area: string;
250
- volume: string;
251
- weight: string;
252
- };
253
- };
254
212
  };
255
213
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA"}
@@ -8,7 +8,6 @@ export declare enum Locale {
8
8
  SW = "sv-SE",
9
9
  GB = "en-GB",
10
10
  CA = "en-CA",
11
- SCT = "en-SCT",
12
- DE = "de-DE"
11
+ SCT = "en-SCT"
13
12
  }
14
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/types.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAOnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,MAAM,CAAA;AAE5F,oBAAY,MAAM;IAChB,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,GAAG,WAAW;IACd,EAAE,UAAU;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/types.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAKnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAA;AAChD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,MAAM,CAAA;AAE5F,oBAAY,MAAM;IAChB,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,GAAG,WAAW;CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.14-rc.6",
3
+ "version": "0.9.91",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -1,41 +1,39 @@
1
- import { ParticlesBatch } from './components/ParticleBatch'
2
- import { Spark } from './components/Spark'
3
- import { CELEBRATION_ICON_CONFIG, CELEBRATION_VARIANTS } from './config'
4
- import { CelebrationVariant } from './types'
1
+ import { ParticlesBatch } from './components/ParticleBatch';
2
+ import { Spark } from './components/Spark';
3
+ import { CELEBRATION_ICON_CONFIG, CELEBRATION_VARIANTS } from './config';
4
+ import { CelebrationVariant } from './types';
5
5
 
6
- export const randomRange = (min: number, max: number) => Math.random() * (max - min) + min
6
+ export const randomRange = (min: number, max: number) => Math.random() * (max - min) + min;
7
7
 
8
8
  const isDateInRange = (currentDate: Date, startDateStr: string, endDateStr: string) => {
9
- const [startDay, startMonth] = startDateStr.split('-').map(Number)
10
- const [endDay, endMonth] = endDateStr.split('-').map(Number)
9
+ const [startDay, startMonth] = startDateStr.split('-').map(Number);
10
+ const [endDay, endMonth] = endDateStr.split('-').map(Number);
11
11
 
12
- const currentYear = currentDate.getFullYear()
13
- const startDate = new Date(currentYear, startMonth - 1, startDay)
12
+ const currentYear = currentDate.getFullYear();
13
+ const startDate = new Date(currentYear, startMonth - 1, startDay);
14
+ const endDate = new Date(currentYear, endMonth - 1, endDay + 1);
14
15
 
15
- // If end month is earlier than start month, it spans to next year
16
- const endYear = endMonth < startMonth ? currentYear + 1 : currentYear
17
- const endDate = new Date(endYear, endMonth - 1, endDay + 1)
18
-
19
- return currentDate >= startDate && currentDate <= endDate
20
- }
16
+ return currentDate >= startDate && currentDate <= endDate;
17
+ };
21
18
 
22
19
  export const getIconForCurrentDate = () => {
23
- const currentDate = new Date()
20
+ const currentDate = new Date();
24
21
 
25
22
  for (const celebration of CELEBRATION_ICON_CONFIG) {
26
23
  if (celebration.activePeriod) {
27
- const { start, end } = celebration.activePeriod
24
+ const { start, end } = celebration.activePeriod;
28
25
  if (isDateInRange(currentDate, start, end)) {
29
- return celebration.Icon
26
+ return celebration.Icon;
30
27
  }
31
28
  }
32
29
  }
33
30
 
34
- return CELEBRATION_ICON_CONFIG[0].Icon
35
- }
31
+ return CELEBRATION_ICON_CONFIG[0].Icon;
32
+ };
36
33
 
37
- const MainIcon = getIconForCurrentDate()
38
- export const generateParticle = (variant: CelebrationVariant) => {
34
+ const MainIcon = getIconForCurrentDate();
35
+ export const generateParticle = (variant: CelebrationVariant
36
+ ) => {
39
37
  const {
40
38
  elementsCount,
41
39
  angle,
@@ -46,20 +44,20 @@ export const generateParticle = (variant: CelebrationVariant) => {
46
44
  friction,
47
45
  life,
48
46
  angularAcceleration,
49
- speedRange,
50
- } = CELEBRATION_VARIANTS[variant]
47
+ speedRange
48
+ } = CELEBRATION_VARIANTS[variant];
51
49
 
52
50
  const sparkSpeedMin = speedRange?.spark?.[0]
53
51
  const sparkSpeedMax = speedRange?.spark?.[1]
54
52
  const mainSpeedMin = speedRange?.main?.[0]
55
53
  const mainSpeedMax = speedRange?.main?.[1]
56
54
 
57
- const particles: ParticlesBatch[] = []
55
+ const particles: ParticlesBatch[] = [];
58
56
 
59
57
  for (let i = 0; i < elementsCount.spark; i++) {
60
- const randomAngle = randomRange((angle.from * Math.PI) / 180, (angle.to * Math.PI) / 180)
61
- const randomSpeed = randomRange(sparkSpeedMin, sparkSpeedMax)
62
- const randomAngularAcceleration = randomRange(angularAcceleration.from, angularAcceleration.to)
58
+ const randomAngle = randomRange((angle.from * Math.PI) / 180, (angle.to * Math.PI) / 180);
59
+ const randomSpeed = randomRange(sparkSpeedMin, sparkSpeedMax);
60
+ const randomAngularAcceleration = randomRange(angularAcceleration.from, angularAcceleration.to);
63
61
 
64
62
  particles.push({
65
63
  id: Math.random(),
@@ -76,12 +74,12 @@ export const generateParticle = (variant: CelebrationVariant) => {
76
74
  friction,
77
75
  Component: Spark,
78
76
  life,
79
- })
77
+ });
80
78
  }
81
79
  for (let i = 0; i < elementsCount.star; i++) {
82
- const randomAngle = randomRange((angle.from * Math.PI) / 180, (angle.to * Math.PI) / 180)
83
- const randomSpeed = randomRange(mainSpeedMin, mainSpeedMax)
84
- const randomAngularAcceleration = randomRange(angularAcceleration.from, angularAcceleration.to)
80
+ const randomAngle = randomRange((angle.from * Math.PI) / 180, (angle.to * Math.PI) / 180);
81
+ const randomSpeed = randomRange(mainSpeedMin, mainSpeedMax);
82
+ const randomAngularAcceleration = randomRange(angularAcceleration.from, angularAcceleration.to);
85
83
 
86
84
  particles.push({
87
85
  id: Math.random(),
@@ -98,8 +96,8 @@ export const generateParticle = (variant: CelebrationVariant) => {
98
96
  friction,
99
97
  Component: MainIcon,
100
98
  life,
101
- })
99
+ });
102
100
  }
103
101
 
104
- return particles
105
- }
102
+ return particles;
103
+ };
@@ -30,14 +30,14 @@ export const Chatbot = ({
30
30
  iconSize,
31
31
  colorScheme = ColorScheme.Blue,
32
32
  }: ChatbotProps) => {
33
- const isChatAllowed = useUnit(model.$chatAccess)
33
+ const alternatives = useUnit(model.$alternatives)
34
34
  const isAvailable = useStoreMap(model.$currentChatData, ({ isAvailable }) => isAvailable)
35
35
  model.t2s.setAudioConfig(textToSpeechConfig ?? null)
36
36
 
37
37
  const openChat = () => model.setIsOpen(true)
38
38
  const closeChat = () => model.setIsOpen(false)
39
39
 
40
- if (!isAvailable || !isChatAllowed) {
40
+ if (!isAvailable || alternatives?.chatAccess === false) {
41
41
  return null
42
42
  }
43
43
 
@@ -7,7 +7,6 @@ import {
7
7
  restore,
8
8
  sample,
9
9
  type Store,
10
- StoreWritable
11
10
  } from 'effector'
12
11
  import {
13
12
  ChatbotContext,
@@ -75,18 +74,14 @@ export class ChatbotModel {
75
74
 
76
75
  private readonly cache = new ChatsCacheModel()
77
76
 
78
- public readonly $chatAccess: StoreWritable<boolean>
79
-
80
77
  public readonly $currentChatData = combine(
81
78
  { data: this.cache.$data, key: this.$currentKey },
82
79
  ({ data, key }) => (data[key] ? { ...data[key], key } : { ...defaultChatData(), key }),
83
80
  )
84
81
 
85
- constructor({ api, $key, threadMessagesLimit, settings = {}, chatAccess }: ChatbotModelProps) {
82
+ constructor({ api, $key, threadMessagesLimit, settings = {} }: ChatbotModelProps) {
86
83
  this.api = new ChatbotAPI({ ...api, postMessage: this.threadManager.postMessage })
87
84
 
88
- this.$chatAccess = chatAccess
89
-
90
85
  this.threadManager.setApi({ getHint: api.requestHint, sendMessage: api.sendMessage })
91
86
  if (threadMessagesLimit) {
92
87
  this.threadManager.setMessagesLimit(threadMessagesLimit)
@@ -150,16 +145,16 @@ export class ChatbotModel {
150
145
  }
151
146
 
152
147
  this.startConversation = attach({
153
- source: { currentChatData: this.$currentChatData, chatAccess: this.$chatAccess },
148
+ source: { currentChatData: this.$currentChatData, alternatives: this.$alternatives },
154
149
  mapParams: (props: StartConversationProps | void, source) => ({
155
150
  ...props,
156
151
  ...source,
157
152
  }),
158
153
  effect: createEffect(
159
- ({ currentChatData, initOnly, chatAccess }: StartConversationFxData) => {
154
+ ({ currentChatData, alternatives, initOnly }: StartConversationFxData) => {
160
155
  const { key, messages } = currentChatData
161
156
 
162
- if (!chatAccess) return
157
+ if (!alternatives?.chatAccess) return
163
158
 
164
159
  if (messages.length) {
165
160
  if (initOnly) return
@@ -176,7 +171,7 @@ export class ChatbotModel {
176
171
 
177
172
  this.api.getAlternativesFx.doneData.watch((alternatives) => {
178
173
  // Use short text for another hint option if openChatEnabled
179
- if (alternatives?.isOpenChatEnabled && IS_WEB) {
174
+ if (alternatives?.chatAccess && alternatives?.isOpenChatEnabled && IS_WEB) {
180
175
  this.textManager.update((creator) => ({
181
176
  anotherHintOption: creator.createOption('chat.giveHintOpenChat'),
182
177
  }))
@@ -86,12 +86,11 @@ export class ChatTextToSpeechModel {
86
86
  input: { text },
87
87
  voice: config?.voice ?? DEFAULT_VOICE,
88
88
  audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
89
- enableTimePointing: [],
90
89
  })
91
90
 
92
91
  // Response might be different type based on provided AUDIO_CONFIG
93
- if (typeof response.audioContent === 'string') {
94
- audioPath = `data:audio/mpeg;base64,${response.audioContent}`
92
+ if (typeof response === 'string') {
93
+ audioPath = `data:audio/mpeg;base64,${response}`
95
94
  } else {
96
95
  audioPath = response?.audioContent ?? ''
97
96
  }
@@ -11,9 +11,6 @@ export type AlternativesOptions = {
11
11
  }
12
12
 
13
13
  export type GetAlternativesResponse = {
14
- /**
15
- * @deprecated chatAccess depends on assignment.lavaChat or class grade
16
- */
17
14
  chatAccess?: boolean
18
15
  isOpenChatEnabled?: boolean
19
16
  version: string
@@ -59,7 +56,6 @@ export type PostMessageResponse = {
59
56
  export type GoogleTranslatePayload = {
60
57
  text: string[]
61
58
  targetLanguage: string
62
- sourceLanguage?: string
63
59
  }
64
60
 
65
61
  export type GoogleTranslateResponse = {
@@ -81,18 +77,9 @@ export type GoogleText2SpeechPayload = {
81
77
  pitch: number
82
78
  speakingRate: number
83
79
  }
84
- enableTimePointing?: string[]
85
80
  }
86
81
 
87
- export type Timepoint = {
88
- markName: string
89
- timeSeconds: number
90
- }
91
-
92
- export type GoogleText2SpeechResponse = {
93
- audioContent?: string
94
- timepoints?: Timepoint[]
95
- }
82
+ export type GoogleText2SpeechResponse = string | undefined | { audioContent?: string }
96
83
 
97
84
  export type ChatHintPayload = {
98
85
  problemDescription: string
@@ -1,4 +1,4 @@
1
- import type { Store, StoreWritable } from 'effector'
1
+ import type { Store } from 'effector'
2
2
  import {
3
3
  ChatHintPayload,
4
4
  ChatHintResponse,
@@ -17,7 +17,6 @@ import {
17
17
  } from './api.types'
18
18
  import { ExtendWithOptional } from '../../../lib/helpers/types'
19
19
  import { ChatAnswer, ChatItem, ConversationMessage, FullStrokeData } from './units.types'
20
- import { WithAbortSignal } from '../../../lib/types/requests'
21
20
 
22
21
  export type ChatbotMessages = {
23
22
  error: ConversationMessage
@@ -28,14 +27,10 @@ export type ChatbotMessages = {
28
27
 
29
28
  export type ChatbotApiRequests = {
30
29
  getAlternatives: (props: GetAlternativesPayload) => Promise<GetAlternativesResponse>
31
- sendMessage: (props: WithAbortSignal<SendMessagePayload>) => Promise<SendMessageResponse>
32
- postMessage: (props: WithAbortSignal<PostMessagePayload>) => Promise<PostMessageResponse>
33
- postTranslateText: (
34
- props: WithAbortSignal<GoogleTranslatePayload>,
35
- ) => Promise<GoogleTranslateResponse>
36
- postTextToSpeech: (
37
- props: WithAbortSignal<GoogleText2SpeechPayload>,
38
- ) => Promise<GoogleText2SpeechResponse>
30
+ sendMessage: (props: SendMessagePayload) => Promise<SendMessageResponse>
31
+ postMessage: (props: PostMessagePayload) => Promise<PostMessageResponse>
32
+ postTranslateText: (props: GoogleTranslatePayload) => Promise<GoogleTranslateResponse>
33
+ postTextToSpeech: (props: GoogleText2SpeechPayload) => Promise<GoogleText2SpeechResponse>
39
34
  /**
40
35
  * @deprecated merged with hint
41
36
  */
@@ -52,7 +47,6 @@ export type ChatbotModelProps = {
52
47
  requestHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
53
48
  }
54
49
  threadMessagesLimit?: number
55
- chatAccess: StoreWritable<boolean>
56
50
  settings?: ChatbotSettings
57
51
  }
58
52
 
@@ -83,7 +77,6 @@ export type StartConversationFxData = {
83
77
  messages: ConversationMessage[]
84
78
  }
85
79
  alternatives?: GetAlternativesResponse | null
86
- chatAccess: boolean
87
80
  } & StartConversationProps
88
81
 
89
82
  export enum MessageVariant {
@@ -11,6 +11,7 @@ import Animated, {
11
11
  import { ButtonVariant, SPACING, Button, ButtonSize, ButtonColor } from '@magmamath/react-native-ui'
12
12
 
13
13
  import { PracticeButton } from './PracticeButton'
14
+ import { getEoaButtonColor } from '../helpers'
14
15
 
15
16
  type PracticeButtonGroupProps = {
16
17
  textContent: { leftButtonText?: string; rightButtonText?: string }
@@ -20,8 +21,6 @@ type PracticeButtonGroupProps = {
20
21
  buttonColor?: ButtonColor
21
22
  }
22
23
 
23
- const APPEARANCE_DELAY = 1600
24
-
25
24
  export const PracticeButtonGroup = ({
26
25
  textContent,
27
26
  isPracticeButtonVisible,
@@ -32,7 +31,7 @@ export const PracticeButtonGroup = ({
32
31
  const buttonsContainerOpacity = useSharedValue(0)
33
32
 
34
33
  useEffect(() => {
35
- buttonsContainerOpacity.value = withDelay(APPEARANCE_DELAY, withTiming(1, { duration: 500 }))
34
+ buttonsContainerOpacity.value = withDelay(1000, withTiming(1, { duration: 500 }))
36
35
  }, [])
37
36
 
38
37
  return (
@@ -40,7 +39,7 @@ export const PracticeButtonGroup = ({
40
39
  <Animated.View
41
40
  entering={
42
41
  isPracticeButtonVisible
43
- ? FadeInRight.delay(APPEARANCE_DELAY).duration(500).easing(Easing.ease)
42
+ ? FadeInRight.delay(1000).duration(500).easing(Easing.ease)
44
43
  : FadeInUp.duration(500)
45
44
  }
46
45
  >
@@ -11,10 +11,7 @@ export type TeacherFeedbackModelProps = {
11
11
  getComments: (props: GetCommentsPayload) => Promise<GetCommentsResponse>
12
12
  updateCommentStatusSeen: (props: UpdateCommentStatusSeenPayload) => Promise<void>
13
13
  }
14
- /**
15
- * @deprecated - use socket and events directly in the client
16
- */
17
- socket?: any
14
+ socket: any
18
15
  credits: {
19
16
  $assignmentId: Store<string>
20
17
  $problemId: Store<string>
@@ -2,23 +2,21 @@ import { createEvent } from 'effector'
2
2
  import { TeacherComment, FeedbackSocketEvents } from '../types'
3
3
 
4
4
  export class TeacherFeedbackSockets {
5
- private readonly socket: any = null
5
+ private readonly socket: any
6
6
  public readonly commentAdded = createEvent<TeacherComment>()
7
7
  public readonly commentDeleted = createEvent<TeacherComment>()
8
8
 
9
9
  constructor(socket: any) {
10
- if (socket) {
11
- this.socket = socket
12
- }
10
+ this.socket = socket
13
11
  }
14
12
 
15
13
  connect() {
16
- this.socket?.on(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded)
17
- this.socket?.on(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted)
14
+ this.socket.on(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded)
15
+ this.socket.on(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted)
18
16
  }
19
17
 
20
18
  off() {
21
- this.socket?.off(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded)
22
- this.socket?.off(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted)
19
+ this.socket.off(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded)
20
+ this.socket.off(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted)
23
21
  }
24
22
  }
@@ -4,12 +4,11 @@ import { StyleSheet, useWindowDimensions, View } from 'react-native'
4
4
  import { COLORS, SelectGroup, SelectOptionSize, IS_MOBILE } from '@magmamath/react-native-ui'
5
5
  import { Locale, useText } from '../../../../shared/translation'
6
6
  import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
7
+ import { MOBILE_LAYOUT_WIDTH } from '../../constants/constants'
7
8
  import { SelectedLayout } from './types'
8
9
  import { getKeyboardGroup } from '../../helpers'
9
10
  import { getSelectOptions } from './helpers'
10
11
 
11
- const MOBILE_LAYOUT_WIDTH = 1300
12
-
13
12
  export const AlgebraLayout = ({ onLayoutChange, ...props }: KeyboardLayoutProps) => {
14
13
  const [selectedLayout, setSelectedLayout] = useState<SelectedLayout>(SelectedLayout.BASIC)
15
14
  const t = useText()
@@ -2,17 +2,17 @@ import React, { PropsWithChildren } from 'react'
2
2
  import { KeysList } from '../KeysList/KeysList'
3
3
  import { StyleSheet, useWindowDimensions, View } from 'react-native'
4
4
  import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
5
+ import { MOBILE_LAYOUT_WIDTH } from '../../constants/constants'
5
6
  import { Locale, useText } from '../../../../shared/translation'
6
7
  import { KEYBOARD_GROUPS_BY_LOCALE } from '../../constants/keyboardGroupsByLocale'
7
8
  import { IS_MOBILE } from '@magmamath/react-native-ui'
8
- import { BASIC_MOBILE_LAYOUT_WIDTH } from '../../constants/constants'
9
9
 
10
10
  export const BasicLayout = (props: KeyboardLayoutProps & PropsWithChildren) => {
11
11
  const t = useText()
12
12
  const keysByLocale = KEYBOARD_GROUPS_BY_LOCALE[t('locale') as Locale][KeyboardType.Basic]
13
13
  const keys = props.children ? keysByLocale.keys : keysByLocale.keys.slice(0, -1)
14
14
  const { width } = useWindowDimensions()
15
- const isMobile = width <= BASIC_MOBILE_LAYOUT_WIDTH || IS_MOBILE
15
+ const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
16
16
 
17
17
  if (isMobile && !props.children) {
18
18
  return null
@@ -58,7 +58,3 @@ export const MATH_CURRENCY_US_KEYBOARD_GROUP: KeyboardGroup = {
58
58
  id: MathEntryKeyboardGroupId.CURRENCY_US,
59
59
  keys: [MATH_CURRENCY_UNITS.DOLLAR, MATH_CURRENCY_UNITS.CENT],
60
60
  }
61
- export const MATH_CURRENCY_DE_KEYBOARD_GROUP: KeyboardGroup = {
62
- id: MathEntryKeyboardGroupId.CURRENCY_DE,
63
- keys: [MATH_CURRENCY_UNITS.EURO, MATH_CURRENCY_UNITS.DOLLAR, MATH_CURRENCY_UNITS.POUND],
64
- }
@@ -3,11 +3,10 @@ import { StyleSheet, useWindowDimensions, View } from 'react-native'
3
3
  import { KeysList } from '../KeysList/KeysList'
4
4
  import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
5
5
  import { Locale, useText } from '../../../../shared/translation'
6
+ import { MOBILE_LAYOUT_WIDTH } from '../../constants/constants'
6
7
  import { getKeyboardGroup } from '../../helpers'
7
8
  import { IS_MOBILE } from '@magmamath/react-native-ui'
8
9
 
9
- const MOBILE_LAYOUT_WIDTH = 1220
10
-
11
10
  export const BasicPlusPlusLayout = (props: KeyboardLayoutProps) => {
12
11
  const t = useText()
13
12
  const { width } = useWindowDimensions()
@@ -1,17 +1,15 @@
1
1
  import React, { useEffect, useMemo, useRef } from 'react'
2
2
  import { Animated, StyleProp, StyleSheet, useWindowDimensions, ViewStyle } from 'react-native'
3
3
  import { COLORS, IS_MOBILE, IS_WEB, SelectOptionColor, SHADOWS } from '@magmamath/react-native-ui'
4
- import { KeyboardKey, KeyboardKeyValue, KeyboardType } from '../types'
4
+ import { KeyboardKey, KeyboardKeyValue } from '../types/types'
5
5
  import { Numpad } from './Numpad/Numpad'
6
- import { MainLayout } from './MainLayout/MainLayout'
6
+ import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
7
7
  import {
8
8
  getLayoutConfigStyles,
9
9
  KEYBOARD_SLIDE_DISTANCE,
10
10
  slideInAnimationSettings,
11
- } from './MainLayout/constants'
12
- import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
13
- import { KEYBOARD_LAYOUTS } from '../constants/keyboardLayouts'
14
- import { isBasicLayout, isMobileWidth } from '../helpers'
11
+ } from './constants'
12
+ import { MainLayout } from './MainLayout'
15
13
 
16
14
  type KeyboardProps = {
17
15
  onKeyPress: (key: KeyboardKeyValue) => void
@@ -19,21 +17,15 @@ type KeyboardProps = {
19
17
  style?: StyleProp<ViewStyle>
20
18
  color?: SelectOptionColor
21
19
  isDisabled?: boolean
22
- isMainLayoutDisabled?: boolean
23
20
  showUnderlinedKeys?: boolean
24
21
  disabledKeys?: KeyboardKey[]
25
22
  }
26
23
 
27
- export const Keyboard = ({
28
- style,
29
- characterType,
30
- isMainLayoutDisabled,
31
- ...props
32
- }: KeyboardProps) => {
24
+ export const Keyboard = ({ style, characterType, ...props }: KeyboardProps) => {
33
25
  const slideAnim = useRef(new Animated.Value(KEYBOARD_SLIDE_DISTANCE)).current
34
26
 
35
27
  const { width } = useWindowDimensions()
36
- const isMobile = IS_MOBILE || isMobileWidth(width, characterType)
28
+ const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
37
29
  const mobileStyles = useMemo(
38
30
  () => getLayoutConfigStyles(characterType, isMobile),
39
31
  [characterType, isMobile],
@@ -62,11 +54,7 @@ export const Keyboard = ({
62
54
  },
63
55
  ]}
64
56
  >
65
- <MainLayout
66
- {...props}
67
- isDisabled={isMainLayoutDisabled || props.isDisabled}
68
- characterType={characterType}
69
- />
57
+ <MainLayout {...props} characterType={characterType} />
70
58
  <Numpad {...props} style={mobileStyles} />
71
59
  </Animated.View>
72
60
  )
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo } from 'react'
2
- import { StyleSheet } from 'react-native'
2
+ import { StyleProp, StyleSheet, ViewStyle } from 'react-native'
3
3
  import {
4
4
  ButtonStyle,
5
5
  SelectGroup,
@@ -1,9 +1,10 @@
1
1
  import React, { useEffect, useMemo, useRef, useState, useCallback } from 'react'
2
- import { Animated, StyleSheet, View } from 'react-native'
2
+ import { Animated, StyleSheet, useWindowDimensions, View } from 'react-native'
3
3
  import { SelectOptionColor, IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'
4
- import { getLayoutByCharType, isBasicPlusPlusLayout } from '../../constants/keyboardLayouts'
5
- import { KeyboardKey, KeyboardKeyValue } from '../../types/types'
6
- import { UnderlinedLayout } from '../UnderlinedLayout/UnderlinedLayout'
4
+ import { getLayoutByCharType } from '../constants/keyboardLayouts'
5
+ import { KeyboardKey, KeyboardKeyValue } from '../types/types'
6
+ import { UnderlinedLayout } from './UnderlinedLayout/UnderlinedLayout'
7
+ import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
7
8
 
8
9
  type LayoutProps = {
9
10
  onKeyPress: (key: KeyboardKeyValue) => void
@@ -26,8 +27,11 @@ export const MainLayout = ({
26
27
  const fadeAnim = useRef(new Animated.Value(showUnderlinedKeys ? 1 : 0)).current
27
28
  const fadeRef = useRef<Animated.CompositeAnimation | null>(null)
28
29
 
30
+ const { width } = useWindowDimensions()
31
+ const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
32
+
29
33
  const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
30
- const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !IS_MOBILE
34
+ const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !isMobile
31
35
 
32
36
  const animateFade = useCallback(
33
37
  (toValue: number, onComplete?: () => void) => {
@@ -56,11 +60,11 @@ export const MainLayout = ({
56
60
  }, [showUnderlinedKeys, animateFade])
57
61
 
58
62
  return (
59
- <View style={[styles.container, IS_MOBILE && { flex: 1 }]}>
63
+ <View style={styles.container}>
60
64
  <Layout {...props} onLayoutChange={setIsSecondaryLayoutSelected} />
61
65
  {isUnderlinedLayoutVisible && (
62
66
  <Animated.View style={{ opacity: fadeAnim }}>
63
- <UnderlinedLayout {...props} showSlashKey={!isBasicPlusPlusLayout(characterType)} />
67
+ <UnderlinedLayout {...props} />
64
68
  </Animated.View>
65
69
  )}
66
70
  </View>
@@ -69,6 +73,6 @@ export const MainLayout = ({
69
73
 
70
74
  const styles = StyleSheet.create({
71
75
  container: {
72
- flexDirection: 'row',
76
+ flex: 1,
73
77
  },
74
78
  })
@@ -4,14 +4,9 @@ import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
4
4
  import { Locale, useText } from '../../../../shared/translation'
5
5
  import { getKeyboardGroup } from '../../helpers'
6
6
 
7
- type UnderlinedLayoutProps = {
8
- showSlashKey?: boolean
9
- } & KeyboardLayoutProps
10
-
11
- export const UnderlinedLayout = (props: UnderlinedLayoutProps) => {
7
+ export const UnderlinedLayout = (props: KeyboardLayoutProps) => {
12
8
  const t = useText()
13
9
  const keysGroup = getKeyboardGroup(t('locale') as Locale, KeyboardType.Underlined)
14
- const keys = props.showSlashKey ? keysGroup.keys : keysGroup.keys.slice(0, -1)
15
10
 
16
- return <KeysList keys={keys} numOfRows={props.showSlashKey ? 2 : keys.length} {...props} />
11
+ return <KeysList keys={keysGroup.keys} numOfRows={keysGroup.keys.length} {...props} />
17
12
  }