@magmamath/students-features 1.3.26-rc.4 → 1.3.26-rc.6

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 (306) hide show
  1. package/dist/commonjs/features/fluency/assets/FlameIcon.js +30 -0
  2. package/dist/commonjs/features/fluency/assets/FlameIcon.js.map +1 -0
  3. package/dist/commonjs/features/fluency/assets/{SpringIcon.js → FlashIcon.js} +15 -14
  4. package/dist/commonjs/features/fluency/assets/FlashIcon.js.map +1 -0
  5. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js +231 -0
  6. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
  7. package/dist/commonjs/features/fluency/assets/StarFillIcon.js +5 -3
  8. package/dist/commonjs/features/fluency/assets/StarFillIcon.js.map +1 -1
  9. package/dist/commonjs/features/fluency/assets/TrophyBg.js +41 -0
  10. package/dist/commonjs/features/fluency/assets/TrophyBg.js.map +1 -0
  11. package/dist/commonjs/features/fluency/components/Fluency.js +2 -2
  12. package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
  13. package/dist/commonjs/features/fluency/components/FluencySolving.js +15 -10
  14. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
  15. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
  16. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  17. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +54 -14
  18. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  19. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
  20. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  21. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
  22. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
  23. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +4 -33
  24. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  25. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +13 -6
  26. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
  27. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +5 -3
  28. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  29. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +42 -14
  30. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
  31. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +4 -0
  32. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +56 -0
  33. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
  34. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +45 -29
  35. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  36. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +10 -4
  37. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  38. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
  39. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  40. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
  41. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  42. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +13 -5
  43. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  44. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +144 -130
  45. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
  46. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +40 -62
  47. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
  48. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
  49. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
  50. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +1 -0
  51. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
  52. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +36 -9
  53. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  54. package/dist/commonjs/features/fluency/fluency.constants.js +16 -6
  55. package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
  56. package/dist/commonjs/features/fluency/fluency.helpers.js +9 -8
  57. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
  58. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +1 -1
  59. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
  60. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +59 -73
  61. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
  62. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +57 -0
  63. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
  64. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js +26 -0
  65. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
  66. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +0 -1
  67. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  68. package/dist/commonjs/features/fluency/model/FluencyModel.js +31 -1
  69. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
  70. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +129 -46
  71. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
  72. package/dist/module/features/fluency/assets/FlameIcon.js +22 -0
  73. package/dist/module/features/fluency/assets/FlameIcon.js.map +1 -0
  74. package/dist/module/features/fluency/assets/FlashIcon.js +22 -0
  75. package/dist/module/features/fluency/assets/FlashIcon.js.map +1 -0
  76. package/dist/module/features/fluency/assets/SnurrisnurrBg.js +224 -0
  77. package/dist/module/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
  78. package/dist/module/features/fluency/assets/StarFillIcon.js +5 -3
  79. package/dist/module/features/fluency/assets/StarFillIcon.js.map +1 -1
  80. package/dist/module/features/fluency/assets/TrophyBg.js +33 -0
  81. package/dist/module/features/fluency/assets/TrophyBg.js.map +1 -0
  82. package/dist/module/features/fluency/components/Fluency.js +2 -2
  83. package/dist/module/features/fluency/components/Fluency.js.map +1 -1
  84. package/dist/module/features/fluency/components/FluencySolving.js +14 -10
  85. package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
  86. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
  87. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  88. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +53 -14
  89. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  90. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
  91. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  92. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
  93. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
  94. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +3 -31
  95. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  96. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +14 -7
  97. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
  98. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +5 -3
  99. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  100. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +38 -14
  101. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
  102. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
  103. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +50 -0
  104. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
  105. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +45 -30
  106. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  107. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +10 -4
  108. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  109. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
  110. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  111. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
  112. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  113. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +14 -6
  114. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  115. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +145 -132
  116. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
  117. package/dist/module/features/fluency/components/session-results/SessionStatCard.js +42 -64
  118. package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
  119. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
  120. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
  121. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +2 -1
  122. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
  123. package/dist/module/features/fluency/components/start-banner/StartBanner.js +38 -11
  124. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  125. package/dist/module/features/fluency/fluency.constants.js +15 -6
  126. package/dist/module/features/fluency/fluency.constants.js.map +1 -1
  127. package/dist/module/features/fluency/fluency.helpers.js +9 -8
  128. package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
  129. package/dist/module/features/fluency/hooks/useFluencyModePreset.js +1 -1
  130. package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
  131. package/dist/module/features/fluency/hooks/useFluencyNumpad.js +61 -74
  132. package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
  133. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +52 -0
  134. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
  135. package/dist/module/features/fluency/hooks/usePreventWebKeys.js +21 -0
  136. package/dist/module/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
  137. package/dist/module/features/fluency/model/FluencyMatrixModel.js +0 -1
  138. package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  139. package/dist/module/features/fluency/model/FluencyModel.js +32 -2
  140. package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
  141. package/dist/module/features/fluency/model/FluencySolvingModel.js +131 -48
  142. package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
  143. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts +4 -0
  144. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts.map +1 -0
  145. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts +4 -0
  146. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts.map +1 -0
  147. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
  148. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
  149. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts +5 -1
  150. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
  151. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts +3 -0
  152. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts.map +1 -0
  153. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +3 -2
  154. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
  155. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
  156. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  157. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +4 -2
  158. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  159. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  160. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
  161. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
  162. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  163. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
  164. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
  165. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
  166. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
  167. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
  168. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  169. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
  170. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
  171. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
  172. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  173. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  174. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
  175. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  176. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  177. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +3 -5
  178. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
  179. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
  180. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
  181. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  182. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +9 -0
  183. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
  184. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +2 -5
  185. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
  186. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +21 -12
  187. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
  188. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
  189. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
  190. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
  191. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
  192. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
  193. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
  194. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
  195. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
  196. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
  197. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  198. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +2 -1
  199. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
  200. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +18 -12
  201. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
  202. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts +4 -0
  203. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts.map +1 -0
  204. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts +4 -0
  205. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts.map +1 -0
  206. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
  207. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
  208. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts +5 -1
  209. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
  210. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts +3 -0
  211. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts.map +1 -0
  212. package/dist/typescript/module/features/fluency/components/Fluency.d.ts +3 -2
  213. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
  214. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
  215. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  216. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +4 -2
  217. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  218. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  219. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
  220. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
  221. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  222. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
  223. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
  224. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
  225. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
  226. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
  227. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  228. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
  229. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
  230. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
  231. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  232. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  233. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
  234. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  235. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  236. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +3 -5
  237. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
  238. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
  239. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
  240. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  241. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +9 -0
  242. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
  243. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +2 -5
  244. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
  245. package/dist/typescript/module/features/fluency/fluency.types.d.ts +21 -12
  246. package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
  247. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
  248. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
  249. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
  250. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
  251. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
  252. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
  253. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
  254. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
  255. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
  256. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  257. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +2 -1
  258. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
  259. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +18 -12
  260. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
  261. package/package.json +3 -1
  262. package/src/features/fluency/assets/FlameIcon.tsx +14 -0
  263. package/src/features/fluency/assets/FlashIcon.tsx +14 -0
  264. package/src/features/fluency/assets/SnurrisnurrBg.tsx +193 -0
  265. package/src/features/fluency/assets/StarFillIcon.tsx +7 -3
  266. package/src/features/fluency/assets/TrophyBg.tsx +32 -0
  267. package/src/features/fluency/components/Fluency.tsx +4 -3
  268. package/src/features/fluency/components/FluencySolving.tsx +15 -9
  269. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +6 -6
  270. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +51 -13
  271. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +12 -2
  272. package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +3 -3
  273. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +3 -36
  274. package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +13 -4
  275. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +8 -4
  276. package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +40 -16
  277. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +12 -1
  278. package/src/features/fluency/components/matrix/components/CellTooltip.tsx +46 -0
  279. package/src/features/fluency/components/matrix/components/MatrixCell.tsx +47 -28
  280. package/src/features/fluency/components/matrix/components/MatrixFill.tsx +16 -3
  281. package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +7 -2
  282. package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +1 -66
  283. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +25 -5
  284. package/src/features/fluency/components/session-results/FluencySessionResults.tsx +127 -147
  285. package/src/features/fluency/components/session-results/SessionStatCard.tsx +35 -77
  286. package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +15 -15
  287. package/src/features/fluency/components/start-banner/MathFlashcard.tsx +2 -1
  288. package/src/features/fluency/components/start-banner/StartBanner.tsx +38 -10
  289. package/src/features/fluency/fluency.constants.ts +15 -6
  290. package/src/features/fluency/fluency.helpers.ts +11 -10
  291. package/src/features/fluency/fluency.types.ts +28 -7
  292. package/src/features/fluency/hooks/useFluencyModePreset.ts +2 -3
  293. package/src/features/fluency/hooks/useFluencyNumpad.tsx +61 -80
  294. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +49 -0
  295. package/src/features/fluency/hooks/usePreventWebKeys.ts +24 -0
  296. package/src/features/fluency/model/FluencyMatrixModel.ts +1 -1
  297. package/src/features/fluency/model/FluencyModel.ts +35 -3
  298. package/src/features/fluency/model/FluencySolvingModel.ts +170 -57
  299. package/dist/commonjs/features/fluency/assets/SpringIcon.js.map +0 -1
  300. package/dist/module/features/fluency/assets/SpringIcon.js +0 -22
  301. package/dist/module/features/fluency/assets/SpringIcon.js.map +0 -1
  302. package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts +0 -3
  303. package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts.map +0 -1
  304. package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts +0 -3
  305. package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts.map +0 -1
  306. package/src/features/fluency/assets/SpringIcon.tsx +0 -17
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","HeadingVariants","SHADOWS","SPACING","Typography","useFluencyModePreset","XCloseIcon","jsx","_jsx","jsxs","_jsxs","FluencySolvingHeader","onClosePress","modePreset","OperatorIcon","icon","style","styles","container","children","variant","SECONDARY","size","LARGE","onPress","operatorBadge","backgroundColor","colors","accent","color","NEUTRAL_1","H4","title","label","create","height","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","width","borderRadius","justifyContent","NEUTRAL_10","fontWeight"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SACEC,aAAa,EACbC,MAAM,EACNC,UAAU,EACVC,aAAa,EACbC,MAAM,EACNC,eAAe,EACfC,OAAO,EACPC,OAAO,EACPC,UAAU,QACL,4BAA4B;AACnC,SAASC,oBAAoB,QAAQ,wCAAqC;AAC1E,SAASC,UAAU,QAAQ,2CAAwC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMnE,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACnF,MAAMC,UAAU,GAAGR,oBAAoB,CAAC,CAAC;EACzC,MAAMS,YAAY,GAAGD,UAAU,CAACE,IAAI;EAEpC,oBACEL,KAAA,CAAChB,IAAI;IAACsB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BX,IAAA,CAACX,MAAM;MACLuB,OAAO,EAAErB,aAAa,CAACsB,SAAU;MACjCC,IAAI,EAAExB,UAAU,CAACyB,KAAM;MACvBR,IAAI,eAAEP,IAAA,CAACF,UAAU,IAAE,CAAE;MACrBkB,OAAO,EAAEZ;IAAa,CACvB,CAAC,eACFJ,IAAA,CAACd,IAAI;MAACsB,KAAK,EAAE,CAACC,MAAM,CAACQ,aAAa,EAAE;QAAEC,eAAe,EAAEb,UAAU,CAACc,MAAM,CAACC;MAAO,CAAC,CAAE;MAAAT,QAAA,eACjFX,IAAA,CAACM,YAAY;QAACe,KAAK,EAAE7B,MAAM,CAAC8B,SAAU;QAACR,IAAI,EAAE;MAAG,CAAE;IAAC,CAC/C,CAAC,eACPd,IAAA,CAACJ,UAAU;MAACgB,OAAO,EAAEnB,eAAe,CAAC8B,EAAG;MAACf,KAAK,EAAEC,MAAM,CAACe,KAAM;MAAAb,QAAA,EAC1DN,UAAU,CAACoB;IAAK,CACP,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAED,MAAMhB,MAAM,GAAGtB,UAAU,CAACuC,MAAM,CAAC;EAC/BhB,SAAS,EAAE;IACTiB,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,eAAe,EAAEpC,OAAO,CAAC,GAAG,CAAC;IAC7BqC,iBAAiB,EAAErC,OAAO,CAAC,GAAG,CAAC;IAC/B,GAAGD,OAAO,CAAC,CAAC;EACd,CAAC;EACDuB,aAAa,EAAE;IACbgB,KAAK,EAAE,EAAE;IACTN,MAAM,EAAE,EAAE;IACVO,YAAY,EAAE9C,aAAa,CAAC,GAAG,CAAC;IAChCyC,UAAU,EAAE,QAAQ;IACpBM,cAAc,EAAE,QAAQ;IACxB,GAAGzC,OAAO,CAAC,CAAC;EACd,CAAC;EACD8B,KAAK,EAAE;IACLH,KAAK,EAAE7B,MAAM,CAAC4C,UAAU;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","Button","ButtonColor","ButtonSize","ButtonVariant","COLORS","HeadingVariants","SHADOWS","SPACING","Typography","useFluencySolvingPreset","XCloseIcon","jsx","_jsx","jsxs","_jsxs","FluencySolvingHeader","onClosePress","modePreset","style","styles","container","children","variant","SECONDARY","size","LARGE","colorScheme","WHITE","icon","onPress","operatorBadge","backgroundColor","colors","accent","H7","symbol","H4","title","label","create","height","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","width","borderRadius","justifyContent","color","NEUTRAL_10","fontWeight","fontSize","marginBottom","NEUTRAL_1"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SACEC,aAAa,EACbC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,aAAa,EACbC,MAAM,EACNC,eAAe,EACfC,OAAO,EACPC,OAAO,EACPC,UAAU,QACL,4BAA4B;AACnC,SAASC,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,UAAU,QAAQ,2CAAwC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMnE,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACnF,MAAMC,UAAU,GAAGR,uBAAuB,CAAC,CAAC;EAE5C,oBACEK,KAAA,CAACjB,IAAI;IAACqB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BT,IAAA,CAACZ,MAAM;MACLsB,OAAO,EAAEnB,aAAa,CAACoB,SAAU;MACjCC,IAAI,EAAEtB,UAAU,CAACuB,KAAM;MACvBC,WAAW,EAAEzB,WAAW,CAAC0B,KAAM;MAC/BC,IAAI,eAAEhB,IAAA,CAACF,UAAU,IAAE,CAAE;MACrBmB,OAAO,EAAEb;IAAa,CACvB,CAAC,eACFJ,IAAA,CAACf,IAAI;MAACqB,KAAK,EAAE,CAACC,MAAM,CAACW,aAAa,EAAE;QAAEC,eAAe,EAAEd,UAAU,CAACe,MAAM,CAACC;MAAO,CAAC,CAAE;MAAAZ,QAAA,eACjFT,IAAA,CAACJ,UAAU;QAACc,OAAO,EAAEjB,eAAe,CAAC6B,EAAG;QAAChB,KAAK,EAAEC,MAAM,CAACgB,MAAO;QAAAd,QAAA,EAC3DJ,UAAU,CAACkB;MAAM,CACR;IAAC,CACT,CAAC,eACPvB,IAAA,CAACJ,UAAU;MAACc,OAAO,EAAEjB,eAAe,CAAC+B,EAAG;MAAClB,KAAK,EAAEC,MAAM,CAACkB,KAAM;MAAAhB,QAAA,EAC1DJ,UAAU,CAACqB;IAAK,CACP,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAED,MAAMnB,MAAM,GAAGrB,UAAU,CAACyC,MAAM,CAAC;EAC/BnB,SAAS,EAAE;IACToB,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,eAAe,EAAErC,OAAO,CAAC,GAAG,CAAC;IAC7BsC,iBAAiB,EAAEtC,OAAO,CAAC,GAAG,CAAC;IAC/B,GAAGD,OAAO,CAAC,CAAC;EACd,CAAC;EACDwB,aAAa,EAAE;IACbgB,KAAK,EAAE,EAAE;IACTN,MAAM,EAAE,EAAE;IACVO,YAAY,EAAEhD,aAAa,CAAC,GAAG,CAAC;IAChC2C,UAAU,EAAE,QAAQ;IACpBM,cAAc,EAAE,QAAQ;IACxB,GAAG1C,OAAO,CAAC,CAAC;EACd,CAAC;EACD+B,KAAK,EAAE;IACLY,KAAK,EAAE7C,MAAM,CAAC8C,UAAU;IACxBC,UAAU,EAAE;EACd,CAAC;EACDhB,MAAM,EAAE;IACNiB,QAAQ,EAAE,EAAE;IACZD,UAAU,EAAE,KAAK;IACjBE,YAAY,EAAE,CAAC;IACfJ,KAAK,EAAE7C,MAAM,CAACkD;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import React from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
5
  import { COLORS, SPACING } from '@magmamath/react-native-ui';
6
+ import { AttemptStatus } from "../../../fluency.constants.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export const FluencySolvingProgress = ({
8
9
  total,
@@ -20,7 +21,7 @@ export const FluencySolvingProgress = ({
20
21
  if (index < activeIndex) {
21
22
  const outcome = outcomes[index];
22
23
  return /*#__PURE__*/_jsx(View, {
23
- style: outcome ? DOT_STYLE_BY_OUTCOME[outcome] : styles.dot
24
+ style: outcome ? DOT_STYLE_BY_OUTCOME[outcome.status] : styles.dot
24
25
  }, index);
25
26
  }
26
27
  return /*#__PURE__*/_jsx(View, {
@@ -63,7 +64,8 @@ const styles = StyleSheet.create({
63
64
  }
64
65
  });
65
66
  const DOT_STYLE_BY_OUTCOME = {
66
- correct: styles.dotCorrect,
67
- wrong: styles.dotWrong
67
+ [AttemptStatus.CORRECT]: styles.dotCorrect,
68
+ [AttemptStatus.INCORRECT]: styles.dotWrong,
69
+ [AttemptStatus.SKIPPED]: styles.dot
68
70
  };
69
71
  //# sourceMappingURL=FluencySolvingProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","COLORS","SPACING","jsx","_jsx","FluencySolvingProgress","total","activeIndex","outcomes","style","styles","container","children","Array","from","length","map","_","index","dotActive","outcome","DOT_STYLE_BY_OUTCOME","dot","create","flexDirection","gap","paddingHorizontal","paddingVertical","justifyContent","width","height","borderRadius","backgroundColor","NEUTRAL_4","NEUTRAL_10","dotCorrect","PRIMARY_GREEN","dotWrong","PRIMARY_RED","correct","wrong"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAS5D,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACrCC,KAAK;EACLC,WAAW;EACXC;AAC2B,CAAC,KAAK;EACjC,oBACEJ,IAAA,CAACL,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAET;IAAM,CAAC,CAAC,CAACU,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;MAC/C,IAAIA,KAAK,KAAKX,WAAW,EAAE,oBAAOH,IAAA,CAACL,IAAI;QAAaU,KAAK,EAAEC,MAAM,CAACS;MAAU,GAA/BD,KAAiC,CAAC;MAC/E,IAAIA,KAAK,GAAGX,WAAW,EAAE;QACvB,MAAMa,OAAO,GAAGZ,QAAQ,CAACU,KAAK,CAAC;QAC/B,oBAAOd,IAAA,CAACL,IAAI;UAAaU,KAAK,EAAEW,OAAO,GAAGC,oBAAoB,CAACD,OAAO,CAAC,GAAGV,MAAM,CAACY;QAAI,GAAnEJ,KAAqE,CAAC;MAC1F;MACA,oBAAOd,IAAA,CAACL,IAAI;QAAaU,KAAK,EAAEC,MAAM,CAACY;MAAI,GAAzBJ,KAA2B,CAAC;IAChD,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMR,MAAM,GAAGV,UAAU,CAACuB,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAEvB,OAAO,CAAC,GAAG,CAAC;IACjBwB,iBAAiB,EAAExB,OAAO,CAAC,GAAG,CAAC;IAC/ByB,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE;EAClB,CAAC;EACDN,GAAG,EAAE;IACHO,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE/B,MAAM,CAACgC;EAC1B,CAAC;EACDd,SAAS,EAAE;IACTU,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVE,eAAe,EAAE/B,MAAM,CAACiC,UAAU;IAClCH,YAAY,EAAE;EAChB,CAAC;EACDI,UAAU,EAAE;IACVN,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE/B,MAAM,CAACmC;EAC1B,CAAC;EACDC,QAAQ,EAAE;IACRR,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE/B,MAAM,CAACqC;EAC1B;AACF,CAAC,CAAC;AAEF,MAAMjB,oBAAqD,GAAG;EAC5DkB,OAAO,EAAE7B,MAAM,CAACyB,UAAU;EAC1BK,KAAK,EAAE9B,MAAM,CAAC2B;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","COLORS","SPACING","AttemptStatus","jsx","_jsx","FluencySolvingProgress","total","activeIndex","outcomes","style","styles","container","children","Array","from","length","map","_","index","dotActive","outcome","DOT_STYLE_BY_OUTCOME","status","dot","create","flexDirection","gap","paddingHorizontal","paddingVertical","justifyContent","width","height","borderRadius","backgroundColor","NEUTRAL_4","NEUTRAL_10","dotCorrect","PRIMARY_GREEN","dotWrong","PRIMARY_RED","CORRECT","INCORRECT","SKIPPED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC5D,SAASC,aAAa,QAAQ,+BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAS1D,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACrCC,KAAK;EACLC,WAAW;EACXC;AAC2B,CAAC,KAAK;EACjC,oBACEJ,IAAA,CAACN,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAET;IAAM,CAAC,CAAC,CAACU,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;MAC/C,IAAIA,KAAK,KAAKX,WAAW,EAAE,oBAAOH,IAAA,CAACN,IAAI;QAAaW,KAAK,EAAEC,MAAM,CAACS;MAAU,GAA/BD,KAAiC,CAAC;MAC/E,IAAIA,KAAK,GAAGX,WAAW,EAAE;QACvB,MAAMa,OAAO,GAAGZ,QAAQ,CAACU,KAAK,CAAC;QAC/B,oBACEd,IAAA,CAACN,IAAI;UAAaW,KAAK,EAAEW,OAAO,GAAGC,oBAAoB,CAACD,OAAO,CAACE,MAAM,CAAC,GAAGZ,MAAM,CAACa;QAAI,GAA1EL,KAA4E,CAAC;MAE5F;MACA,oBAAOd,IAAA,CAACN,IAAI;QAAaW,KAAK,EAAEC,MAAM,CAACa;MAAI,GAAzBL,KAA2B,CAAC;IAChD,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMR,MAAM,GAAGX,UAAU,CAACyB,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAEzB,OAAO,CAAC,GAAG,CAAC;IACjB0B,iBAAiB,EAAE1B,OAAO,CAAC,GAAG,CAAC;IAC/B2B,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE;EAClB,CAAC;EACDN,GAAG,EAAE;IACHO,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEjC,MAAM,CAACkC;EAC1B,CAAC;EACDf,SAAS,EAAE;IACTW,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVE,eAAe,EAAEjC,MAAM,CAACmC,UAAU;IAClCH,YAAY,EAAE;EAChB,CAAC;EACDI,UAAU,EAAE;IACVN,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEjC,MAAM,CAACqC;EAC1B,CAAC;EACDC,QAAQ,EAAE;IACRR,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEjC,MAAM,CAACuC;EAC1B;AACF,CAAC,CAAC;AAEF,MAAMlB,oBAAmD,GAAG;EAC1D,CAACnB,aAAa,CAACsC,OAAO,GAAG9B,MAAM,CAAC0B,UAAU;EAC1C,CAAClC,aAAa,CAACuC,SAAS,GAAG/B,MAAM,CAAC4B,QAAQ;EAC1C,CAACpC,aAAa,CAACwC,OAAO,GAAGhC,MAAM,CAACa;AAClC,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { AttemptStatus } from "../../fluency.constants.js";
3
4
  import { DEFAULT_PICKER_PARAMS, MODE_ANSWER_EVAL_FORMULA } from "./fluencySolving.constants.js";
4
5
  export function toSolvingFacts(factMap, mode) {
5
6
  return Object.entries(factMap).map(([id, fact]) => {
@@ -8,35 +9,58 @@ export function toSolvingFacts(factMap, mode) {
8
9
  const box = fact.box ?? 0;
9
10
  return {
10
11
  id,
12
+ mode,
11
13
  numbers: fact.numbers,
12
14
  answer,
13
15
  difficulty: fact.difficulty,
14
16
  box,
15
17
  lastSeenMs: fact.lastAttemptedAt ? new Date(fact.lastAttemptedAt).getTime() : null,
16
18
  sessionStartBox: box,
17
- hasFailedThisSession: false
19
+ hasFailedThisSession: false,
20
+ attemptsCount: fact.attemptsCount,
21
+ correctCount: fact.correctCount
18
22
  };
19
23
  });
20
24
  }
21
- function calculateAttentionScore(fact, now, params, maxDifficulty) {
22
- const interval = params.boxIntervals[fact.box] || params.boxIntervals[1];
23
- const overdueness = fact.lastSeenMs === null ? 1 : Math.max(0, (now - fact.lastSeenMs) / interval);
24
- const weakness = 1 - fact.box / params.numBoxes;
25
- const ease = maxDifficulty > 0 ? fact.difficulty / maxDifficulty : 0;
26
- const rand = Math.random();
27
- return params.wDue * overdueness + params.wWeak * weakness + params.wEase * (ease * weakness) + params.wRand * rand;
25
+ function computePriority(fact, now, params, maxDifficulty) {
26
+ const interval = Math.max(0.001, params.boxIntervals[Math.max(1, fact.box)]);
27
+ const overdueness = fact.lastSeenMs === null ? 1.0 : Math.min(1, (now - fact.lastSeenMs) / (2 * interval));
28
+ const weakness = (params.numBoxes - fact.box) / params.numBoxes;
29
+ const ease = (1 - fact.difficulty / Math.max(0.1, maxDifficulty)) * weakness;
30
+ return params.wDue * overdueness + params.wWeak * weakness + params.wEase * ease + params.wRand * Math.random();
28
31
  }
29
32
  export function selectNextFact(facts, now, params = DEFAULT_PICKER_PARAMS) {
30
33
  if (facts.length === 0) return null;
31
34
  const available = facts.filter(f => f.box < params.numBoxes);
32
35
  const pool = available.length > 0 ? available : facts;
33
- const maxDifficulty = Math.max(...pool.map(f => f.difficulty));
34
- const scored = pool.map(fact => ({
35
- fact,
36
- score: calculateAttentionScore(fact, now, params, maxDifficulty)
37
- }));
38
- return scored.reduce((best, curr) => curr.score > best.score ? curr : best).fact;
36
+ const maxDifficulty = pool.reduce((m, f) => Math.max(m, f.difficulty), 1);
37
+ let best = pool[0];
38
+ let bestScore = -Infinity;
39
+ for (const f of pool) {
40
+ const score = computePriority(f, now, params, maxDifficulty);
41
+ if (score > bestScore) {
42
+ bestScore = score;
43
+ best = f;
44
+ }
45
+ }
46
+ return best;
39
47
  }
48
+ export const formatSessionDuration = ms => {
49
+ const totalSeconds = Math.floor(ms / 1000);
50
+ const minutes = Math.floor(totalSeconds / 60);
51
+ const seconds = totalSeconds % 60;
52
+ return `${minutes}:${seconds.toString().padStart(2, '0')}`;
53
+ };
54
+ export const calculateMaxStreak = outcomes => outcomes.reduce((acc, outcome) => {
55
+ const current = outcome.status === AttemptStatus.CORRECT ? acc.current + 1 : 0;
56
+ return {
57
+ max: Math.max(acc.max, current),
58
+ current
59
+ };
60
+ }, {
61
+ max: 0,
62
+ current: 0
63
+ }).max;
40
64
  export function calculateNextBox({
41
65
  currentBox,
42
66
  isCorrect,
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_PICKER_PARAMS","MODE_ANSWER_EVAL_FORMULA","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","box","difficulty","lastSeenMs","lastAttemptedAt","Date","getTime","sessionStartBox","hasFailedThisSession","calculateAttentionScore","now","params","maxDifficulty","interval","boxIntervals","overdueness","Math","max","weakness","numBoxes","ease","rand","random","wDue","wWeak","wEase","wRand","selectNextFact","facts","length","available","filter","f","pool","scored","score","reduce","best","curr","calculateNextBox","currentBox","isCorrect","isFast","min"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AttemptStatus","DEFAULT_PICKER_PARAMS","MODE_ANSWER_EVAL_FORMULA","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","box","difficulty","lastSeenMs","lastAttemptedAt","Date","getTime","sessionStartBox","hasFailedThisSession","attemptsCount","correctCount","computePriority","now","params","maxDifficulty","interval","Math","max","boxIntervals","overdueness","min","weakness","numBoxes","ease","wDue","wWeak","wEase","wRand","random","selectNextFact","facts","length","available","filter","f","pool","reduce","m","best","bestScore","Infinity","score","formatSessionDuration","ms","totalSeconds","floor","minutes","seconds","toString","padStart","calculateMaxStreak","outcomes","acc","outcome","current","status","CORRECT","calculateNextBox","currentBox","isCorrect","isFast"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,4 @@
1
1
  "use strict";
2
+
3
+ export {};
2
4
  //# sourceMappingURL=fluencySolving.types.js.map
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
5
+ import { BORDER_RADIUS, COLORS, SHADOWS, SPACING } from '@magmamath/react-native-ui';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const CellTooltip = ({
8
+ label
9
+ }) => /*#__PURE__*/_jsxs(View, {
10
+ style: styles.container,
11
+ children: [/*#__PURE__*/_jsx(View, {
12
+ style: styles.bubble,
13
+ children: /*#__PURE__*/_jsx(Text, {
14
+ style: styles.label,
15
+ children: label
16
+ })
17
+ }), /*#__PURE__*/_jsx(View, {
18
+ style: styles.arrow
19
+ })]
20
+ });
21
+ const styles = StyleSheet.create({
22
+ container: {
23
+ alignItems: 'center'
24
+ },
25
+ bubble: {
26
+ backgroundColor: COLORS.NEUTRAL_1,
27
+ borderRadius: BORDER_RADIUS[150],
28
+ paddingHorizontal: SPACING[200],
29
+ paddingVertical: SPACING[100],
30
+ ...SHADOWS[4]
31
+ },
32
+ label: {
33
+ fontSize: 13,
34
+ lineHeight: 16,
35
+ color: COLORS.NEUTRAL_9,
36
+ textAlign: 'center'
37
+ },
38
+ arrow: {
39
+ width: 0,
40
+ height: 0,
41
+ borderLeftWidth: 9,
42
+ borderRightWidth: 9,
43
+ borderTopWidth: 12,
44
+ borderStyle: 'solid',
45
+ borderLeftColor: 'transparent',
46
+ borderRightColor: 'transparent',
47
+ borderTopColor: COLORS.NEUTRAL_1
48
+ }
49
+ });
50
+ //# sourceMappingURL=CellTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","jsx","_jsx","jsxs","_jsxs","CellTooltip","label","style","styles","container","children","bubble","arrow","create","alignItems","backgroundColor","NEUTRAL_1","borderRadius","paddingHorizontal","paddingVertical","fontSize","lineHeight","color","NEUTRAL_9","textAlign","width","height","borderLeftWidth","borderRightWidth","borderTopWidth","borderStyle","borderLeftColor","borderRightColor","borderTopColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/CellTooltip.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,aAAa,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMpF,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAwB,CAAC,kBACrDF,KAAA,CAACV,IAAI;EAACa,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5BR,IAAA,CAACR,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACG,MAAO;IAAAD,QAAA,eACzBR,IAAA,CAACP,IAAI;MAACY,KAAK,EAAEC,MAAM,CAACF,KAAM;MAAAI,QAAA,EAAEJ;IAAK,CAAO;EAAC,CACrC,CAAC,eACPJ,IAAA,CAACR,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACI;EAAM,CAAE,CAAC;AAAA,CACzB,CACP;AAED,MAAMJ,MAAM,GAAGZ,UAAU,CAACiB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,UAAU,EAAE;EACd,CAAC;EACDH,MAAM,EAAE;IACNI,eAAe,EAAEjB,MAAM,CAACkB,SAAS;IACjCC,YAAY,EAAEpB,aAAa,CAAC,GAAG,CAAC;IAChCqB,iBAAiB,EAAElB,OAAO,CAAC,GAAG,CAAC;IAC/BmB,eAAe,EAAEnB,OAAO,CAAC,GAAG,CAAC;IAC7B,GAAGD,OAAO,CAAC,CAAC;EACd,CAAC;EACDO,KAAK,EAAE;IACLc,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,KAAK,EAAExB,MAAM,CAACyB,SAAS;IACvBC,SAAS,EAAE;EACb,CAAC;EACDZ,KAAK,EAAE;IACLa,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,eAAe,EAAE,CAAC;IAClBC,gBAAgB,EAAE,CAAC;IACnBC,cAAc,EAAE,EAAE;IAClBC,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,aAAa;IAC9BC,gBAAgB,EAAE,aAAa;IAC/BC,cAAc,EAAEnC,MAAM,CAACkB;EACzB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
4
- import { View, Text, StyleSheet } from 'react-native';
3
+ import React, { useState } from 'react';
4
+ import { Pressable, View, Text, StyleSheet } from 'react-native';
5
5
  import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui';
6
6
  import { getMasteryLevelByBox } from "../../../fluency.helpers.js";
7
7
  import { FluencyMasteryLevel } from "../../../fluency.constants.js";
8
8
  import { StarFillIcon } from "../../../assets/StarFillIcon.js";
9
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
9
+ import { CellTooltip } from "./CellTooltip.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  export const MatrixCell = ({
11
12
  label,
12
13
  box,
13
14
  isHeader,
14
15
  levelColors,
15
- divisor
16
+ tooltipLabel
16
17
  }) => {
18
+ const [isActive, setIsActive] = useState(false);
17
19
  const masteryLevel = box ? getMasteryLevelByBox(box) : null;
18
20
  const isMastered = masteryLevel === FluencyMasteryLevel.MASTERED;
19
21
  const bgColor = (() => {
@@ -21,50 +23,63 @@ export const MatrixCell = ({
21
23
  if (isHeader) return COLORS.NEUTRAL_5;
22
24
  return COLORS.NEUTRAL_2;
23
25
  })();
26
+ const showTooltip = isActive && !!tooltipLabel;
27
+ const activate = () => setIsActive(true);
28
+ const deactivate = () => setIsActive(false);
24
29
  return /*#__PURE__*/_jsxs(View, {
25
- style: [styles.cell, {
26
- backgroundColor: bgColor
27
- }],
28
- children: [divisor !== null ? /*#__PURE__*/_jsx(View, {
29
- style: styles.starContainer,
30
- children: /*#__PURE__*/_jsxs(Text, {
31
- style: styles.divisorText,
32
- children: ["\xF7", divisor]
30
+ style: [styles.wrapper, showTooltip && styles.wrapperActive],
31
+ children: [showTooltip && /*#__PURE__*/_jsx(View, {
32
+ style: styles.tooltipContainer,
33
+ pointerEvents: "none",
34
+ children: /*#__PURE__*/_jsx(CellTooltip, {
35
+ label: tooltipLabel
33
36
  })
34
- }) : isMastered && /*#__PURE__*/_jsx(StarFillIcon, {}), label !== null && /*#__PURE__*/_jsx(Text, {
35
- style: divisor ? styles.cellNumber : styles.headerText,
36
- children: label
37
+ }), /*#__PURE__*/_jsxs(Pressable, {
38
+ style: [styles.cell, {
39
+ backgroundColor: bgColor
40
+ }],
41
+ onHoverIn: activate,
42
+ onHoverOut: deactivate,
43
+ onPressIn: activate,
44
+ onPressOut: deactivate,
45
+ children: [isMastered && /*#__PURE__*/_jsx(StarFillIcon, {
46
+ color: isActive ? COLORS.PRIMARY_YELLOW : undefined
47
+ }), label !== null && /*#__PURE__*/_jsx(Text, {
48
+ style: typeof label === 'string' ? styles.symbolText : styles.headerText,
49
+ children: label
50
+ })]
37
51
  })]
38
52
  });
39
53
  };
40
54
  const styles = StyleSheet.create({
55
+ wrapper: {
56
+ flex: 1
57
+ },
58
+ wrapperActive: {
59
+ zIndex: 1
60
+ },
41
61
  cell: {
42
62
  flex: 1,
43
63
  borderRadius: BORDER_RADIUS[100],
44
64
  alignItems: 'center',
45
65
  justifyContent: 'center'
46
66
  },
47
- starContainer: {
67
+ tooltipContainer: {
48
68
  position: 'absolute',
49
- top: 3,
50
- right: SPACING[100]
51
- },
52
- divisorText: {
53
- fontSize: 10,
54
- fontWeight: '500',
55
- color: COLORS.NEUTRAL_1,
56
- lineHeight: SPACING[300]
57
- },
58
- cellNumber: {
59
- fontSize: 14,
60
- fontWeight: '700',
61
- color: COLORS.NEUTRAL_3,
62
- lineHeight: SPACING[400]
69
+ bottom: '100%',
70
+ left: 0,
71
+ right: 0,
72
+ alignItems: 'center',
73
+ paddingBottom: SPACING[50]
63
74
  },
64
75
  headerText: {
65
76
  fontSize: 12,
66
77
  fontWeight: '600',
67
78
  color: COLORS.NEUTRAL_8
79
+ },
80
+ symbolText: {
81
+ fontSize: 24,
82
+ color: COLORS.NEUTRAL_7
68
83
  }
69
84
  });
70
85
  //# sourceMappingURL=MatrixCell.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SPACING","getMasteryLevelByBox","FluencyMasteryLevel","StarFillIcon","jsxs","_jsxs","jsx","_jsx","MatrixCell","label","box","isHeader","levelColors","divisor","masteryLevel","isMastered","MASTERED","bgColor","NEUTRAL_5","NEUTRAL_2","style","styles","cell","backgroundColor","children","starContainer","divisorText","cellNumber","headerText","create","flex","borderRadius","alignItems","justifyContent","position","top","right","fontSize","fontWeight","color","NEUTRAL_1","lineHeight","NEUTRAL_3","NEUTRAL_8"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixCell.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,aAAa,EAAEC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC3E,SAASC,oBAAoB,QAAQ,6BAA0B;AAC/D,SAASC,mBAAmB,QAAQ,+BAA4B;AAChE,SAASC,YAAY,QAAQ,iCAA8B;AAAA,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAO3D,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK;EAAEC,GAAG;EAAEC,QAAQ;EAAEC,WAAW;EAAEC;AAAyB,CAAC,KAAK;EAC7F,MAAMC,YAAY,GAAGJ,GAAG,GAAGT,oBAAoB,CAACS,GAAG,CAAC,GAAG,IAAI;EAC3D,MAAMK,UAAU,GAAGD,YAAY,KAAKZ,mBAAmB,CAACc,QAAQ;EAEhE,MAAMC,OAAO,GAAG,CAAC,MAAM;IACrB,IAAIH,YAAY,EAAE,OAAOF,WAAW,CAACE,YAAY,CAAC;IAClD,IAAIH,QAAQ,EAAE,OAAOZ,MAAM,CAACmB,SAAS;IACrC,OAAOnB,MAAM,CAACoB,SAAS;EACzB,CAAC,EAAE,CAAC;EAEJ,oBACEd,KAAA,CAACV,IAAI;IAACyB,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,eAAe,EAAEN;IAAQ,CAAC,CAAE;IAAAO,QAAA,GACtDX,OAAO,KAAK,IAAI,gBACfN,IAAA,CAACZ,IAAI;MAACyB,KAAK,EAAEC,MAAM,CAACI,aAAc;MAAAD,QAAA,eAChCnB,KAAA,CAACT,IAAI;QAACwB,KAAK,EAAEC,MAAM,CAACK,WAAY;QAAAF,QAAA,GAAC,MAAC,EAACX,OAAO;MAAA,CAAO;IAAC,CAC9C,CAAC,GAEPE,UAAU,iBAAIR,IAAA,CAACJ,YAAY,IAAE,CAC9B,EAEAM,KAAK,KAAK,IAAI,iBACbF,IAAA,CAACX,IAAI;MAACwB,KAAK,EAAEP,OAAO,GAAGQ,MAAM,CAACM,UAAU,GAAGN,MAAM,CAACO,UAAW;MAAAJ,QAAA,EAAEf;IAAK,CAAO,CAC5E;EAAA,CACG,CAAC;AAEX,CAAC;AAED,MAAMY,MAAM,GAAGxB,UAAU,CAACgC,MAAM,CAAC;EAC/BP,IAAI,EAAE;IACJQ,IAAI,EAAE,CAAC;IACPC,YAAY,EAAEjC,aAAa,CAAC,GAAG,CAAC;IAChCkC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDR,aAAa,EAAE;IACbS,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAEpC,OAAO,CAAC,GAAG;EACpB,CAAC;EACD0B,WAAW,EAAE;IACXW,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAExC,MAAM,CAACyC,SAAS;IACvBC,UAAU,EAAEzC,OAAO,CAAC,GAAG;EACzB,CAAC;EACD2B,UAAU,EAAE;IACVU,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAExC,MAAM,CAAC2C,SAAS;IACvBD,UAAU,EAAEzC,OAAO,CAAC,GAAG;EACzB,CAAC;EACD4B,UAAU,EAAE;IACVS,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAExC,MAAM,CAAC4C;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Pressable","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SPACING","getMasteryLevelByBox","FluencyMasteryLevel","StarFillIcon","CellTooltip","jsx","_jsx","jsxs","_jsxs","MatrixCell","label","box","isHeader","levelColors","tooltipLabel","isActive","setIsActive","masteryLevel","isMastered","MASTERED","bgColor","NEUTRAL_5","NEUTRAL_2","showTooltip","activate","deactivate","style","styles","wrapper","wrapperActive","children","tooltipContainer","pointerEvents","cell","backgroundColor","onHoverIn","onHoverOut","onPressIn","onPressOut","color","PRIMARY_YELLOW","undefined","symbolText","headerText","create","flex","zIndex","borderRadius","alignItems","justifyContent","position","bottom","left","right","paddingBottom","fontSize","fontWeight","NEUTRAL_8","NEUTRAL_7"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixCell.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,10 +19,16 @@ export const MatrixFill = () => {
19
19
  style: styles.grid,
20
20
  children: grid.map((row, rowIdx) => /*#__PURE__*/_jsx(View, {
21
21
  style: styles.row,
22
- children: row.map((cell, colIdx) => /*#__PURE__*/_jsx(MatrixCell, {
23
- ...cell,
24
- levelColors: modePreset.colors.level
25
- }, colIdx))
22
+ children: row.map((cell, colIdx) => {
23
+ const isOriginCell = rowIdx === 0 && colIdx === 0;
24
+ const tooltipLabel = cell.numbers ? `${cell.numbers[0]}${modePreset.symbol}${cell.numbers[1]}` : null;
25
+ return /*#__PURE__*/_jsx(MatrixCell, {
26
+ ...cell,
27
+ label: isOriginCell ? modePreset.symbol : cell.label,
28
+ levelColors: modePreset.colors.level,
29
+ tooltipLabel: tooltipLabel
30
+ }, colIdx);
31
+ })
26
32
  }, rowIdx))
27
33
  });
28
34
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","SPACING","useUnit","MatrixCell","useFluency","useFluencyModePreset","jsx","_jsx","MatrixFill","model","modePreset","grid","matrix","$matrix","style","styles","children","map","row","rowIdx","cell","colIdx","levelColors","colors","level","create","flex","gap","minHeight","flexDirection"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixFill.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,4BAA4B;AACpD,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,UAAU,QAAQ,oCAAiC;AAC5D,SAASC,oBAAoB,QAAQ,wCAAqC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE1E,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU,CAAC,CAAC;EAC9B,MAAMM,UAAU,GAAGL,oBAAoB,CAAC,CAAC;EACzC,MAAMM,IAAI,GAAGT,OAAO,CAACO,KAAK,CAACG,MAAM,CAACC,OAAO,CAAC;EAE1C,IAAI,CAACF,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACEJ,IAAA,CAACR,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACJ,IAAK;IAAAK,QAAA,EACtBL,IAAI,CAACM,GAAG,CAAC,CAACC,GAAG,EAAEC,MAAM,kBACpBZ,IAAA,CAACR,IAAI;MAAce,KAAK,EAAEC,MAAM,CAACG,GAAI;MAAAF,QAAA,EAClCE,GAAG,CAACD,GAAG,CAAC,CAACG,IAAI,EAAEC,MAAM,kBACpBd,IAAA,CAACJ,UAAU;QAAA,GAAkBiB,IAAI;QAAEE,WAAW,EAAEZ,UAAU,CAACa,MAAM,CAACC;MAAM,GAAvDH,MAAyD,CAC3E;IAAC,GAHOF,MAIL,CACP;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMJ,MAAM,GAAGf,UAAU,CAACyB,MAAM,CAAC;EAC/Bd,IAAI,EAAE;IACJe,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE1B,OAAO,CAAC,GAAG;EAClB,CAAC;EACDiB,GAAG,EAAE;IACHQ,IAAI,EAAE,CAAC;IACPE,SAAS,EAAE3B,OAAO,CAAC,GAAG,CAAC;IACvB4B,aAAa,EAAE,KAAK;IACpBF,GAAG,EAAE1B,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","SPACING","useUnit","MatrixCell","useFluency","useFluencyModePreset","jsx","_jsx","MatrixFill","model","modePreset","grid","matrix","$matrix","style","styles","children","map","row","rowIdx","cell","colIdx","isOriginCell","tooltipLabel","numbers","symbol","label","levelColors","colors","level","create","flex","gap","minHeight","flexDirection"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixFill.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,4BAA4B;AACpD,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,UAAU,QAAQ,oCAAiC;AAC5D,SAASC,oBAAoB,QAAQ,wCAAqC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE1E,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU,CAAC,CAAC;EAC9B,MAAMM,UAAU,GAAGL,oBAAoB,CAAC,CAAC;EACzC,MAAMM,IAAI,GAAGT,OAAO,CAACO,KAAK,CAACG,MAAM,CAACC,OAAO,CAAC;EAE1C,IAAI,CAACF,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACEJ,IAAA,CAACR,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACJ,IAAK;IAAAK,QAAA,EACtBL,IAAI,CAACM,GAAG,CAAC,CAACC,GAAG,EAAEC,MAAM,kBACpBZ,IAAA,CAACR,IAAI;MAAce,KAAK,EAAEC,MAAM,CAACG,GAAI;MAAAF,QAAA,EAClCE,GAAG,CAACD,GAAG,CAAC,CAACG,IAAI,EAAEC,MAAM,KAAK;QACzB,MAAMC,YAAY,GAAGH,MAAM,KAAK,CAAC,IAAIE,MAAM,KAAK,CAAC;QACjD,MAAME,YAAY,GAAGH,IAAI,CAACI,OAAO,GAC7B,GAAGJ,IAAI,CAACI,OAAO,CAAC,CAAC,CAAC,GAAGd,UAAU,CAACe,MAAM,GAAGL,IAAI,CAACI,OAAO,CAAC,CAAC,CAAC,EAAE,GAC1D,IAAI;QAER,oBACEjB,IAAA,CAACJ,UAAU;UAAA,GAELiB,IAAI;UACRM,KAAK,EAAEJ,YAAY,GAAGZ,UAAU,CAACe,MAAM,GAAGL,IAAI,CAACM,KAAM;UACrDC,WAAW,EAAEjB,UAAU,CAACkB,MAAM,CAACC,KAAM;UACrCN,YAAY,EAAEA;QAAa,GAJtBF,MAKN,CAAC;MAEN,CAAC;IAAC,GAhBOF,MAiBL,CACP;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMJ,MAAM,GAAGf,UAAU,CAAC8B,MAAM,CAAC;EAC/BnB,IAAI,EAAE;IACJoB,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE/B,OAAO,CAAC,GAAG;EAClB,CAAC;EACDiB,GAAG,EAAE;IACHa,IAAI,EAAE,CAAC;IACPE,SAAS,EAAEhC,OAAO,CAAC,GAAG,CAAC;IACvBiC,aAAa,EAAE,KAAK;IACpBF,GAAG,EAAE/B,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -6,13 +6,16 @@ import { BORDER_RADIUS, Button, ButtonSize, ButtonVariant, COLORS, PlayIcon, SHA
6
6
  import { useFluencyModePreset } from "../../../hooks/useFluencyModePreset.js";
7
7
  import { useFluency } from "../../../context/FluencyContext.js";
8
8
  import { useText } from "../../../../../i18n/i18n.js";
9
+ import { useUnit } from 'effector-react';
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  export const MatrixLegend = () => {
11
12
  const t = useText();
12
13
  const modePreset = useFluencyModePreset();
13
14
  const {
15
+ model,
14
16
  onPracticePress
15
17
  } = useFluency();
18
+ const mode = useUnit(model.matrix.$mode);
16
19
  return /*#__PURE__*/_jsxs(View, {
17
20
  style: styles.container,
18
21
  children: [/*#__PURE__*/_jsx(View, {
@@ -29,7 +32,10 @@ export const MatrixLegend = () => {
29
32
  })]
30
33
  }, item.label))
31
34
  }), /*#__PURE__*/_jsx(Button, {
32
- onPress: onPracticePress,
35
+ onPress: () => {
36
+ model.solving.start(mode);
37
+ onPracticePress?.();
38
+ },
33
39
  variant: ButtonVariant.PRIMARY,
34
40
  size: ButtonSize.MEDIUM,
35
41
  colorScheme: modePreset.colors.button,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","PlayIcon","SHADOWS","SPACING","useFluencyModePreset","useFluency","useText","jsx","_jsx","jsxs","_jsxs","MatrixLegend","t","modePreset","onPracticePress","style","styles","container","children","legendItems","legend","items","map","item","legendItem","legendDot","backgroundColor","color","withBorder","legendDotBorder","legendLabel","label","onPress","variant","PRIMARY","size","MEDIUM","colorScheme","colors","button","icon","NEUTRAL_1","raiseLevel","practiceButton","text","practiceButtonText","create","height","flexDirection","alignItems","justifyContent","NEUTRAL_2","borderBottomColor","NEUTRAL_5","paddingHorizontal","paddingVertical","borderTopLeftRadius","borderTopRightRadius","gap","width","borderRadius","borderWidth","borderColor","fontSize","NEUTRAL_7","alignSelf","textTransform"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixLegend.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","PlayIcon","SHADOWS","SPACING","useFluencyModePreset","useFluency","useText","useUnit","jsx","_jsx","jsxs","_jsxs","MatrixLegend","t","modePreset","model","onPracticePress","mode","matrix","$mode","style","styles","container","children","legendItems","legend","items","map","item","legendItem","legendDot","backgroundColor","color","withBorder","legendDotBorder","legendLabel","label","onPress","solving","start","variant","PRIMARY","size","MEDIUM","colorScheme","colors","button","icon","NEUTRAL_1","raiseLevel","practiceButton","text","practiceButtonText","create","height","flexDirection","alignItems","justifyContent","NEUTRAL_2","borderBottomColor","NEUTRAL_5","paddingHorizontal","paddingVertical","borderTopLeftRadius","borderTopRightRadius","gap","width","borderRadius","borderWidth","borderColor","fontSize","NEUTRAL_7","alignSelf","textTransform"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixLegend.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,56 +4,6 @@ import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import { BORDER_RADIUS, COLORS, HeadingVariants, SelectOptionColor, SPACING, Typography } from '@magmamath/react-native-ui';
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
- const PROGRESS_COLOR_SHADES = {
8
- [SelectOptionColor.GREEN]: {
9
- low: COLORS.GREEN_2,
10
- medium: COLORS.GREEN_3,
11
- high: COLORS.GREEN_6,
12
- max: COLORS.GREEN_7
13
- },
14
- [SelectOptionColor.ORANGE]: {
15
- low: COLORS.ORANGE_2,
16
- medium: COLORS.ORANGE_3,
17
- high: COLORS.ORANGE_6,
18
- max: COLORS.ORANGE_7
19
- },
20
- [SelectOptionColor.BLUE]: {
21
- low: COLORS.BLUE_2,
22
- medium: COLORS.BLUE_3,
23
- high: COLORS.BLUE_6,
24
- max: COLORS.BLUE_7
25
- },
26
- [SelectOptionColor.RED]: {
27
- low: COLORS.RED_2,
28
- medium: COLORS.RED_3,
29
- high: COLORS.RED_6,
30
- max: COLORS.RED_7
31
- },
32
- [SelectOptionColor.YELLOW]: {
33
- low: COLORS.YELLOW_2,
34
- medium: COLORS.YELLOW_3,
35
- high: COLORS.YELLOW_6,
36
- max: COLORS.YELLOW_7
37
- },
38
- [SelectOptionColor.PURPLE]: {
39
- low: COLORS.PURPLE_2,
40
- medium: COLORS.PURPLE_3,
41
- high: COLORS.PURPLE_6,
42
- max: COLORS.PURPLE_7
43
- },
44
- [SelectOptionColor.GREY]: {
45
- low: COLORS.NEUTRAL_2,
46
- medium: COLORS.NEUTRAL_3,
47
- high: COLORS.NEUTRAL_6,
48
- max: COLORS.NEUTRAL_7
49
- },
50
- [SelectOptionColor.SUNSET]: {
51
- low: COLORS.RED_2,
52
- medium: COLORS.RED_3,
53
- high: COLORS.RED_6,
54
- max: COLORS.RED_7
55
- }
56
- };
57
7
  const PRIMARY_COLOR_MAP = {
58
8
  [SelectOptionColor.GREEN]: COLORS.PRIMARY_GREEN,
59
9
  [SelectOptionColor.ORANGE]: COLORS.PRIMARY_ORANGE,
@@ -64,18 +14,12 @@ const PRIMARY_COLOR_MAP = {
64
14
  [SelectOptionColor.GREY]: COLORS.NEUTRAL_6,
65
15
  [SelectOptionColor.SUNSET]: COLORS.PRIMARY_RED
66
16
  };
67
- const getFillColor = (shades, progress) => {
68
- if (progress <= 10) return shades.low;
69
- if (progress <= 20) return shades.medium;
70
- if (progress <= 80) return shades.high;
71
- return shades.max;
72
- };
73
17
  export const ProgressBar = ({
74
18
  progress,
75
19
  color = SelectOptionColor.GREEN
76
20
  }) => {
77
21
  const normalized = Math.round(Math.min(100, Math.max(0, progress)));
78
- const fillColor = getFillColor(PROGRESS_COLOR_SHADES[color], normalized);
22
+ const fillColor = PRIMARY_COLOR_MAP[color];
79
23
  const textColor = PRIMARY_COLOR_MAP[color];
80
24
  return /*#__PURE__*/_jsxs(View, {
81
25
  style: styles.container,
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","HeadingVariants","SelectOptionColor","SPACING","Typography","jsx","_jsx","jsxs","_jsxs","PROGRESS_COLOR_SHADES","GREEN","low","GREEN_2","medium","GREEN_3","high","GREEN_6","max","GREEN_7","ORANGE","ORANGE_2","ORANGE_3","ORANGE_6","ORANGE_7","BLUE","BLUE_2","BLUE_3","BLUE_6","BLUE_7","RED","RED_2","RED_3","RED_6","RED_7","YELLOW","YELLOW_2","YELLOW_3","YELLOW_6","YELLOW_7","PURPLE","PURPLE_2","PURPLE_3","PURPLE_6","PURPLE_7","GREY","NEUTRAL_2","NEUTRAL_3","NEUTRAL_6","NEUTRAL_7","SUNSET","PRIMARY_COLOR_MAP","PRIMARY_GREEN","PRIMARY_ORANGE","PRIMARY_BLUE","PRIMARY_RED","PRIMARY_YELLOW","PRIMARY_PURPLE","getFillColor","shades","progress","ProgressBar","color","normalized","Math","round","min","fillColor","textColor","style","styles","container","children","track","fill","backgroundColor","width","variant","H10","create","flexDirection","marginTop","gap","alignItems","flex","height","borderRadius","overflow"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/ProgressBar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","HeadingVariants","SelectOptionColor","SPACING","Typography","jsx","_jsx","jsxs","_jsxs","PRIMARY_COLOR_MAP","GREEN","PRIMARY_GREEN","ORANGE","PRIMARY_ORANGE","BLUE","PRIMARY_BLUE","RED","PRIMARY_RED","YELLOW","PRIMARY_YELLOW","PURPLE","PRIMARY_PURPLE","GREY","NEUTRAL_6","SUNSET","ProgressBar","progress","color","normalized","Math","round","min","max","fillColor","textColor","style","styles","container","children","track","fill","backgroundColor","width","variant","H10","create","flexDirection","marginTop","gap","alignItems","flex","height","NEUTRAL_3","borderRadius","overflow"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/ProgressBar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,aAAa,EACbC,MAAM,EACNC,eAAe,EACfC,iBAAiB,EACjBC,OAAO,EACPC,UAAU,QACL,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnC,MAAMC,iBAAoD,GAAG;EAC3D,CAACP,iBAAiB,CAACQ,KAAK,GAAGV,MAAM,CAACW,aAAa;EAC/C,CAACT,iBAAiB,CAACU,MAAM,GAAGZ,MAAM,CAACa,cAAc;EACjD,CAACX,iBAAiB,CAACY,IAAI,GAAGd,MAAM,CAACe,YAAY;EAC7C,CAACb,iBAAiB,CAACc,GAAG,GAAGhB,MAAM,CAACiB,WAAW;EAC3C,CAACf,iBAAiB,CAACgB,MAAM,GAAGlB,MAAM,CAACmB,cAAc;EACjD,CAACjB,iBAAiB,CAACkB,MAAM,GAAGpB,MAAM,CAACqB,cAAc;EACjD,CAACnB,iBAAiB,CAACoB,IAAI,GAAGtB,MAAM,CAACuB,SAAS;EAC1C,CAACrB,iBAAiB,CAACsB,MAAM,GAAGxB,MAAM,CAACiB;AACrC,CAAC;AAOD,OAAO,MAAMQ,WAAW,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK,GAAGzB,iBAAiB,CAACQ;AAAwB,CAAC,KAAK;EAC9F,MAAMkB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAAC,GAAG,EAAEF,IAAI,CAACG,GAAG,CAAC,CAAC,EAAEN,QAAQ,CAAC,CAAC,CAAC;EACnE,MAAMO,SAAS,GAAGxB,iBAAiB,CAACkB,KAAK,CAAC;EAC1C,MAAMO,SAAS,GAAGzB,iBAAiB,CAACkB,KAAK,CAAC;EAC1C,oBACEnB,KAAA,CAACV,IAAI;IAACqC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BhC,IAAA,CAACR,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACG,KAAM;MAAAD,QAAA,eACxBhC,IAAA,CAACR,IAAI;QAACqC,KAAK,EAAE,CAACC,MAAM,CAACI,IAAI,EAAE;UAAEC,eAAe,EAAER,SAAS;UAAES,KAAK,EAAE,GAAGd,UAAU;QAAI,CAAC;MAAE,CAAE;IAAC,CACnF,CAAC,eACPpB,KAAA,CAACJ,UAAU;MAACuC,OAAO,EAAE1C,eAAe,CAAC2C,GAAI;MAACT,KAAK,EAAE;QAAER,KAAK,EAAEO;MAAU,CAAE;MAAAI,QAAA,GACnEV,UAAU,EAAC,GACd;IAAA,CAAY,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAED,MAAMQ,MAAM,GAAGvC,UAAU,CAACgD,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAE5C,OAAO,CAAC,GAAG,CAAC;IACvB6C,GAAG,EAAE7C,OAAO,CAAC,GAAG,CAAC;IACjB8C,UAAU,EAAE;EACd,CAAC;EACDV,KAAK,EAAE;IACLW,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,EAAE;IACVV,eAAe,EAAEzC,MAAM,CAACoD,SAAS;IACjCC,YAAY,EAAEtD,aAAa,CAAC,GAAG,CAAC;IAChCuD,QAAQ,EAAE;EACZ,CAAC;EACDd,IAAI,EAAE;IACJW,MAAM,EAAE,MAAM;IACdE,YAAY,EAAEtD,aAAa,CAAC,GAAG;EACjC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
- import { BORDER_RADIUS, COLORS, SHADOWS, SPACING } from '@magmamath/react-native-ui';
5
+ import { BORDER_RADIUS, COLORS, HeadingVariants, SHADOWS, SPACING, Typography } from '@magmamath/react-native-ui';
6
6
  import { useUnit } from 'effector-react';
7
7
  import { FLUENCY_MODES } from "../../fluency.constants.js";
8
8
  import { MathOperatorRow } from "./MathOperatorRow.js";
@@ -22,15 +22,17 @@ export const SelectMathOperator = () => {
22
22
  children: FLUENCY_MODES.map(({
23
23
  mode,
24
24
  label,
25
- icon: Icon,
25
+ symbol,
26
26
  select
27
27
  }, index) => {
28
28
  const isSelectedMode = mode === fluencyMode;
29
29
  const progress = (matrix?.operations[mode].completionRate ?? 0) * 100;
30
30
  return /*#__PURE__*/_jsx(MathOperatorRow, {
31
31
  title: t(label),
32
- icon: /*#__PURE__*/_jsx(Icon, {
33
- color: isSelectedMode ? COLORS.NEUTRAL_1 : undefined
32
+ icon: /*#__PURE__*/_jsx(Typography, {
33
+ variant: HeadingVariants.H6,
34
+ style: [styles.symbol, isSelectedMode && styles.symbolSelected],
35
+ children: symbol
34
36
  }),
35
37
  progress: progress,
36
38
  color: select,
@@ -48,11 +50,17 @@ const styles = StyleSheet.create({
48
50
  container: {
49
51
  alignSelf: 'flex-start',
50
52
  width: 270,
51
- paddingVertical: SPACING[400],
52
- paddingHorizontal: SPACING[200],
53
+ padding: SPACING[400],
53
54
  borderRadius: BORDER_RADIUS[400],
54
55
  backgroundColor: COLORS.NEUTRAL_1,
55
56
  ...SHADOWS[1]
57
+ },
58
+ symbol: {
59
+ fontSize: 32,
60
+ fontWeight: '100'
61
+ },
62
+ symbolSelected: {
63
+ color: COLORS.NEUTRAL_1
56
64
  }
57
65
  });
58
66
  //# sourceMappingURL=SelectMathOperator.js.map