@magmamath/students-features 0.9.5-rc.1 → 0.9.5

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 (266) hide show
  1. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +44 -0
  2. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -0
  3. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +10 -3
  4. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/EOAModal.js +2 -4
  6. package/dist/commonjs/features/endOfAssignment/components/EOAModal.js.map +1 -1
  7. package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js +5 -3
  8. package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
  9. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +2 -1
  10. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
  11. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -2
  12. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
  13. package/dist/commonjs/features/endOfAssignment/helpers.js +10 -3
  14. package/dist/commonjs/features/endOfAssignment/helpers.js.map +1 -1
  15. package/dist/commonjs/features/endOfAssignment/model/model.js +7 -0
  16. package/dist/commonjs/features/endOfAssignment/model/model.js.map +1 -1
  17. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -2
  18. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  19. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
  20. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  21. package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
  22. package/dist/commonjs/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
  23. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js +1 -5
  24. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  25. package/dist/commonjs/features/keyboard/components/Keyboard.js +4 -4
  26. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  27. package/dist/commonjs/features/keyboard/components/MainLayout.js +74 -0
  28. package/dist/commonjs/features/keyboard/components/MainLayout.js.map +1 -0
  29. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +24 -0
  30. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
  31. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +13 -0
  32. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
  33. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
  34. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  35. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +10 -3
  36. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  37. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +3 -21
  38. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  39. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
  40. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  41. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +1 -1
  42. package/dist/commonjs/features/keyboard/types/types.js +1 -0
  43. package/dist/commonjs/features/keyboard/types/types.js.map +1 -1
  44. package/dist/commonjs/lib/helpers/helpers.js +5 -28
  45. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  46. package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +34 -0
  47. package/dist/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
  48. package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +34 -0
  49. package/dist/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
  50. package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +34 -0
  51. package/dist/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
  52. package/dist/commonjs/shared/translation/constants.js +1 -3
  53. package/dist/commonjs/shared/translation/constants.js.map +1 -1
  54. package/dist/commonjs/shared/translation/localization/ca.json +5 -5
  55. package/dist/commonjs/shared/translation/localization/en.json +5 -5
  56. package/dist/commonjs/shared/translation/localization/gb.json +5 -5
  57. package/dist/commonjs/shared/translation/localization/sct.json +5 -5
  58. package/dist/commonjs/shared/translation/localization/sw.json +5 -5
  59. package/dist/commonjs/shared/translation/types.js +0 -1
  60. package/dist/commonjs/shared/translation/types.js.map +1 -1
  61. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +38 -0
  62. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -0
  63. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +10 -3
  64. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
  65. package/dist/module/features/endOfAssignment/components/EOAModal.js +2 -4
  66. package/dist/module/features/endOfAssignment/components/EOAModal.js.map +1 -1
  67. package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js +6 -4
  68. package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
  69. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +3 -2
  70. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
  71. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -2
  72. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
  73. package/dist/module/features/endOfAssignment/helpers.js +8 -2
  74. package/dist/module/features/endOfAssignment/helpers.js.map +1 -1
  75. package/dist/module/features/endOfAssignment/model/model.js +7 -0
  76. package/dist/module/features/endOfAssignment/model/model.js.map +1 -1
  77. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -2
  78. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  79. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +9 -2
  80. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  81. package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js +13 -3
  82. package/dist/module/features/keyboard/components/AlgebraLayout/helpers.js.map +1 -1
  83. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js +0 -4
  84. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  85. package/dist/module/features/keyboard/components/Keyboard.js +4 -4
  86. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  87. package/dist/module/features/keyboard/components/MainLayout.js +67 -0
  88. package/dist/module/features/keyboard/components/MainLayout.js.map +1 -0
  89. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +18 -0
  90. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -0
  91. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +9 -0
  92. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -0
  93. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +6 -2
  94. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  95. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +10 -3
  96. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  97. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +4 -22
  98. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  99. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +27 -0
  100. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  101. package/dist/module/features/keyboard/types/keyboardGroupIds.js +1 -1
  102. package/dist/module/features/keyboard/types/types.js +1 -0
  103. package/dist/module/features/keyboard/types/types.js.map +1 -1
  104. package/dist/module/lib/helpers/helpers.js +5 -28
  105. package/dist/module/lib/helpers/helpers.js.map +1 -1
  106. package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js +26 -0
  107. package/dist/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.js.map +1 -0
  108. package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js +26 -0
  109. package/dist/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.js.map +1 -0
  110. package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js +26 -0
  111. package/dist/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.js.map +1 -0
  112. package/dist/module/shared/translation/constants.js +1 -3
  113. package/dist/module/shared/translation/constants.js.map +1 -1
  114. package/dist/module/shared/translation/localization/ca.json +5 -5
  115. package/dist/module/shared/translation/localization/en.json +5 -5
  116. package/dist/module/shared/translation/localization/gb.json +5 -5
  117. package/dist/module/shared/translation/localization/sct.json +5 -5
  118. package/dist/module/shared/translation/localization/sw.json +5 -5
  119. package/dist/module/shared/translation/types.js +0 -1
  120. package/dist/module/shared/translation/types.js.map +1 -1
  121. package/dist/typescript/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts +10 -0
  122. package/dist/typescript/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts.map +1 -0
  123. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
  124. package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts +1 -3
  125. package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts.map +1 -1
  126. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +1 -1
  127. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
  128. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
  129. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts +3 -1
  131. package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts.map +1 -1
  132. package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts +5 -0
  133. package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts.map +1 -1
  134. package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts +2 -2
  135. package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts.map +1 -1
  136. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +3 -2
  137. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  138. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
  139. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
  141. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
  142. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
  143. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +1 -0
  145. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  146. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts +15 -0
  147. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +1 -0
  148. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
  149. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
  150. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
  151. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
  152. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
  153. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
  154. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
  155. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  156. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  157. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
  158. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  159. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  160. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +1 -1
  161. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  162. package/dist/typescript/commonjs/features/keyboard/types/types.d.ts +3 -1
  163. package/dist/typescript/commonjs/features/keyboard/types/types.d.ts.map +1 -1
  164. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  165. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
  166. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
  167. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
  168. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
  169. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
  170. package/dist/typescript/commonjs/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
  171. package/dist/typescript/commonjs/shared/translation/constants.d.ts +0 -42
  172. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  173. package/dist/typescript/commonjs/shared/translation/types.d.ts +1 -2
  174. package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
  175. package/dist/typescript/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts +10 -0
  176. package/dist/typescript/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.d.ts.map +1 -0
  177. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
  178. package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts +1 -3
  179. package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts.map +1 -1
  180. package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +1 -1
  181. package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
  182. package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
  183. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
  184. package/dist/typescript/module/features/endOfAssignment/helpers.d.ts +3 -1
  185. package/dist/typescript/module/features/endOfAssignment/helpers.d.ts.map +1 -1
  186. package/dist/typescript/module/features/endOfAssignment/model/model.d.ts +5 -0
  187. package/dist/typescript/module/features/endOfAssignment/model/model.d.ts.map +1 -1
  188. package/dist/typescript/module/features/endOfAssignment/types.d.ts +2 -2
  189. package/dist/typescript/module/features/endOfAssignment/types.d.ts.map +1 -1
  190. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +3 -2
  191. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  192. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts +1 -1
  193. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  194. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts +6 -1
  195. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/helpers.d.ts.map +1 -1
  196. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +0 -1
  197. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  198. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +1 -0
  199. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  200. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts +15 -0
  201. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +1 -0
  202. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +4 -0
  203. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -0
  204. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts +3 -0
  205. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -0
  206. package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts +1 -1
  207. package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
  208. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +2 -1
  209. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  210. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  211. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +2 -2
  212. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +18 -0
  213. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  214. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +1 -1
  215. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  216. package/dist/typescript/module/features/keyboard/types/types.d.ts +3 -1
  217. package/dist/typescript/module/features/keyboard/types/types.d.ts.map +1 -1
  218. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  219. package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts +4 -0
  220. package/dist/typescript/module/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.d.ts.map +1 -0
  221. package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts +4 -0
  222. package/dist/typescript/module/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.d.ts.map +1 -0
  223. package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts +4 -0
  224. package/dist/typescript/module/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.d.ts.map +1 -0
  225. package/dist/typescript/module/shared/translation/constants.d.ts +0 -42
  226. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  227. package/dist/typescript/module/shared/translation/types.d.ts +1 -2
  228. package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
  229. package/package.json +2 -2
  230. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +43 -0
  231. package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.tsx +20 -10
  232. package/src/features/endOfAssignment/components/EOAModal.tsx +2 -9
  233. package/src/features/endOfAssignment/components/ExamPaused/ExamPaused.tsx +6 -6
  234. package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmit.tsx +2 -2
  235. package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +17 -6
  236. package/src/features/endOfAssignment/helpers.ts +10 -3
  237. package/src/features/endOfAssignment/model/model.ts +5 -1
  238. package/src/features/endOfAssignment/types.ts +2 -1
  239. package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +4 -3
  240. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +2 -2
  241. package/src/features/keyboard/components/AlgebraLayout/helpers.tsx +19 -6
  242. package/src/features/keyboard/components/BasicLayout/keyboardGroups.ts +0 -4
  243. package/src/features/keyboard/components/Keyboard.tsx +4 -4
  244. package/src/features/keyboard/components/MainLayout.tsx +80 -0
  245. package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +12 -0
  246. package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +12 -0
  247. package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +2 -1
  248. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +10 -2
  249. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +2 -21
  250. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +21 -0
  251. package/src/features/keyboard/types/keyboardGroupIds.ts +1 -1
  252. package/src/features/keyboard/types/types.ts +2 -0
  253. package/src/lib/helpers/helpers.ts +8 -23
  254. package/src/shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon.tsx +17 -0
  255. package/src/shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon.tsx +20 -0
  256. package/src/shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon.tsx +20 -0
  257. package/src/shared/translation/constants.ts +0 -2
  258. package/src/shared/translation/localization/ca.json +5 -5
  259. package/src/shared/translation/localization/en.json +5 -5
  260. package/src/shared/translation/localization/gb.json +5 -5
  261. package/src/shared/translation/localization/sct.json +5 -5
  262. package/src/shared/translation/localization/sw.json +5 -5
  263. package/src/shared/translation/types.ts +0 -4
  264. package/dist/commonjs/shared/translation/localization/de.json +0 -42
  265. package/dist/module/shared/translation/localization/de.json +0 -42
  266. package/src/shared/translation/localization/de.json +0 -42
@@ -9,6 +9,7 @@ export class EOAModel {
9
9
  public readonly leavePressed = createEvent()
10
10
  public readonly goToFirstProblemPressed = createEvent()
11
11
  public readonly recommendationsUpdated = createEvent<boolean>()
12
+ public readonly popUpStatsUpdated = createEvent<Partial<EOAModalData['stats']>>()
12
13
  public readonly popUpTriggered = createEvent<EOAEventType>()
13
14
 
14
15
  public readonly $popUpData = createStore<EOAModalData | null>(null)
@@ -16,6 +17,9 @@ export class EOAModel {
16
17
  .on(this.recommendationsUpdated, (state, hasRecommendations) =>
17
18
  state ? { ...state, hasRecommendations } : state,
18
19
  )
20
+ .on(this.popUpStatsUpdated, (state, payload) =>
21
+ state ? { ...state, stats: { ...state.stats, ...payload } } : state,
22
+ )
19
23
  .reset(this.hidePopUp)
20
24
 
21
25
  public readonly $modalVariant = createStore<EOAModalVariant | null>(null)
@@ -33,7 +37,7 @@ export class EOAModel {
33
37
  }
34
38
 
35
39
  if (eventType === EOAEventType.EXAM_PAUSED) return EOAModalVariant.EXAM_PAUSED
36
-
40
+
37
41
  if (eventType === EOAEventType.CHEAT_DETECTED) {
38
42
  return EOAModalVariant.EXAM_SAFE_MODE_CHEAT_DETECTED
39
43
  }
@@ -34,11 +34,11 @@ export type EOAModalContentProps = {
34
34
  textContent: EOAModalText
35
35
  model: EOAModel
36
36
  onPracticePress?: () => void
37
- buttonColor?: ButtonColor
38
37
  }
39
38
 
40
39
  export type EOAModalData = {
41
40
  isExam: boolean
41
+ isAssessment: boolean
42
42
  newerAssignmentAvailable?: boolean
43
43
  examFinished?: boolean
44
44
  cheatDetection?: boolean
@@ -63,5 +63,6 @@ export type EOAModalText = {
63
63
  correctAnswersPlural?: string
64
64
  goodCalculations?: string
65
65
  goodCalculationsPlural?: string
66
+ score?: string
66
67
  }
67
68
  }
@@ -11,13 +11,14 @@ 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 }
17
18
  isPracticeButtonVisible: boolean
18
19
  onLeftButtonPress: () => void
19
20
  onRightButtonPress: () => void
20
- isExam: boolean
21
+ buttonColor?: ButtonColor
21
22
  }
22
23
 
23
24
  export const PracticeButtonGroup = ({
@@ -25,7 +26,7 @@ export const PracticeButtonGroup = ({
25
26
  isPracticeButtonVisible,
26
27
  onLeftButtonPress,
27
28
  onRightButtonPress,
28
- isExam,
29
+ buttonColor = ButtonColor.BLUE,
29
30
  }: PracticeButtonGroupProps) => {
30
31
  const buttonsContainerOpacity = useSharedValue(0)
31
32
 
@@ -45,7 +46,7 @@ export const PracticeButtonGroup = ({
45
46
  <Button
46
47
  variant={isPracticeButtonVisible ? ButtonVariant.TERTIARY : ButtonVariant.PRIMARY}
47
48
  size={ButtonSize.LARGE}
48
- colorScheme={isExam ? ButtonColor.PURPLE : ButtonColor.BLUE}
49
+ colorScheme={buttonColor}
49
50
  style={{ text: { textTransform: 'uppercase' } }}
50
51
  onPress={onLeftButtonPress}
51
52
  >
@@ -9,11 +9,11 @@ import { SelectedLayout } from './types'
9
9
  import { getKeyboardGroup } from '../../helpers'
10
10
  import { getSelectOptions } from './helpers'
11
11
 
12
- export const AlgebraLayout = (props: KeyboardLayoutProps) => {
12
+ export const AlgebraLayout = ({ onLayoutChange, ...props }: KeyboardLayoutProps) => {
13
13
  const [selectedLayout, setSelectedLayout] = useState<SelectedLayout>(SelectedLayout.BASIC)
14
14
  const t = useText()
15
15
  const { width } = useWindowDimensions()
16
- const selectOptions = getSelectOptions(selectedLayout, setSelectedLayout)
16
+ const selectOptions = getSelectOptions({ selectedLayout, setSelectedLayout, onLayoutChange })
17
17
  const isDesktop = width > MOBILE_LAYOUT_WIDTH && !IS_MOBILE
18
18
  const locale = t('locale') as Locale
19
19
 
@@ -10,10 +10,17 @@ type LayoutOption = {
10
10
  onPressIn: () => void
11
11
  }
12
12
 
13
- export function getSelectOptions(
14
- selectedLayout: SelectedLayout,
15
- setSelectedLayout: (layout: SelectedLayout) => void,
16
- ): LayoutOption[] {
13
+ type GetSelectOptionsProps = {
14
+ selectedLayout: SelectedLayout
15
+ setSelectedLayout: (layout: SelectedLayout) => void
16
+ onLayoutChange?: (isSecondaryLayout: boolean) => void
17
+ }
18
+
19
+ export function getSelectOptions({
20
+ selectedLayout,
21
+ setSelectedLayout,
22
+ onLayoutChange,
23
+ }: GetSelectOptionsProps): LayoutOption[] {
17
24
  return [
18
25
  {
19
26
  key: SelectedLayout.BASIC,
@@ -23,7 +30,10 @@ export function getSelectOptions(
23
30
  size={22}
24
31
  />
25
32
  ),
26
- onPressIn: () => setSelectedLayout(SelectedLayout.BASIC),
33
+ onPressIn: () => {
34
+ setSelectedLayout(SelectedLayout.BASIC)
35
+ onLayoutChange?.(false)
36
+ },
27
37
  },
28
38
  {
29
39
  key: SelectedLayout.ALGEBRA,
@@ -33,7 +43,10 @@ export function getSelectOptions(
33
43
  size={25}
34
44
  />
35
45
  ),
36
- onPressIn: () => setSelectedLayout(SelectedLayout.ALGEBRA),
46
+ onPressIn: () => {
47
+ setSelectedLayout(SelectedLayout.ALGEBRA)
48
+ onLayoutChange?.(true)
49
+ },
37
50
  },
38
51
  ]
39
52
  }
@@ -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
- }
@@ -1,7 +1,6 @@
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, SelectOptionColor, SHADOWS } from '@magmamath/react-native-ui'
4
- import { getLayoutByCharType } from '../constants/keyboardLayouts'
5
4
  import { KeyboardKey, KeyboardKeyValue } from '../types/types'
6
5
  import { Numpad } from './Numpad/Numpad'
7
6
  import { MOBILE_LAYOUT_WIDTH } from '../constants/constants'
@@ -11,6 +10,7 @@ import {
11
10
  slideInAnimationSettings,
12
11
  slideOutAnimationSettings,
13
12
  } from './constants'
13
+ import { MainLayout } from './MainLayout'
14
14
 
15
15
  type KeyboardProps = {
16
16
  onKeyPress: (key: KeyboardKeyValue) => void
@@ -19,15 +19,15 @@ type KeyboardProps = {
19
19
  color?: SelectOptionColor
20
20
  isVisible?: boolean
21
21
  isDisabled?: boolean
22
+ showUnderlinedKeys?: boolean
22
23
  disabledKeys?: KeyboardKey[]
23
24
  }
24
25
 
25
26
  export const Keyboard = ({ style, characterType, isVisible = true, ...props }: KeyboardProps) => {
26
27
  const slideAnim = useRef(new Animated.Value(isVisible ? 0 : KEYBOARD_SLIDE_DISTANCE)).current
28
+
27
29
  const { width } = useWindowDimensions()
28
30
  const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
29
-
30
- const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
31
31
  const mobileStyles = useMemo(
32
32
  () => getLayoutConfigStyles(characterType, isMobile),
33
33
  [characterType, isMobile],
@@ -57,7 +57,7 @@ export const Keyboard = ({ style, characterType, isVisible = true, ...props }: K
57
57
  },
58
58
  ]}
59
59
  >
60
- <Layout {...props} />
60
+ <MainLayout {...props} characterType={characterType} />
61
61
  <Numpad {...props} style={mobileStyles} />
62
62
  </Animated.View>
63
63
  )
@@ -0,0 +1,80 @@
1
+ import React, { useEffect, useMemo, useRef, useState, useCallback } from 'react'
2
+ import { Animated, StyleSheet, useWindowDimensions, View } from 'react-native'
3
+ import { SelectOptionColor, IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'
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'
8
+
9
+ type LayoutProps = {
10
+ onKeyPress: (key: KeyboardKeyValue) => void
11
+ characterType?: number
12
+ color?: SelectOptionColor
13
+ isVisible?: boolean
14
+ isDisabled?: boolean
15
+ showUnderlinedKeys?: boolean
16
+ disabledKeys?: KeyboardKey[]
17
+ }
18
+
19
+ export const MainLayout = ({
20
+ characterType,
21
+ showUnderlinedKeys = false,
22
+ ...props
23
+ }: LayoutProps) => {
24
+ const [isUnderlinedVisible, setIsUnderlinedVisible] = useState(showUnderlinedKeys)
25
+ const [isSecondaryLayoutSelected, setIsSecondaryLayoutSelected] = useState(false)
26
+
27
+ const fadeAnim = useRef(new Animated.Value(showUnderlinedKeys ? 1 : 0)).current
28
+ const fadeRef = useRef<Animated.CompositeAnimation | null>(null)
29
+
30
+ const { width } = useWindowDimensions()
31
+ const isMobile = width <= MOBILE_LAYOUT_WIDTH || IS_MOBILE
32
+
33
+ const Layout = useMemo(() => getLayoutByCharType(characterType), [characterType])
34
+ const isUnderlinedLayoutVisible = isUnderlinedVisible && !isSecondaryLayoutSelected && !isMobile
35
+
36
+ const animateFade = useCallback(
37
+ (toValue: number, onComplete?: () => void) => {
38
+ fadeRef.current?.stop()
39
+ fadeRef.current = Animated.timing(fadeAnim, {
40
+ toValue,
41
+ duration: 250,
42
+ useNativeDriver: !IS_WEB,
43
+ })
44
+ fadeRef.current.start(() => onComplete?.())
45
+ },
46
+ [fadeAnim],
47
+ )
48
+
49
+ useEffect(() => {
50
+ if (showUnderlinedKeys) {
51
+ setIsUnderlinedVisible(true)
52
+ animateFade(1)
53
+ return
54
+ }
55
+ animateFade(0, () => setIsUnderlinedVisible(false))
56
+
57
+ return () => {
58
+ fadeRef.current?.stop()
59
+ }
60
+ }, [showUnderlinedKeys, animateFade])
61
+
62
+ return (
63
+ <View style={styles.container}>
64
+ <Layout {...props} onLayoutChange={setIsSecondaryLayoutSelected} />
65
+ {isUnderlinedLayoutVisible && (
66
+ <Animated.View style={{ opacity: fadeAnim }}>
67
+ <UnderlinedLayout {...props} />
68
+ </Animated.View>
69
+ )}
70
+ </View>
71
+ )
72
+ }
73
+
74
+ const styles = StyleSheet.create({
75
+ container: {
76
+ flexDirection: 'row',
77
+ alignItems: 'flex-start',
78
+ justifyContent: 'space-between',
79
+ },
80
+ })
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+ import { KeysList } from '../KeysList/KeysList'
3
+ import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
4
+ import { Locale, useText } from '../../../../shared/translation'
5
+ import { getKeyboardGroup } from '../../helpers'
6
+
7
+ export const UnderlinedLayout = (props: KeyboardLayoutProps) => {
8
+ const t = useText()
9
+ const keysGroup = getKeyboardGroup(t('locale') as Locale, KeyboardType.Underlined)
10
+
11
+ return <KeysList keys={keysGroup.keys} numOfRows={keysGroup.keys.length} {...props} />
12
+ }
@@ -0,0 +1,12 @@
1
+ import { KeyboardGroup } from '../../types/types'
2
+ import { MathEntryKeyboardGroupId } from '../../types/keyboardGroupIds'
3
+ import { MATH_BASIC_OPERATORS } from '../../types/MathKeysGroups/basicOperators'
4
+
5
+ export const MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP: KeyboardGroup = {
6
+ id: MathEntryKeyboardGroupId.UNDERLINED,
7
+ keys: [
8
+ MATH_BASIC_OPERATORS.UNDERLINED_TEN,
9
+ MATH_BASIC_OPERATORS.UNDERLINED_ONE,
10
+ MATH_BASIC_OPERATORS.UNDERLINED_U,
11
+ ],
12
+ }
@@ -12,7 +12,7 @@ import { KeyboardUnitsGroupType, SelectedLayout } from './types'
12
12
  import { getSelectOptions } from './helpers'
13
13
  import { IS_MOBILE } from '@magmamath/react-native-ui'
14
14
 
15
- export const UnitsLayout = (props: KeyboardLayoutProps) => {
15
+ export const UnitsLayout = ({ onLayoutChange, ...props }: KeyboardLayoutProps) => {
16
16
  const { width } = useWindowDimensions()
17
17
  const t = useText()
18
18
  const locale = t('locale') as Locale
@@ -26,6 +26,7 @@ export const UnitsLayout = (props: KeyboardLayoutProps) => {
26
26
  activeTabKey: activeTab.key as KeyboardUnitsGroupType,
27
27
  selectedLayout,
28
28
  setSelectedLayout,
29
+ onLayoutChange,
29
30
  })
30
31
 
31
32
  return (
@@ -8,12 +8,14 @@ type UseLayoutSelectOptionsProps = {
8
8
  activeTabKey: KeyboardUnitsGroupType
9
9
  selectedLayout: SelectedLayout
10
10
  setSelectedLayout: (layout: SelectedLayout) => void
11
+ onLayoutChange?: (isSecondaryLayout: boolean) => void
11
12
  }
12
13
 
13
14
  export const getSelectOptions = ({
14
15
  activeTabKey,
15
16
  selectedLayout,
16
17
  setSelectedLayout,
18
+ onLayoutChange,
17
19
  }: UseLayoutSelectOptionsProps) => {
18
20
  {
19
21
  const SelectedIcon = UNITS_KEYBOARD_GROUPS.get(activeTabKey)?.icon || RulerIcon
@@ -27,7 +29,10 @@ export const getSelectOptions = ({
27
29
  size={22}
28
30
  />
29
31
  ),
30
- onPressIn: () => setSelectedLayout(SelectedLayout.ALGEBRA),
32
+ onPressIn: () => {
33
+ setSelectedLayout(SelectedLayout.ALGEBRA)
34
+ onLayoutChange?.(false)
35
+ },
31
36
  },
32
37
  {
33
38
  key: SelectedLayout.UNITS,
@@ -37,7 +42,10 @@ export const getSelectOptions = ({
37
42
  size={16}
38
43
  />
39
44
  ),
40
- onPressIn: () => setSelectedLayout(SelectedLayout.UNITS),
45
+ onPressIn: () => {
46
+ setSelectedLayout(SelectedLayout.UNITS)
47
+ onLayoutChange?.(true)
48
+ },
41
49
  },
42
50
  ]
43
51
  }
@@ -1,6 +1,5 @@
1
1
  import { KeyboardGroup, KeyboardType } from '../types/types'
2
2
  import {
3
- MATH_CURRENCY_DE_KEYBOARD_GROUP,
4
3
  MATH_CURRENCY_SW_KEYBOARD_GROUP,
5
4
  MATH_CURRENCY_UK_KEYBOARD_GROUP,
6
5
  MATH_CURRENCY_US_KEYBOARD_GROUP,
@@ -40,6 +39,7 @@ import {
40
39
  import { Locale } from '../../../shared/translation'
41
40
  import { MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP } from '../components/AlgebraLayout/keyboardGroups'
42
41
  import { KeyboardUnitsGroupType, UnitKeyboardGroups } from '../components/UnitsLayout/types'
42
+ import { MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP } from '../components/UnderlinedLayout/keyboardGroups'
43
43
 
44
44
  function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGroup>>) {
45
45
  const base: Record<KeyboardType, KeyboardGroup> = {
@@ -56,6 +56,7 @@ function createKeyboardLocale(overrides: Partial<Record<KeyboardType, KeyboardGr
56
56
  [KeyboardType.BasicTime]: MATH_TIME_US_KEYBOARD_GROUP,
57
57
  [KeyboardType.AlgebraAdvanced]: MATH_ENTRY_ALGEBRA_KEYBOARD_GROUP,
58
58
  [KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_US_KEYBOARD_GROUP,
59
+ [KeyboardType.Underlined]: MATH_ENTRY_UNDERLINED_KEYBOARD_GROUP,
59
60
  }
60
61
  return { ...base, ...overrides }
61
62
  }
@@ -97,20 +98,6 @@ export const KEYBOARD_GROUPS_BY_LOCALE: Record<Locale, Record<KeyboardType, Keyb
97
98
  [KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
98
99
  [KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
99
100
  }),
100
- [Locale.DE]: createKeyboardLocale({
101
- [KeyboardType.Basic]: MATH_ENTRY_BASIC_SW_KEYBOARD_GROUP,
102
- [KeyboardType.BasicPlus]: MATH_ENTRY_BASIC_SW_PLUS,
103
- [KeyboardType.BasicPlusMobile]: MATH_ENTRY_BASIC_PLUS_MOBILE_SW,
104
- [KeyboardType.BasicPlusPlus]: MATH_ENTRY_BASIC_PLUS_PLUS_SW,
105
- [KeyboardType.BasicPlusPlusMobile]: MATH_ENTRY_BASIC_PLUS_PLUS_MOBILE_SW,
106
- [KeyboardType.BasicUnits]: {
107
- ...MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS,
108
- keys: MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS.keys[0],
109
- },
110
- [KeyboardType.BasicCurrency]: MATH_CURRENCY_DE_KEYBOARD_GROUP,
111
- [KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
112
- [KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
113
- }),
114
101
  }
115
102
  export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
116
103
  Locale,
@@ -132,10 +119,4 @@ export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
132
119
  [KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
133
120
  [KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
134
121
  }),
135
- [Locale.DE]: createKeyboardUnitsLocale({
136
- [KeyboardUnitsGroupType.LENGTH]: MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS,
137
- [KeyboardUnitsGroupType.AREA]: MATH_ENTRY_AREA_UNITS_SW_KEYBOARD_GROUPS,
138
- [KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
139
- [KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
140
- }),
141
122
  }
@@ -42,6 +42,9 @@ import { EqualsIcon } from '../../../../shared/icons/keyboard/EqualsIcon/EqualsI
42
42
  import { AbsoluteValueIcon } from '../../../../shared/icons/keyboard/AbsoluteValueIcon/AbsoluteValueIcon'
43
43
  import { IntervalIcon } from '../../../../shared/icons/keyboard/IntervalIcon/IntervalIcon'
44
44
  import { createMathKeysGroup } from './helpers'
45
+ import { UnderlinedTenIcon } from '../../../../shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon'
46
+ import { UnderlinedOneIcon } from '../../../../shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon'
47
+ import { UnderlinedUIcon } from '../../../../shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon'
45
48
 
46
49
  export const MATH_BASIC_OPERATORS = createMathKeysGroup({
47
50
  ADDITION: {
@@ -266,4 +269,22 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
266
269
  mathliveValue: '$\\left[, \\right]$',
267
270
  katexValue: '[ , ]',
268
271
  },
272
+ UNDERLINED_TEN: {
273
+ icon: <UnderlinedTenIcon {...DEFAULT_KEY_ICON_PROPS} />,
274
+ mathliveValue: '\\underline{10}',
275
+ katexValue: '10̲',
276
+ spreadsheetValue: 'TEN',
277
+ },
278
+ UNDERLINED_ONE: {
279
+ icon: <UnderlinedOneIcon {...DEFAULT_KEY_ICON_PROPS} />,
280
+ mathliveValue: '\\underline{1}',
281
+ katexValue: '1̲',
282
+ spreadsheetValue: 'ONE_FOOT_NOTE',
283
+ },
284
+ UNDERLINED_U: {
285
+ icon: <UnderlinedUIcon {...DEFAULT_KEY_ICON_PROPS} />,
286
+ mathliveValue: '\\underline{u}',
287
+ katexValue: 'U̲',
288
+ spreadsheetValue: 'FRACTION',
289
+ },
269
290
  })
@@ -27,5 +27,5 @@ export enum MathEntryKeyboardGroupId {
27
27
  CURRENCY_SW = 'math-entry-currency-sw',
28
28
  CURRENCY_UK = 'math-entry-currency-uk',
29
29
  CURRENCY_US = 'math-entry-currency-us',
30
- CURRENCY_DE = 'math-entry-currency-de',
30
+ UNDERLINED = 'math-entry-underlined',
31
31
  }
@@ -13,6 +13,7 @@ export const enum KeyboardType {
13
13
  BasicPlusPlus = 'BasicPlusPlus',
14
14
  BasicPlusPlusMobile = 'BasicPlusPlusMobile',
15
15
  Numpad = 'Numpad',
16
+ Underlined = 'Underlined',
16
17
  }
17
18
 
18
19
  export type KeyboardKey = {
@@ -44,6 +45,7 @@ export type KeyboardGroup = {
44
45
 
45
46
  export type KeyboardLayoutProps = {
46
47
  onKeyPress: (key: KeyboardKeyValue) => void
48
+ onLayoutChange?: (isSecondaryLayout: boolean) => void
47
49
  color?: SelectOptionColor
48
50
  isDisabled?: boolean
49
51
  disabledKeys?: KeyboardKey[]
@@ -27,27 +27,12 @@ export const getRelativeTimeText = (date: Date) => {
27
27
  const years = getYears(days)
28
28
 
29
29
  if (seconds < 60) return getText('time.justNow')
30
-
31
- if (minutes < 60) {
32
- if (minutes === 1) return `1 ${getText('time.minuteAgo')}`
33
- return getText('time.minutesAgo', { count: minutes.toString() })
34
- }
35
-
36
- if (hours < 24) {
37
- if (hours === 1) return `1 ${getText('time.hourAgo')}`
38
- return getText('time.hoursAgo', { count: hours.toString() })
39
- }
40
-
41
- if (days < 30) {
42
- if (days === 1) return `1 ${getText('time.dayAgo')}`
43
- return getText('time.daysAgo', { count: days.toString() })
44
- }
45
-
46
- if (months < 12) {
47
- if (months === 1) return `1 ${getText('time.monthAgo')}`
48
- return getText('time.monthsAgo', { count: months.toString() })
49
- }
50
-
51
- if (years === 1) return `1 ${getText('time.yearAgo')}`
52
- return getText('time.yearsAgo', { count: years.toString() })
30
+ if (minutes < 60)
31
+ return `${minutes} ${minutes === 1 ? getText('time.minuteAgo') : getText('time.minutesAgo')}`
32
+ if (hours < 24)
33
+ return `${hours} ${hours === 1 ? getText('time.hourAgo') : getText('time.hoursAgo')}`
34
+ if (days < 30) return `${days} ${days === 1 ? getText('time.dayAgo') : getText('time.daysAgo')}`
35
+ if (months < 12)
36
+ return `${months} ${months === 1 ? getText('time.monthAgo') : getText('time.monthsAgo')}`
37
+ return `${years} ${years === 1 ? getText('time.yearAgo') : getText('time.yearsAgo')}`
53
38
  }
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import { IconProps } from '../../icon.types'
3
+ import Svg, { Path } from 'react-native-svg'
4
+
5
+ export const UnderlinedOneIcon = ({ size = 20, color }: IconProps) => {
6
+ return (
7
+ <Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
8
+ <Path d="M7.93176 12.1924V3.83738H6.46176V1.84238H10.0918V12.1924H7.93176Z" fill={color} />
9
+ <Path
10
+ d="M2.15088 15.1924H15.1509"
11
+ stroke={color}
12
+ stroke-width="1.2"
13
+ stroke-linecap="square"
14
+ />
15
+ </Svg>
16
+ )
17
+ }
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import { IconProps } from '../../icon.types'
3
+ import Svg, { Path } from 'react-native-svg'
4
+
5
+ export const UnderlinedTenIcon = ({ size = 20, color }: IconProps) => {
6
+ return (
7
+ <Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
8
+ <Path
9
+ d="M3.25158 12.1924V3.83738H1.78158V1.84238H5.41158V12.1924H3.25158ZM11.4998 1.69238C14.0348 1.69238 15.5198 3.52238 15.5198 6.80738V7.16738C15.5198 10.4524 14.0348 12.2824 11.4998 12.2824C8.96482 12.2824 7.47982 10.4524 7.47982 7.16738V6.80738C7.47982 3.52238 8.96482 1.69238 11.4998 1.69238ZM9.65482 7.16738C9.65482 9.38738 10.2698 10.3024 11.4998 10.3024C12.7298 10.3024 13.3448 9.38738 13.3448 7.16738V6.80738C13.3448 4.58738 12.7298 3.67238 11.4998 3.67238C10.2698 3.67238 9.65482 4.58738 9.65482 6.80738V7.16738Z"
10
+ fill={color}
11
+ />
12
+ <path
13
+ d="M2.15088 15.1924H15.1509"
14
+ stroke={color}
15
+ stroke-width="1.2"
16
+ stroke-linecap="square"
17
+ />
18
+ </Svg>
19
+ )
20
+ }
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import { IconProps } from '../../icon.types'
3
+ import Svg, { Path } from 'react-native-svg'
4
+
5
+ export const UnderlinedUIcon = ({ size = 20, color }: IconProps) => {
6
+ return (
7
+ <Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
8
+ <Path
9
+ d="M10.6573 1.69238H12.8473V8.42738C12.8473 10.7824 11.4523 12.4174 8.6473 12.4174C5.8273 12.4174 4.4473 10.7824 4.4473 8.42738V1.69238H6.6223V8.26238C6.6223 9.56738 7.4023 10.3474 8.6473 10.3474C9.8923 10.3474 10.6573 9.56738 10.6573 8.26238V1.69238Z"
10
+ fill={color}
11
+ />
12
+ <Path
13
+ d="M2.15088 15.1924H15.1509"
14
+ stroke={color}
15
+ stroke-width="1.2"
16
+ stroke-linecap="square"
17
+ />
18
+ </Svg>
19
+ )
20
+ }
@@ -4,7 +4,6 @@ import GB from './localization/gb.json'
4
4
  import SW from './localization/sw.json'
5
5
  import CA from './localization/ca.json'
6
6
  import SCT from './localization/sct.json'
7
- import DE from './localization/de.json'
8
7
 
9
8
  export const LOCALIZATION_CONFIGS = {
10
9
  [Locale.EN]: EN,
@@ -12,5 +11,4 @@ export const LOCALIZATION_CONFIGS = {
12
11
  [Locale.SW]: SW,
13
12
  [Locale.CA]: CA,
14
13
  [Locale.SCT]: SCT,
15
- [Locale.DE]: DE,
16
14
  }
@@ -3,15 +3,15 @@
3
3
  "teacherFeedback.noComments": "No comments yet",
4
4
  "time.justNow": "just now",
5
5
  "time.minuteAgo": "minute ago",
6
- "time.minutesAgo": "{{count}} minutes ago",
6
+ "time.minutesAgo": "minutes ago",
7
7
  "time.hourAgo": "hour ago",
8
- "time.hoursAgo": "{{count}} hours ago",
8
+ "time.hoursAgo": "hours ago",
9
9
  "time.dayAgo": "day ago",
10
- "time.daysAgo": "{{count}} days ago",
10
+ "time.daysAgo": "days ago",
11
11
  "time.monthAgo": "month ago",
12
- "time.monthsAgo": "{{count}} months ago",
12
+ "time.monthsAgo": "months ago",
13
13
  "time.yearAgo": "year ago",
14
- "time.yearsAgo": "{{count}} years ago",
14
+ "time.yearsAgo": "years ago",
15
15
  "chat": {
16
16
  "anotherHint": "Give me another hint",
17
17
  "giveHint": "I need a hint",
@@ -3,15 +3,15 @@
3
3
  "teacherFeedback.noComments": "No comments yet",
4
4
  "time.justNow": "just now",
5
5
  "time.minuteAgo": "minute ago",
6
- "time.minutesAgo": "{{count}} minutes ago",
6
+ "time.minutesAgo": "minutes ago",
7
7
  "time.hourAgo": "hour ago",
8
- "time.hoursAgo": "{{count}} hours ago",
8
+ "time.hoursAgo": "hours ago",
9
9
  "time.dayAgo": "day ago",
10
- "time.daysAgo": "{{count}} days ago",
10
+ "time.daysAgo": "days ago",
11
11
  "time.monthAgo": "month ago",
12
- "time.monthsAgo": "{{count}} months ago",
12
+ "time.monthsAgo": "months ago",
13
13
  "time.yearAgo": "year ago",
14
- "time.yearsAgo": "{{count}} years ago",
14
+ "time.yearsAgo": "years ago",
15
15
  "chat": {
16
16
  "anotherHint": "Give me another hint",
17
17
  "giveHint": "I need a hint",
@@ -3,15 +3,15 @@
3
3
  "teacherFeedback.noComments": "No comments yet",
4
4
  "time.justNow": "just now",
5
5
  "time.minuteAgo": "minute ago",
6
- "time.minutesAgo": "{{count}} minutes ago",
6
+ "time.minutesAgo": "minutes ago",
7
7
  "time.hourAgo": "hour ago",
8
- "time.hoursAgo": "{{count}} hours ago",
8
+ "time.hoursAgo": "hours ago",
9
9
  "time.dayAgo": "day ago",
10
- "time.daysAgo": "{{count}} days ago",
10
+ "time.daysAgo": "days ago",
11
11
  "time.monthAgo": "month ago",
12
- "time.monthsAgo": "{{count}} months ago",
12
+ "time.monthsAgo": "months ago",
13
13
  "time.yearAgo": "year ago",
14
- "time.yearsAgo": "{{count}} years ago",
14
+ "time.yearsAgo": "years ago",
15
15
  "chat": {
16
16
  "anotherHint": "Give me another hint",
17
17
  "giveHint": "I need a hint",