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

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 (336) hide show
  1. package/dist/commonjs/features/fluency/components/Fluency.js +15 -32
  2. package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
  3. package/dist/commonjs/features/fluency/components/FluencySolving.js +29 -9
  4. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
  5. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +17 -18
  6. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  7. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +26 -24
  8. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  9. package/dist/commonjs/features/fluency/components/fluency-solving/{EquationContent.js → components/EquationContent.js} +5 -5
  10. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
  11. package/dist/commonjs/features/fluency/components/fluency-solving/{FluencyEquationCard.js → components/FluencyEquationCard.js} +16 -8
  12. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
  13. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +62 -0
  14. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
  15. package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingCard.js → components/FluencySolvingCard.js} +40 -22
  16. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
  17. package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingHeader.js → components/FluencySolvingHeader.js} +6 -8
  18. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
  19. package/dist/commonjs/features/fluency/components/fluency-solving/{FluencySolvingProgress.js → components/FluencySolvingProgress.js} +32 -4
  20. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
  21. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js +29 -0
  22. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
  23. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +58 -0
  24. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
  25. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
  26. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
  27. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +2 -2
  28. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
  29. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +41 -12
  30. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  31. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +16 -26
  32. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  33. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +4 -8
  34. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  35. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js +38 -0
  36. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
  37. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +6 -3
  38. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  39. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +178 -0
  40. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
  41. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +99 -0
  42. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
  43. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js +113 -0
  44. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
  45. package/dist/commonjs/features/fluency/fluency.constants.js +14 -6
  46. package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
  47. package/dist/commonjs/features/fluency/fluency.helpers.js +53 -25
  48. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
  49. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +16 -7
  50. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
  51. package/dist/commonjs/features/fluency/{components/fluency-solving/FluencyNumpad.js → hooks/useFluencyNumpad.js} +58 -82
  52. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
  53. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js +0 -2
  54. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js.map +1 -1
  55. package/dist/commonjs/features/fluency/model/FluencyApiModel.js +6 -1
  56. package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +1 -1
  57. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +8 -1
  58. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
  59. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +16 -1
  60. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  61. package/dist/commonjs/features/fluency/model/FluencyModel.js +12 -28
  62. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
  63. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +57 -5
  64. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
  65. package/dist/commonjs/lib/constants.js +1 -0
  66. package/dist/commonjs/lib/constants.js.map +1 -1
  67. package/dist/module/features/fluency/components/Fluency.js +17 -34
  68. package/dist/module/features/fluency/components/Fluency.js.map +1 -1
  69. package/dist/module/features/fluency/components/FluencySolving.js +29 -9
  70. package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
  71. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +17 -18
  72. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  73. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +26 -24
  74. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  75. package/dist/module/features/fluency/components/fluency-solving/{EquationContent.js → components/EquationContent.js} +5 -5
  76. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
  77. package/dist/module/features/fluency/components/fluency-solving/{FluencyEquationCard.js → components/FluencyEquationCard.js} +16 -8
  78. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
  79. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +56 -0
  80. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
  81. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +84 -0
  82. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
  83. package/dist/module/features/fluency/components/fluency-solving/{FluencySolvingHeader.js → components/FluencySolvingHeader.js} +6 -8
  84. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
  85. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +69 -0
  86. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
  87. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js +25 -0
  88. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
  89. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +52 -0
  90. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
  91. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
  92. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
  93. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +2 -2
  94. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
  95. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +44 -15
  96. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  97. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +16 -26
  98. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  99. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +4 -8
  100. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  101. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js +32 -0
  102. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
  103. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +6 -3
  104. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  105. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +172 -0
  106. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
  107. package/dist/module/features/fluency/components/session-results/SessionStatCard.js +93 -0
  108. package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
  109. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js +107 -0
  110. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
  111. package/dist/module/features/fluency/fluency.constants.js +13 -5
  112. package/dist/module/features/fluency/fluency.constants.js.map +1 -1
  113. package/dist/module/features/fluency/fluency.helpers.js +51 -21
  114. package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
  115. package/dist/module/features/fluency/hooks/useFluencyModePreset.js +16 -7
  116. package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
  117. package/dist/module/features/fluency/{components/fluency-solving/FluencyNumpad.js → hooks/useFluencyNumpad.js} +58 -82
  118. package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
  119. package/dist/module/features/fluency/hooks/useSuccessSound.js +0 -1
  120. package/dist/module/features/fluency/hooks/useSuccessSound.js.map +1 -1
  121. package/dist/module/features/fluency/model/FluencyApiModel.js +6 -1
  122. package/dist/module/features/fluency/model/FluencyApiModel.js.map +1 -1
  123. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +8 -1
  124. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
  125. package/dist/module/features/fluency/model/FluencyMatrixModel.js +16 -1
  126. package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  127. package/dist/module/features/fluency/model/FluencyModel.js +13 -29
  128. package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
  129. package/dist/module/features/fluency/model/FluencySolvingModel.js +58 -6
  130. package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
  131. package/dist/module/lib/constants.js +1 -0
  132. package/dist/module/lib/constants.js.map +1 -1
  133. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +2 -1
  134. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
  135. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts +2 -1
  136. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
  137. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +5 -3
  138. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  139. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
  141. package/dist/typescript/{module/features/fluency/components/fluency-solving → commonjs/features/fluency/components/fluency-solving/components}/FluencyEquationCard.d.ts +1 -1
  142. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
  143. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
  144. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
  145. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
  146. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +10 -0
  147. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
  148. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
  149. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
  150. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +15 -0
  151. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
  152. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +20 -0
  153. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
  154. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
  155. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +5 -7
  156. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  157. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -1
  158. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  159. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
  160. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
  161. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  162. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +11 -0
  163. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
  164. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +9 -0
  165. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
  166. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
  167. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
  168. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +12 -5
  169. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
  170. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +3 -5
  171. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
  172. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +58 -8
  173. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
  174. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +22 -3
  175. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
  176. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
  177. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
  178. package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts.map +1 -1
  179. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +6 -3
  180. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
  181. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
  182. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +9 -0
  184. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  185. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +3 -15
  186. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
  187. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +20 -7
  188. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
  189. package/dist/typescript/commonjs/lib/constants.d.ts +2 -1
  190. package/dist/typescript/commonjs/lib/constants.d.ts.map +1 -1
  191. package/dist/typescript/module/features/fluency/components/Fluency.d.ts +2 -1
  192. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
  193. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts +2 -1
  194. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
  195. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +5 -3
  196. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  197. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  198. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
  199. package/dist/typescript/{commonjs/features/fluency/components/fluency-solving → module/features/fluency/components/fluency-solving/components}/FluencyEquationCard.d.ts +1 -1
  200. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
  201. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
  202. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
  203. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
  204. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +10 -0
  205. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
  206. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
  207. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
  208. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +15 -0
  209. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
  210. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +20 -0
  211. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
  212. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
  213. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +5 -7
  214. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  215. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -1
  216. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  217. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
  218. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
  219. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  220. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +11 -0
  221. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
  222. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +9 -0
  223. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
  224. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
  225. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
  226. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +12 -5
  227. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
  228. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +3 -5
  229. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
  230. package/dist/typescript/module/features/fluency/fluency.types.d.ts +58 -8
  231. package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
  232. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +22 -3
  233. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
  234. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
  235. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
  236. package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts.map +1 -1
  237. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +6 -3
  238. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
  239. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
  240. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
  241. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +9 -0
  242. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  243. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +3 -15
  244. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
  245. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +20 -7
  246. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
  247. package/dist/typescript/module/lib/constants.d.ts +2 -1
  248. package/dist/typescript/module/lib/constants.d.ts.map +1 -1
  249. package/package.json +1 -1
  250. package/src/features/fluency/components/Fluency.tsx +17 -41
  251. package/src/features/fluency/components/FluencySolving.tsx +30 -5
  252. package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +24 -20
  253. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +41 -28
  254. package/src/features/fluency/components/fluency-solving/{EquationContent.tsx → components/EquationContent.tsx} +5 -5
  255. package/src/features/fluency/components/fluency-solving/{FluencyEquationCard.tsx → components/FluencyEquationCard.tsx} +12 -6
  256. package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +54 -0
  257. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +84 -0
  258. package/src/features/fluency/components/fluency-solving/{FluencySolvingHeader.tsx → components/FluencySolvingHeader.tsx} +6 -8
  259. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +68 -0
  260. package/src/features/fluency/components/fluency-solving/fluencySolving.constants.ts +25 -0
  261. package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +78 -0
  262. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +21 -0
  263. package/src/features/fluency/components/matrix/FluencyMatrix.tsx +3 -2
  264. package/src/features/fluency/components/matrix/components/MatrixCell.tsx +46 -23
  265. package/src/features/fluency/components/matrix/components/MatrixFill.tsx +14 -24
  266. package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +4 -4
  267. package/src/features/fluency/components/mobile-menu/MobileMenu.tsx +29 -0
  268. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +7 -3
  269. package/src/features/fluency/components/session-results/FluencySessionResults.tsx +204 -0
  270. package/src/features/fluency/components/session-results/SessionStatCard.tsx +100 -0
  271. package/src/features/fluency/components/session-results/SkillProgressionRow.tsx +100 -0
  272. package/src/features/fluency/fluency.constants.ts +13 -5
  273. package/src/features/fluency/fluency.helpers.ts +46 -27
  274. package/src/features/fluency/fluency.types.ts +70 -8
  275. package/src/features/fluency/hooks/useFluencyModePreset.ts +30 -20
  276. package/src/features/fluency/{components/fluency-solving/FluencyNumpad.tsx → hooks/useFluencyNumpad.tsx} +68 -94
  277. package/src/features/fluency/hooks/useSuccessSound.ts +0 -1
  278. package/src/features/fluency/model/FluencyApiModel.ts +18 -2
  279. package/src/features/fluency/model/FluencyDaysStreakModel.ts +11 -1
  280. package/src/features/fluency/model/FluencyMatrixModel.ts +20 -1
  281. package/src/features/fluency/model/FluencyModel.ts +15 -30
  282. package/src/features/fluency/model/FluencySolvingModel.ts +70 -8
  283. package/src/lib/constants.ts +3 -2
  284. package/src/types/types.d.ts +5 -0
  285. package/dist/commonjs/features/fluency/components/fluency-solving/EquationContent.js.map +0 -1
  286. package/dist/commonjs/features/fluency/components/fluency-solving/FluencyEquationCard.js.map +0 -1
  287. package/dist/commonjs/features/fluency/components/fluency-solving/FluencyNumpad.js.map +0 -1
  288. package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingCard.js.map +0 -1
  289. package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingHeader.js.map +0 -1
  290. package/dist/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.js.map +0 -1
  291. package/dist/commonjs/features/fluency/model/FluencyInputModel.js +0 -20
  292. package/dist/commonjs/features/fluency/model/FluencyInputModel.js.map +0 -1
  293. package/dist/module/features/fluency/components/fluency-solving/EquationContent.js.map +0 -1
  294. package/dist/module/features/fluency/components/fluency-solving/FluencyEquationCard.js.map +0 -1
  295. package/dist/module/features/fluency/components/fluency-solving/FluencyNumpad.js.map +0 -1
  296. package/dist/module/features/fluency/components/fluency-solving/FluencySolvingCard.js +0 -66
  297. package/dist/module/features/fluency/components/fluency-solving/FluencySolvingCard.js.map +0 -1
  298. package/dist/module/features/fluency/components/fluency-solving/FluencySolvingHeader.js.map +0 -1
  299. package/dist/module/features/fluency/components/fluency-solving/FluencySolvingProgress.js +0 -41
  300. package/dist/module/features/fluency/components/fluency-solving/FluencySolvingProgress.js.map +0 -1
  301. package/dist/module/features/fluency/model/FluencyInputModel.js +0 -15
  302. package/dist/module/features/fluency/model/FluencyInputModel.js.map +0 -1
  303. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
  304. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
  305. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/EquationContent.d.ts.map +0 -1
  306. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencyEquationCard.d.ts.map +0 -1
  307. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencyNumpad.d.ts.map +0 -1
  308. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingCard.d.ts.map +0 -1
  309. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingHeader.d.ts.map +0 -1
  310. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts +0 -8
  311. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts.map +0 -1
  312. package/dist/typescript/commonjs/features/fluency/model/FluencyInputModel.d.ts +0 -11
  313. package/dist/typescript/commonjs/features/fluency/model/FluencyInputModel.d.ts.map +0 -1
  314. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
  315. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
  316. package/dist/typescript/module/features/fluency/components/fluency-solving/EquationContent.d.ts.map +0 -1
  317. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencyEquationCard.d.ts.map +0 -1
  318. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencyNumpad.d.ts.map +0 -1
  319. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingCard.d.ts.map +0 -1
  320. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingHeader.d.ts.map +0 -1
  321. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts +0 -8
  322. package/dist/typescript/module/features/fluency/components/fluency-solving/FluencySolvingProgress.d.ts.map +0 -1
  323. package/dist/typescript/module/features/fluency/model/FluencyInputModel.d.ts +0 -11
  324. package/dist/typescript/module/features/fluency/model/FluencyInputModel.d.ts.map +0 -1
  325. package/src/features/fluency/__tests__/FluencyModel.test.ts +0 -28
  326. package/src/features/fluency/components/fluency-solving/FluencySolvingCard.tsx +0 -59
  327. package/src/features/fluency/components/fluency-solving/FluencySolvingProgress.tsx +0 -40
  328. package/src/features/fluency/model/FluencyInputModel.ts +0 -17
  329. /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{EquationContent.d.ts → components/EquationContent.d.ts} +0 -0
  330. /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencyNumpad.d.ts → components/FluencyNumpad.d.ts} +0 -0
  331. /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencySolvingCard.d.ts → components/FluencySolvingCard.d.ts} +0 -0
  332. /package/dist/typescript/commonjs/features/fluency/components/fluency-solving/{FluencySolvingHeader.d.ts → components/FluencySolvingHeader.d.ts} +0 -0
  333. /package/dist/typescript/module/features/fluency/components/fluency-solving/{EquationContent.d.ts → components/EquationContent.d.ts} +0 -0
  334. /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencyNumpad.d.ts → components/FluencyNumpad.d.ts} +0 -0
  335. /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencySolvingCard.d.ts → components/FluencySolvingCard.d.ts} +0 -0
  336. /package/dist/typescript/module/features/fluency/components/fluency-solving/{FluencySolvingHeader.d.ts → components/FluencySolvingHeader.d.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MobileMenu = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _MenuIcon = require("../../../../shared/icons/MenuIcon.js");
11
+ var _commonConstants = require("../../../../shared/common.constants.js");
12
+ var _studentsFeatures = require("@magmamath/students-features");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ const MobileMenu = ({
16
+ onPress
17
+ }) => {
18
+ const dimensions = (0, _reactNative.useWindowDimensions)();
19
+ const isVisible = _commonConstants.isWeb && dimensions.width <= _studentsFeatures.BURGER_MENU_BREAKPOINT;
20
+ if (!isVisible) return null;
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
22
+ style: styles.container,
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
24
+ onPress: onPress,
25
+ variant: _reactNativeUi.ButtonVariant.TERTIARY,
26
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuIcon.MenuIcon, {
27
+ size: 24
28
+ })
29
+ })
30
+ });
31
+ };
32
+ exports.MobileMenu = MobileMenu;
33
+ const styles = _reactNative.StyleSheet.create({
34
+ container: {
35
+ marginRight: _reactNativeUi.SPACING[200]
36
+ }
37
+ });
38
+ //# sourceMappingURL=MobileMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_MenuIcon","_commonConstants","_studentsFeatures","_jsxRuntime","e","__esModule","default","MobileMenu","onPress","dimensions","useWindowDimensions","isVisible","isWeb","width","BURGER_MENU_BREAKPOINT","jsx","View","style","styles","container","children","Button","variant","ButtonVariant","TERTIARY","icon","MenuIcon","size","exports","StyleSheet","create","marginRight","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/mobile-menu/MobileMenu.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAAqE,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM9D,MAAMG,UAAU,GAAGA,CAAC;EAAEC;AAAyB,CAAC,KAAK;EAC1D,MAAMC,UAAU,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,sBAAK,IAAIH,UAAU,CAACI,KAAK,IAAIC,wCAAsB;EAErE,IAAI,CAACH,SAAS,EAAE,OAAO,IAAI;EAE3B,oBACE,IAAAR,WAAA,CAAAY,GAAA,EAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B,IAAAjB,WAAA,CAAAY,GAAA,EAAChB,cAAA,CAAAsB,MAAM;MAACb,OAAO,EAAEA,OAAQ;MAACc,OAAO,EAAEC,4BAAa,CAACC,QAAS;MAACC,IAAI,eAAE,IAAAtB,WAAA,CAAAY,GAAA,EAACf,SAAA,CAAA0B,QAAQ;QAACC,IAAI,EAAE;MAAG,CAAE;IAAE,CAAE;EAAC,CACvF,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAArB,UAAA,GAAAA,UAAA;AAED,MAAMW,MAAM,GAAGW,uBAAU,CAACC,MAAM,CAAC;EAC/BX,SAAS,EAAE;IACTY,WAAW,EAAEC,sBAAO,CAAC,GAAG;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -20,7 +20,8 @@ const SelectMathOperator = () => {
20
20
  model,
21
21
  onModeSelectPress
22
22
  } = (0, _FluencyContext.useFluency)();
23
- const fluencyMode = (0, _effectorReact.useUnit)(model.$mode);
23
+ const fluencyMode = (0, _effectorReact.useUnit)(model.matrix.$mode);
24
+ const matrix = (0, _effectorReact.useUnit)(model.matrix.$data);
24
25
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
25
26
  style: styles.container,
26
27
  children: _fluencyConstants.FLUENCY_MODES.map(({
@@ -30,16 +31,17 @@ const SelectMathOperator = () => {
30
31
  select
31
32
  }, index) => {
32
33
  const isSelectedMode = mode === fluencyMode;
34
+ const progress = (matrix?.operations[mode].completionRate ?? 0) * 100;
33
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MathOperatorRow.MathOperatorRow, {
34
36
  title: t(label),
35
37
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
36
38
  color: isSelectedMode ? _reactNativeUi.COLORS.NEUTRAL_1 : undefined
37
39
  }),
38
- progress: 0,
40
+ progress: progress,
39
41
  color: select,
40
42
  selected: isSelectedMode,
41
43
  onSelect: () => {
42
- model.setMode(mode);
44
+ model.matrix.setMode(mode);
43
45
  onModeSelectPress?.(mode);
44
46
  },
45
47
  showDivider: index < _fluencyConstants.FLUENCY_MODES.length - 1
@@ -50,6 +52,7 @@ const SelectMathOperator = () => {
50
52
  exports.SelectMathOperator = SelectMathOperator;
51
53
  const styles = _reactNative.StyleSheet.create({
52
54
  container: {
55
+ alignSelf: 'flex-start',
53
56
  width: 270,
54
57
  paddingVertical: _reactNativeUi.SPACING[400],
55
58
  paddingHorizontal: _reactNativeUi.SPACING[200],
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_fluencyConstants","_MathOperatorRow","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","SelectMathOperator","t","useText","model","onModeSelectPress","useFluency","fluencyMode","useUnit","$mode","jsx","View","style","styles","container","children","FLUENCY_MODES","map","mode","label","icon","Icon","select","index","isSelectedMode","MathOperatorRow","title","color","COLORS","NEUTRAL_1","undefined","progress","selected","onSelect","setMode","showDivider","length","exports","StyleSheet","create","width","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","backgroundColor","SHADOWS"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/SelectMathOperator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAA+C,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC,KAAK;IAAEC;EAAkB,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EACjD,MAAMC,WAAW,GAAG,IAAAC,sBAAO,EAACJ,KAAK,CAACK,KAAK,CAAC;EAExC,oBACE,IAAAZ,WAAA,CAAAa,GAAA,EAACpB,YAAA,CAAAqB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,+BAAa,CAACC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAK;MAAEC,IAAI,EAAEC,IAAI;MAAEC;IAAO,CAAC,EAAEC,KAAK,KAAK;MACjE,MAAMC,cAAc,GAAGN,IAAI,KAAKX,WAAW;MAC3C,oBACE,IAAAV,WAAA,CAAAa,GAAA,EAAChB,gBAAA,CAAA+B,eAAe;QAEdC,KAAK,EAAExB,CAAC,CAACiB,KAAK,CAAE;QAChBC,IAAI,eAAE,IAAAvB,WAAA,CAAAa,GAAA,EAACW,IAAI;UAACM,KAAK,EAAEH,cAAc,GAAGI,qBAAM,CAACC,SAAS,GAAGC;QAAU,CAAE,CAAE;QACrEC,QAAQ,EAAE,CAAE;QACZJ,KAAK,EAAEL,MAAO;QACdU,QAAQ,EAAER,cAAe;QACzBS,QAAQ,EAAEA,CAAA,KAAM;UACd7B,KAAK,CAAC8B,OAAO,CAAChB,IAAI,CAAC;UACnBb,iBAAiB,GAAGa,IAAI,CAAC;QAC3B,CAAE;QACFiB,WAAW,EAAEZ,KAAK,GAAGP,+BAAa,CAACoB,MAAM,GAAG;MAAE,GAVzClB,IAWN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAmB,OAAA,CAAApC,kBAAA,GAAAA,kBAAA;AAED,MAAMY,MAAM,GAAGyB,uBAAU,CAACC,MAAM,CAAC;EAC/BzB,SAAS,EAAE;IACT0B,KAAK,EAAE,GAAG;IACVC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,eAAe,EAAElB,qBAAM,CAACC,SAAS;IACjC,GAAGkB,sBAAO,CAAC,CAAC;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_fluencyConstants","_MathOperatorRow","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","SelectMathOperator","t","useText","model","onModeSelectPress","useFluency","fluencyMode","useUnit","matrix","$mode","$data","jsx","View","style","styles","container","children","FLUENCY_MODES","map","mode","label","icon","Icon","select","index","isSelectedMode","progress","operations","completionRate","MathOperatorRow","title","color","COLORS","NEUTRAL_1","undefined","selected","onSelect","setMode","showDivider","length","exports","StyleSheet","create","alignSelf","width","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","backgroundColor","SHADOWS"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/SelectMathOperator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAA+C,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC,KAAK;IAAEC;EAAkB,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EACjD,MAAMC,WAAW,GAAG,IAAAC,sBAAO,EAACJ,KAAK,CAACK,MAAM,CAACC,KAAK,CAAC;EAC/C,MAAMD,MAAM,GAAG,IAAAD,sBAAO,EAACJ,KAAK,CAACK,MAAM,CAACE,KAAK,CAAC;EAE1C,oBACE,IAAAd,WAAA,CAAAe,GAAA,EAACtB,YAAA,CAAAuB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,+BAAa,CAACC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAK;MAAEC,IAAI,EAAEC,IAAI;MAAEC;IAAO,CAAC,EAAEC,KAAK,KAAK;MACjE,MAAMC,cAAc,GAAGN,IAAI,KAAKb,WAAW;MAC3C,MAAMoB,QAAQ,GAAG,CAAClB,MAAM,EAAEmB,UAAU,CAACR,IAAI,CAAC,CAACS,cAAc,IAAI,CAAC,IAAI,GAAG;MAErE,oBACE,IAAAhC,WAAA,CAAAe,GAAA,EAAClB,gBAAA,CAAAoC,eAAe;QAEdC,KAAK,EAAE7B,CAAC,CAACmB,KAAK,CAAE;QAChBC,IAAI,eAAE,IAAAzB,WAAA,CAAAe,GAAA,EAACW,IAAI;UAACS,KAAK,EAAEN,cAAc,GAAGO,qBAAM,CAACC,SAAS,GAAGC;QAAU,CAAE,CAAE;QACrER,QAAQ,EAAEA,QAAS;QACnBK,KAAK,EAAER,MAAO;QACdY,QAAQ,EAAEV,cAAe;QACzBW,QAAQ,EAAEA,CAAA,KAAM;UACdjC,KAAK,CAACK,MAAM,CAAC6B,OAAO,CAAClB,IAAI,CAAC;UAC1Bf,iBAAiB,GAAGe,IAAI,CAAC;QAC3B,CAAE;QACFmB,WAAW,EAAEd,KAAK,GAAGP,+BAAa,CAACsB,MAAM,GAAG;MAAE,GAVzCpB,IAWN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAqB,OAAA,CAAAxC,kBAAA,GAAAA,kBAAA;AAED,MAAMc,MAAM,GAAG2B,uBAAU,CAACC,MAAM,CAAC;EAC/B3B,SAAS,EAAE;IACT4B,SAAS,EAAE,YAAY;IACvBC,KAAK,EAAE,GAAG;IACVC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,eAAe,EAAElB,qBAAM,CAACC,SAAS;IACjC,GAAGkB,sBAAO,CAAC,CAAC;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FluencySessionResults = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _fluencySolvingConstants = require("../fluency-solving/fluencySolving.constants.js");
11
+ var _fluencyConstants = require("../../fluency.constants.js");
12
+ var _SessionStatCard = require("./SessionStatCard.js");
13
+ var _SkillProgressionRow = require("./SkillProgressionRow.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const STATIC_OPERATION_ROWS = [{
17
+ symbol: '−',
18
+ symbolColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
19
+ symbolBackground: _reactNativeUi.COLORS.BLUE_1,
20
+ operationName: 'Subtraction',
21
+ levelLabel: 'Strong ↑',
22
+ levelColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
23
+ progressRate: 0.6,
24
+ progressColor: _reactNativeUi.COLORS.PRIMARY_BLUE
25
+ }, {
26
+ symbol: '×',
27
+ symbolColor: _reactNativeUi.COLORS.PRIMARY_ORANGE,
28
+ symbolBackground: _reactNativeUi.COLORS.ORANGE_1,
29
+ operationName: 'Multiplication',
30
+ levelLabel: 'Growing ↑',
31
+ levelColor: _reactNativeUi.COLORS.PRIMARY_ORANGE,
32
+ progressRate: 0.4,
33
+ progressColor: _reactNativeUi.COLORS.PRIMARY_ORANGE
34
+ }, {
35
+ symbol: '÷',
36
+ symbolColor: _reactNativeUi.COLORS.PRIMARY_PURPLE,
37
+ symbolBackground: _reactNativeUi.COLORS.PURPLE_1,
38
+ operationName: 'Division',
39
+ levelLabel: 'Learning ↑',
40
+ levelColor: _reactNativeUi.COLORS.PRIMARY_PURPLE,
41
+ progressRate: 0.2,
42
+ progressColor: _reactNativeUi.COLORS.PRIMARY_PURPLE
43
+ }];
44
+ function computeMaxStreak(outcomes) {
45
+ let max = 0;
46
+ let current = 0;
47
+ for (const outcome of outcomes) {
48
+ current = outcome === 'correct' ? current + 1 : 0;
49
+ max = Math.max(max, current);
50
+ }
51
+ return max;
52
+ }
53
+ function levelLabelFromRate(rate) {
54
+ if (rate >= 0.85) return 'Mastered ↑';
55
+ if (rate >= 0.65) return 'Confident ↑';
56
+ if (rate >= 0.45) return 'Strong ↑';
57
+ if (rate >= 0.25) return 'Growing ↑';
58
+ return 'Learning ↑';
59
+ }
60
+ const FluencySessionResults = ({
61
+ outcomes,
62
+ sessionDurationMs,
63
+ facts,
64
+ onEndModalPress
65
+ }) => {
66
+ const correctCount = outcomes.filter(o => o === 'correct').length;
67
+ const streak = computeMaxStreak(outcomes);
68
+ const sessionSecs = Math.round(sessionDurationMs / 1000);
69
+ const additionRate = facts.length > 0 ? facts.reduce((sum, f) => sum + f.box, 0) / (facts.length * _fluencySolvingConstants.DEFAULT_PICKER_PARAMS.numBoxes) : 0;
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
71
+ style: styles.overlay,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
73
+ contentContainerStyle: styles.scroll,
74
+ showsVerticalScrollIndicator: false,
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
76
+ style: styles.card,
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
78
+ style: styles.title,
79
+ children: "You leveled up!"
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
81
+ style: styles.statsRow,
82
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionStatCard.SessionStatCard, {
83
+ variant: "on-fire",
84
+ value: String(streak)
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionStatCard.SessionStatCard, {
86
+ variant: "speedy",
87
+ value: `${sessionSecs}s`
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionStatCard.SessionStatCard, {
89
+ variant: "amazing",
90
+ value: `${correctCount}/${_fluencyConstants.SESSION_LENGTH}`
91
+ })]
92
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
93
+ style: styles.progressionHeader,
94
+ children: "Skill progression"
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
96
+ style: styles.progressionList,
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SkillProgressionRow.SkillProgressionRow, {
98
+ symbol: "+",
99
+ symbolColor: _reactNativeUi.COLORS.PRIMARY_GREEN,
100
+ symbolBackground: _reactNativeUi.COLORS.GREEN_1,
101
+ operationName: "Addition",
102
+ levelLabel: levelLabelFromRate(additionRate),
103
+ levelColor: _reactNativeUi.COLORS.PRIMARY_GREEN,
104
+ progressRate: additionRate,
105
+ progressColor: _reactNativeUi.COLORS.PRIMARY_GREEN,
106
+ isActive: true
107
+ }), STATIC_OPERATION_ROWS.map(row => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SkillProgressionRow.SkillProgressionRow, {
108
+ ...row
109
+ }, row.operationName))]
110
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
111
+ style: styles.homeButtonWrapper,
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
113
+ onPress: onEndModalPress,
114
+ variant: _reactNativeUi.ButtonVariant.PRIMARY,
115
+ colorScheme: _reactNativeUi.ButtonColor.YELLOW,
116
+ size: _reactNativeUi.ButtonSize.LARGE,
117
+ raiseLevel: 6,
118
+ children: "HOME"
119
+ })
120
+ })]
121
+ })
122
+ })
123
+ });
124
+ };
125
+ exports.FluencySessionResults = FluencySessionResults;
126
+ const styles = _reactNative.StyleSheet.create({
127
+ overlay: {
128
+ position: 'absolute',
129
+ top: 0,
130
+ left: 0,
131
+ right: 0,
132
+ bottom: 0,
133
+ backgroundColor: 'rgba(242, 242, 244, 0.85)',
134
+ justifyContent: 'center',
135
+ padding: _reactNativeUi.SPACING[400]
136
+ },
137
+ scroll: {
138
+ flexGrow: 1,
139
+ justifyContent: 'center',
140
+ alignItems: 'center'
141
+ },
142
+ card: {
143
+ width: '100%',
144
+ maxWidth: 560,
145
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1,
146
+ borderRadius: _reactNativeUi.BORDER_RADIUS[450],
147
+ padding: _reactNativeUi.SPACING[500],
148
+ gap: _reactNativeUi.SPACING[400],
149
+ ..._reactNativeUi.SHADOWS[5]
150
+ },
151
+ title: {
152
+ fontSize: 32,
153
+ fontWeight: '700',
154
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
155
+ color: _reactNativeUi.COLORS.NEUTRAL_9,
156
+ textAlign: 'center',
157
+ marginBottom: _reactNativeUi.SPACING[200]
158
+ },
159
+ statsRow: {
160
+ flexDirection: 'row',
161
+ gap: _reactNativeUi.SPACING[200]
162
+ },
163
+ progressionHeader: {
164
+ fontSize: 13,
165
+ color: _reactNativeUi.COLORS.NEUTRAL_7,
166
+ textAlign: 'center'
167
+ },
168
+ progressionList: {
169
+ gap: _reactNativeUi.SPACING[100]
170
+ },
171
+ homeButtonWrapper: {
172
+ maxWidth: 320,
173
+ width: '100%',
174
+ alignSelf: 'center',
175
+ marginTop: _reactNativeUi.SPACING[200]
176
+ }
177
+ });
178
+ //# sourceMappingURL=FluencySessionResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_fluencySolvingConstants","_fluencyConstants","_SessionStatCard","_SkillProgressionRow","_jsxRuntime","e","__esModule","default","STATIC_OPERATION_ROWS","symbol","symbolColor","COLORS","PRIMARY_BLUE","symbolBackground","BLUE_1","operationName","levelLabel","levelColor","progressRate","progressColor","PRIMARY_ORANGE","ORANGE_1","PRIMARY_PURPLE","PURPLE_1","computeMaxStreak","outcomes","max","current","outcome","Math","levelLabelFromRate","rate","FluencySessionResults","sessionDurationMs","facts","onEndModalPress","correctCount","filter","o","length","streak","sessionSecs","round","additionRate","reduce","sum","f","box","DEFAULT_PICKER_PARAMS","numBoxes","jsx","View","style","styles","overlay","children","ScrollView","contentContainerStyle","scroll","showsVerticalScrollIndicator","jsxs","card","Typography","title","statsRow","SessionStatCard","variant","value","String","SESSION_LENGTH","progressionHeader","progressionList","SkillProgressionRow","PRIMARY_GREEN","GREEN_1","isActive","map","row","homeButtonWrapper","Button","onPress","ButtonVariant","PRIMARY","colorScheme","ButtonColor","YELLOW","size","ButtonSize","LARGE","raiseLevel","exports","StyleSheet","create","position","top","left","right","bottom","backgroundColor","justifyContent","padding","SPACING","flexGrow","alignItems","width","maxWidth","NEUTRAL_1","borderRadius","BORDER_RADIUS","gap","SHADOWS","fontSize","fontWeight","fontFamily","FONT_FAMILY","buenosAires","color","NEUTRAL_9","textAlign","marginBottom","flexDirection","NEUTRAL_7","alignSelf","marginTop"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/session-results/FluencySessionResults.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SessionStatCard = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const STAT_CARD_CONFIGS = {
13
+ 'on-fire': {
14
+ kicker: 'ON FIRE',
15
+ icon: '🔥',
16
+ color: _reactNativeUi.COLORS.PRIMARY_ORANGE,
17
+ background: _reactNativeUi.COLORS.ORANGE_1
18
+ },
19
+ speedy: {
20
+ kicker: 'SPEEDY',
21
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.TimeIcon, {
22
+ color: _reactNativeUi.COLORS.PRIMARY_BLUE,
23
+ size: 20
24
+ }),
25
+ color: _reactNativeUi.COLORS.PRIMARY_BLUE,
26
+ background: _reactNativeUi.COLORS.BLUE_1
27
+ },
28
+ amazing: {
29
+ kicker: 'AMAZING',
30
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CorrectIcon, {
31
+ color: _reactNativeUi.COLORS.PRIMARY_GREEN,
32
+ size: 20
33
+ }),
34
+ color: _reactNativeUi.COLORS.PRIMARY_GREEN,
35
+ background: _reactNativeUi.COLORS.GREEN_1
36
+ }
37
+ };
38
+ const SessionStatCard = ({
39
+ variant,
40
+ value
41
+ }) => {
42
+ const config = STAT_CARD_CONFIGS[variant];
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
44
+ style: [styles.card, {
45
+ borderColor: config.color,
46
+ backgroundColor: config.background
47
+ }],
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
49
+ style: [styles.kicker, {
50
+ color: config.color
51
+ }],
52
+ children: config.kicker
53
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
54
+ style: styles.body,
55
+ children: [typeof config.icon === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
56
+ style: styles.iconEmoji,
57
+ children: config.icon
58
+ }) : config.icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
59
+ style: styles.value,
60
+ children: value
61
+ })]
62
+ })]
63
+ });
64
+ };
65
+ exports.SessionStatCard = SessionStatCard;
66
+ const styles = _reactNative.StyleSheet.create({
67
+ card: {
68
+ flex: 1,
69
+ maxWidth: 180,
70
+ borderWidth: 2,
71
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400],
72
+ paddingVertical: 10,
73
+ paddingHorizontal: 14,
74
+ gap: _reactNativeUi.SPACING[200]
75
+ },
76
+ kicker: {
77
+ fontSize: 11,
78
+ fontWeight: '800',
79
+ letterSpacing: 1.1,
80
+ textAlign: 'center',
81
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
82
+ },
83
+ body: {
84
+ flexDirection: 'row',
85
+ alignItems: 'center',
86
+ gap: _reactNativeUi.SPACING[200]
87
+ },
88
+ iconEmoji: {
89
+ fontSize: 18
90
+ },
91
+ value: {
92
+ fontSize: 24,
93
+ fontWeight: '900',
94
+ letterSpacing: -0.48,
95
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
96
+ color: _reactNativeUi.COLORS.NEUTRAL_10
97
+ }
98
+ });
99
+ //# sourceMappingURL=SessionStatCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_jsxRuntime","e","__esModule","default","STAT_CARD_CONFIGS","kicker","icon","color","COLORS","PRIMARY_ORANGE","background","ORANGE_1","speedy","jsx","TimeIcon","PRIMARY_BLUE","size","BLUE_1","amazing","CorrectIcon","PRIMARY_GREEN","GREEN_1","SessionStatCard","variant","value","config","jsxs","View","style","styles","card","borderColor","backgroundColor","children","Typography","body","iconEmoji","exports","StyleSheet","create","flex","maxWidth","borderWidth","borderRadius","BORDER_RADIUS","paddingVertical","paddingHorizontal","gap","SPACING","fontSize","fontWeight","letterSpacing","textAlign","fontFamily","FONT_FAMILY","buenosAires","flexDirection","alignItems","NEUTRAL_10"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/session-results/SessionStatCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SkillProgressionRow = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const BAR_WIDTH = 80;
13
+ const SkillProgressionRow = ({
14
+ symbol,
15
+ symbolColor,
16
+ symbolBackground,
17
+ operationName,
18
+ levelLabel,
19
+ levelColor,
20
+ progressRate,
21
+ progressColor,
22
+ isActive
23
+ }) => {
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
25
+ style: [styles.row, isActive && {
26
+ borderWidth: 1.5,
27
+ borderColor: progressColor,
28
+ backgroundColor: symbolBackground
29
+ }],
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
31
+ style: [styles.symbolCircle, {
32
+ backgroundColor: symbolBackground
33
+ }],
34
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
35
+ style: [styles.symbol, {
36
+ color: symbolColor
37
+ }],
38
+ children: symbol
39
+ })
40
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
41
+ style: styles.col,
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
43
+ style: styles.name,
44
+ children: operationName
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
46
+ style: [styles.level, {
47
+ color: levelColor
48
+ }],
49
+ children: levelLabel
50
+ })]
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
+ style: styles.barTrack,
53
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
54
+ style: [styles.barFill, {
55
+ width: BAR_WIDTH * progressRate,
56
+ backgroundColor: progressColor
57
+ }]
58
+ })
59
+ })]
60
+ });
61
+ };
62
+ exports.SkillProgressionRow = SkillProgressionRow;
63
+ const styles = _reactNative.StyleSheet.create({
64
+ row: {
65
+ flexDirection: 'row',
66
+ alignItems: 'center',
67
+ gap: _reactNativeUi.SPACING[300],
68
+ paddingVertical: 10,
69
+ paddingHorizontal: 14,
70
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_2,
71
+ borderRadius: 14
72
+ },
73
+ symbolCircle: {
74
+ width: 36,
75
+ height: 36,
76
+ borderRadius: _reactNativeUi.BORDER_RADIUS[250],
77
+ alignItems: 'center',
78
+ justifyContent: 'center',
79
+ flexShrink: 0
80
+ },
81
+ symbol: {
82
+ fontSize: 18,
83
+ fontWeight: '900',
84
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
85
+ },
86
+ col: {
87
+ flex: 1,
88
+ gap: 2
89
+ },
90
+ name: {
91
+ fontSize: 14,
92
+ fontWeight: '700',
93
+ color: _reactNativeUi.COLORS.NEUTRAL_10,
94
+ textAlign: 'center'
95
+ },
96
+ level: {
97
+ fontSize: 12,
98
+ fontWeight: '600',
99
+ textAlign: 'center'
100
+ },
101
+ barTrack: {
102
+ width: BAR_WIDTH,
103
+ height: 6,
104
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_4,
105
+ borderRadius: _reactNativeUi.BORDER_RADIUS[100],
106
+ overflow: 'hidden'
107
+ },
108
+ barFill: {
109
+ height: 6,
110
+ borderRadius: _reactNativeUi.BORDER_RADIUS[100]
111
+ }
112
+ });
113
+ //# sourceMappingURL=SkillProgressionRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_jsxRuntime","e","__esModule","default","BAR_WIDTH","SkillProgressionRow","symbol","symbolColor","symbolBackground","operationName","levelLabel","levelColor","progressRate","progressColor","isActive","jsxs","View","style","styles","row","borderWidth","borderColor","backgroundColor","children","jsx","symbolCircle","Typography","color","col","name","level","barTrack","barFill","width","exports","StyleSheet","create","flexDirection","alignItems","gap","SPACING","paddingVertical","paddingHorizontal","COLORS","NEUTRAL_2","borderRadius","height","BORDER_RADIUS","justifyContent","flexShrink","fontSize","fontWeight","fontFamily","FONT_FAMILY","buenosAires","flex","NEUTRAL_10","textAlign","NEUTRAL_4","overflow"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/session-results/SkillProgressionRow.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MAX_INPUT_LENGTH = exports.MATRIX_SIZE = exports.FluencyMode = exports.FluencyMasteryLevel = exports.FluencyColorFamily = exports.FLUENCY_MODE_PRESETS = exports.FLUENCY_MODES = exports.COLOR_FAMILY_PALETTES = void 0;
6
+ exports.TIME_THRESHOLD_MS = exports.StreakStatus = exports.SESSION_LENGTH = exports.MAX_INPUT_LENGTH = exports.FluencyMode = exports.FluencyMasteryLevel = exports.FluencyColorFamily = exports.FLUENCY_MODE_PRESETS = exports.FLUENCY_MODES = exports.FALLBACK_MATRIX_SIZE = exports.COLOR_FAMILY_PALETTES = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _fluencyHelpers = require("./fluency.helpers.js");
9
9
  var _DivideIcon = require("./assets/DivideIcon.js");
10
- const MATRIX_SIZE = exports.MATRIX_SIZE = 21;
10
+ const FALLBACK_MATRIX_SIZE = exports.FALLBACK_MATRIX_SIZE = 21;
11
11
  const MAX_INPUT_LENGTH = exports.MAX_INPUT_LENGTH = 3;
12
+ const SESSION_LENGTH = exports.SESSION_LENGTH = 20;
13
+ const TIME_THRESHOLD_MS = exports.TIME_THRESHOLD_MS = 4000;
12
14
  let FluencyMode = exports.FluencyMode = /*#__PURE__*/function (FluencyMode) {
13
- FluencyMode["ADDITION"] = "ADDITION";
14
- FluencyMode["SUBTRACTION"] = "SUBTRACTION";
15
- FluencyMode["MULTIPLICATION"] = "MULTIPLICATION";
16
- FluencyMode["DIVISION"] = "DIVISION";
15
+ FluencyMode["ADDITION"] = "addition";
16
+ FluencyMode["SUBTRACTION"] = "subtraction";
17
+ FluencyMode["MULTIPLICATION"] = "multiplication";
18
+ FluencyMode["DIVISION"] = "division";
17
19
  return FluencyMode;
18
20
  }({});
19
21
  let FluencyMasteryLevel = exports.FluencyMasteryLevel = /*#__PURE__*/function (FluencyMasteryLevel) {
@@ -30,6 +32,12 @@ let FluencyColorFamily = exports.FluencyColorFamily = /*#__PURE__*/function (Flu
30
32
  FluencyColorFamily["PURPLE"] = "PURPLE";
31
33
  return FluencyColorFamily;
32
34
  }({});
35
+ let StreakStatus = exports.StreakStatus = /*#__PURE__*/function (StreakStatus) {
36
+ StreakStatus["MISSED"] = "missed";
37
+ StreakStatus["GAINED"] = "gained";
38
+ StreakStatus["TODAY"] = "today";
39
+ return StreakStatus;
40
+ }({});
33
41
  const COLOR_FAMILY_PALETTES = exports.COLOR_FAMILY_PALETTES = {
34
42
  [FluencyColorFamily.GREEN]: {
35
43
  shades: [_reactNativeUi.COLORS.GREEN_2, _reactNativeUi.COLORS.GREEN_3, _reactNativeUi.COLORS.PRIMARY_GREEN, _reactNativeUi.COLORS.GREEN_6],
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_fluencyHelpers","_DivideIcon","MATRIX_SIZE","exports","MAX_INPUT_LENGTH","FluencyMode","FluencyMasteryLevel","FluencyColorFamily","COLOR_FAMILY_PALETTES","GREEN","shades","COLORS","GREEN_2","GREEN_3","PRIMARY_GREEN","GREEN_6","button","ButtonColor","select","SelectOptionColor","ORANGE","ORANGE_2","ORANGE_3","PRIMARY_ORANGE","ORANGE_6","BLUE","BLUE_2","BLUE_3","PRIMARY_BLUE","BLUE_6","PURPLE","PURPLE_2","PURPLE_3","PRIMARY_PURPLE","PURPLE_6","FLUENCY_MODES","createFluencyMode","mode","ADDITION","label","icon","PlusIcon","colorFamily","SUBTRACTION","MinusIcon","MULTIPLICATION","CrossIcon","DIVISION","DivideIcon","FLUENCY_MODE_PRESETS","Object","fromEntries","map","preset"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.constants.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_fluencyHelpers","_DivideIcon","FALLBACK_MATRIX_SIZE","exports","MAX_INPUT_LENGTH","SESSION_LENGTH","TIME_THRESHOLD_MS","FluencyMode","FluencyMasteryLevel","FluencyColorFamily","StreakStatus","COLOR_FAMILY_PALETTES","GREEN","shades","COLORS","GREEN_2","GREEN_3","PRIMARY_GREEN","GREEN_6","button","ButtonColor","select","SelectOptionColor","ORANGE","ORANGE_2","ORANGE_3","PRIMARY_ORANGE","ORANGE_6","BLUE","BLUE_2","BLUE_3","PRIMARY_BLUE","BLUE_6","PURPLE","PURPLE_2","PURPLE_3","PRIMARY_PURPLE","PURPLE_6","FLUENCY_MODES","createFluencyMode","mode","ADDITION","label","icon","PlusIcon","colorFamily","SUBTRACTION","MinusIcon","MULTIPLICATION","CrossIcon","DIVISION","DivideIcon","FLUENCY_MODE_PRESETS","Object","fromEntries","map","preset"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.constants.ts"],"mappings":"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","ignoreList":[]}