@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
@@ -6,13 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.FluencySolvingCard = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _effectorReact = require("effector-react/effector-react.mjs");
9
11
  var _FluencyNumpad = require("./FluencyNumpad.js");
10
12
  var _FluencyEquationCard = require("./FluencyEquationCard.js");
11
- var _reactNativeUi = require("@magmamath/react-native-ui");
12
- var _FluencyContext = require("../../context/FluencyContext.js");
13
- var _useCardSnapAnimation = require("../../hooks/useCardSnapAnimation.js");
14
- var _useSuccessSound = require("../../hooks/useSuccessSound.js");
15
- var _commonConstants = require("../../../../shared/common.constants.js");
13
+ var _FluencyContext = require("../../../context/FluencyContext.js");
14
+ var _useCardSnapAnimation = require("../../../hooks/useCardSnapAnimation.js");
15
+ var _useSuccessSound = require("../../../hooks/useSuccessSound.js");
16
+ var _commonConstants = require("../../../../../shared/common.constants.js");
17
+ var _constants = require("../../../../../lib/constants.js");
18
+ var _fluencyConstants = require("../../../fluency.constants.js");
16
19
  var _jsxRuntime = require("react/jsx-runtime");
17
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -20,32 +23,47 @@ const FluencySolvingCard = () => {
20
23
  const {
21
24
  model
22
25
  } = (0, _FluencyContext.useFluency)();
23
- const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)();
24
26
  const {
25
- play: playSuccess
26
- } = (0, _useSuccessSound.useSuccessSound)();
27
+ answer,
28
+ fact
29
+ } = (0, _effectorReact.useUnit)({
30
+ answer: model.solving.$answer,
31
+ fact: model.solving.$current
32
+ });
33
+ const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)();
34
+ const successSound = (0, _useSuccessSound.useSuccessSound)();
35
+ const answerRef = (0, _react.useRef)(answer);
36
+ const submitRef = (0, _react.useRef)(() => {});
37
+ answerRef.current = answer;
27
38
  const submit = () => {
28
- const input = model.input.$state.getState();
29
- const problem = model.solving.$problem.getState();
30
- const isCorrect = Number(input) === problem.answer;
31
- if (isCorrect) playSuccess();
32
- animation.trigger(isCorrect ? 'right' : 'left');
33
- void model.submitFx();
39
+ if (!fact) return;
40
+ const isCorrect = answerRef.current !== null && answerRef.current === fact.answer;
41
+ if (isCorrect) {
42
+ successSound.play();
43
+ animation.trigger('right');
44
+ } else {
45
+ animation.trigger('left');
46
+ }
47
+ model.solving.submit();
34
48
  };
49
+ submitRef.current = submit;
35
50
  (0, _react.useEffect)(() => {
36
51
  if (!_commonConstants.isWeb) return;
37
52
  const handleKeyDown = event => {
38
53
  const isDigit = /^\d$/.test(event.key);
39
- if (isDigit) return model.input.set({
40
- value: Number(event.key)
41
- });
42
- if (event.key === 'Backspace') return model.input.set({
43
- erase: 'latest'
44
- });
45
- if (event.key === 'Enter') {
46
- submit();
54
+ if (isDigit) {
55
+ const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
56
+ if (currentStr.length >= _fluencyConstants.MAX_INPUT_LENGTH) return;
57
+ model.solving.setAnswer(parseInt(currentStr + event.key, 10));
58
+ return;
59
+ }
60
+ if (event.key === _constants.KeyboardKeys.BACKSPACE) {
61
+ const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
62
+ const newStr = currentStr.slice(0, -1);
63
+ model.solving.setAnswer(newStr ? parseInt(newStr, 10) : null);
47
64
  return;
48
65
  }
66
+ if (event.key === _constants.KeyboardKeys.ENTER) submitRef.current();
49
67
  };
50
68
  window.addEventListener('keydown', handleKeyDown);
51
69
  return () => window.removeEventListener('keydown', handleKeyDown);
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_effectorReact","_FluencyNumpad","_FluencyEquationCard","_FluencyContext","_useCardSnapAnimation","_useSuccessSound","_commonConstants","_constants","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FluencySolvingCard","model","useFluency","answer","fact","useUnit","solving","$answer","$current","animation","useCardSnapAnimation","successSound","useSuccessSound","answerRef","useRef","submitRef","current","submit","isCorrect","play","trigger","useEffect","isWeb","handleKeyDown","event","isDigit","test","key","currentStr","toString","length","MAX_INPUT_LENGTH","setAnswer","parseInt","KeyboardKeys","BACKSPACE","newStr","slice","ENTER","window","addEventListener","removeEventListener","jsxs","View","children","jsx","style","styles","wrapper","FluencyEquationCard","animationStyles","snapStyles","FluencyNumpad","onEnterPress","exports","StyleSheet","create","alignItems","paddingVertical","SPACING","paddingHorizontal","marginTop"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,17 +7,15 @@ exports.FluencySolvingHeader = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeUi = require("@magmamath/react-native-ui");
10
- var _i18n = require("../../../../i18n/i18n.js");
11
- var _useFluencyModePreset = require("../../hooks/useFluencyModePreset.js");
12
- var _XCloseIcon = require("../../../../shared/icons/XCloseIcon.js");
10
+ var _useFluencyModePreset = require("../../../hooks/useFluencyModePreset.js");
11
+ var _XCloseIcon = require("../../../../../shared/icons/XCloseIcon.js");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
14
  const FluencySolvingHeader = ({
16
15
  onClosePress
17
16
  }) => {
18
- const t = (0, _i18n.useText)();
19
- const uiMode = (0, _useFluencyModePreset.useFluencyModePreset)();
20
- const OperatorIcon = uiMode.operatorIcon;
17
+ const modePreset = (0, _useFluencyModePreset.useFluencyModePreset)();
18
+ const OperatorIcon = modePreset.icon;
21
19
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
22
20
  style: styles.container,
23
21
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
@@ -27,7 +25,7 @@ const FluencySolvingHeader = ({
27
25
  onPress: onClosePress
28
26
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
29
27
  style: [styles.operatorBadge, {
30
- backgroundColor: uiMode.accentColor
28
+ backgroundColor: modePreset.colors.accent
31
29
  }],
32
30
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(OperatorIcon, {
33
31
  color: _reactNativeUi.COLORS.NEUTRAL_1,
@@ -36,7 +34,7 @@ const FluencySolvingHeader = ({
36
34
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
37
35
  variant: _reactNativeUi.HeadingVariants.H4,
38
36
  style: styles.title,
39
- children: t(uiMode.matrix.operatorName)
37
+ children: modePreset.label
40
38
  })]
41
39
  });
42
40
  };
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencyModePreset","_XCloseIcon","_jsxRuntime","e","__esModule","default","FluencySolvingHeader","onClosePress","modePreset","useFluencyModePreset","OperatorIcon","icon","jsxs","View","style","styles","container","children","jsx","Button","variant","ButtonVariant","SECONDARY","size","ButtonSize","LARGE","XCloseIcon","onPress","operatorBadge","backgroundColor","colors","accent","color","COLORS","NEUTRAL_1","Typography","HeadingVariants","H4","title","label","exports","StyleSheet","create","height","flexDirection","alignItems","gap","paddingVertical","SPACING","paddingHorizontal","SHADOWS","width","borderRadius","BORDER_RADIUS","justifyContent","NEUTRAL_10","fontWeight"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAWA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAmE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM5D,MAAMG,oBAAoB,GAAGA,CAAC;EAAEC;AAAwC,CAAC,KAAK;EACnF,MAAMC,UAAU,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EACzC,MAAMC,YAAY,GAAGF,UAAU,CAACG,IAAI;EAEpC,oBACE,IAAAT,WAAA,CAAAU,IAAA,EAACd,YAAA,CAAAe,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAf,WAAA,CAAAgB,GAAA,EAACnB,cAAA,CAAAoB,MAAM;MACLC,OAAO,EAAEC,4BAAa,CAACC,SAAU;MACjCC,IAAI,EAAEC,yBAAU,CAACC,KAAM;MACvBd,IAAI,eAAE,IAAAT,WAAA,CAAAgB,GAAA,EAACjB,WAAA,CAAAyB,UAAU,IAAE,CAAE;MACrBC,OAAO,EAAEpB;IAAa,CACvB,CAAC,eACF,IAAAL,WAAA,CAAAgB,GAAA,EAACpB,YAAA,CAAAe,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACa,aAAa,EAAE;QAAEC,eAAe,EAAErB,UAAU,CAACsB,MAAM,CAACC;MAAO,CAAC,CAAE;MAAAd,QAAA,eACjF,IAAAf,WAAA,CAAAgB,GAAA,EAACR,YAAY;QAACsB,KAAK,EAAEC,qBAAM,CAACC,SAAU;QAACX,IAAI,EAAE;MAAG,CAAE;IAAC,CAC/C,CAAC,eACP,IAAArB,WAAA,CAAAgB,GAAA,EAACnB,cAAA,CAAAoC,UAAU;MAACf,OAAO,EAAEgB,8BAAe,CAACC,EAAG;MAACvB,KAAK,EAAEC,MAAM,CAACuB,KAAM;MAAArB,QAAA,EAC1DT,UAAU,CAAC+B;IAAK,CACP,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAlC,oBAAA,GAAAA,oBAAA;AAED,MAAMS,MAAM,GAAG0B,uBAAU,CAACC,MAAM,CAAC;EAC/B1B,SAAS,EAAE;IACT2B,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/B,GAAGE,sBAAO,CAAC,CAAC;EACd,CAAC;EACDtB,aAAa,EAAE;IACbuB,KAAK,EAAE,EAAE;IACTR,MAAM,EAAE,EAAE;IACVS,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCR,UAAU,EAAE,QAAQ;IACpBS,cAAc,EAAE,QAAQ;IACxB,GAAGJ,sBAAO,CAAC,CAAC;EACd,CAAC;EACDZ,KAAK,EAAE;IACLN,KAAK,EAAEC,qBAAM,CAACsB,UAAU;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -11,15 +11,27 @@ var _jsxRuntime = require("react/jsx-runtime");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  const FluencySolvingProgress = ({
13
13
  total,
14
- activeIndex
14
+ activeIndex,
15
+ outcomes
15
16
  }) => {
16
17
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
17
18
  style: styles.container,
18
19
  children: Array.from({
19
20
  length: total
20
- }).map((_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
21
- style: index === activeIndex ? styles.dotActive : styles.dot
22
- }, index))
21
+ }).map((_, index) => {
22
+ if (index === activeIndex) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
23
+ style: styles.dotActive
24
+ }, index);
25
+ if (index < activeIndex) {
26
+ const outcome = outcomes[index];
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
28
+ style: outcome ? DOT_STYLE_BY_OUTCOME[outcome] : styles.dot
29
+ }, index);
30
+ }
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
32
+ style: styles.dot
33
+ }, index);
34
+ })
23
35
  });
24
36
  };
25
37
  exports.FluencySolvingProgress = FluencySolvingProgress;
@@ -42,6 +54,22 @@ const styles = _reactNative.StyleSheet.create({
42
54
  height: 12,
43
55
  backgroundColor: _reactNativeUi.COLORS.NEUTRAL_10,
44
56
  borderRadius: 9999
57
+ },
58
+ dotCorrect: {
59
+ width: 12,
60
+ height: 12,
61
+ borderRadius: 6,
62
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_GREEN
63
+ },
64
+ dotWrong: {
65
+ width: 12,
66
+ height: 12,
67
+ borderRadius: 6,
68
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_RED
45
69
  }
46
70
  });
71
+ const DOT_STYLE_BY_OUTCOME = {
72
+ correct: styles.dotCorrect,
73
+ wrong: styles.dotWrong
74
+ };
47
75
  //# sourceMappingURL=FluencySolvingProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_jsxRuntime","e","__esModule","default","FluencySolvingProgress","total","activeIndex","outcomes","jsx","View","style","styles","container","children","Array","from","length","map","_","index","dotActive","outcome","DOT_STYLE_BY_OUTCOME","dot","exports","StyleSheet","create","flexDirection","gap","SPACING","paddingHorizontal","paddingVertical","justifyContent","width","height","borderRadius","backgroundColor","COLORS","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAA4D,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASrD,MAAMG,sBAAsB,GAAGA,CAAC;EACrCC,KAAK;EACLC,WAAW;EACXC;AAC2B,CAAC,KAAK;EACjC,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEX;IAAM,CAAC,CAAC,CAACY,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;MAC/C,IAAIA,KAAK,KAAKb,WAAW,EAAE,oBAAO,IAAAN,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,IAAI;QAAaC,KAAK,EAAEC,MAAM,CAACS;MAAU,GAA/BD,KAAiC,CAAC;MAC/E,IAAIA,KAAK,GAAGb,WAAW,EAAE;QACvB,MAAMe,OAAO,GAAGd,QAAQ,CAACY,KAAK,CAAC;QAC/B,oBAAO,IAAAnB,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,IAAI;UAAaC,KAAK,EAAEW,OAAO,GAAGC,oBAAoB,CAACD,OAAO,CAAC,GAAGV,MAAM,CAACY;QAAI,GAAnEJ,KAAqE,CAAC;MAC1F;MACA,oBAAO,IAAAnB,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,IAAI;QAAaC,KAAK,EAAEC,MAAM,CAACY;MAAI,GAAzBJ,KAA2B,CAAC;IAChD,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAK,OAAA,CAAApB,sBAAA,GAAAA,sBAAA;AAED,MAAMO,MAAM,GAAGc,uBAAU,CAACC,MAAM,CAAC;EAC/Bd,SAAS,EAAE;IACTe,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACjBC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE;EAClB,CAAC;EACDT,GAAG,EAAE;IACHU,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACC;EAC1B,CAAC;EACDlB,SAAS,EAAE;IACTa,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVE,eAAe,EAAEC,qBAAM,CAACE,UAAU;IAClCJ,YAAY,EAAE;EAChB,CAAC;EACDK,UAAU,EAAE;IACVP,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACI;EAC1B,CAAC;EACDC,QAAQ,EAAE;IACRT,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAEC,qBAAM,CAACM;EAC1B;AACF,CAAC,CAAC;AAEF,MAAMrB,oBAAqD,GAAG;EAC5DsB,OAAO,EAAEjC,MAAM,CAAC6B,UAAU;EAC1BK,KAAK,EAAElC,MAAM,CAAC+B;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MODE_ANSWER_EVAL_FORMULA = exports.DEFAULT_PICKER_PARAMS = void 0;
7
+ var _fluencyConstants = require("../../fluency.constants.js");
8
+ const HOUR_MS = 60 * 60 * 1000;
9
+ const BOX_1_INTERVAL = 4 * HOUR_MS;
10
+ const BOX_2_INTERVAL = 36 * HOUR_MS; // 1.5 days
11
+ const BOX_3_INTERVAL = 144 * HOUR_MS; // 6 days
12
+ const BOX_4_INTERVAL = 672 * HOUR_MS; // 4 weeks
13
+ const BOX_5_INTERVAL = 2016 * HOUR_MS; // 12 weeks
14
+
15
+ const DEFAULT_PICKER_PARAMS = exports.DEFAULT_PICKER_PARAMS = {
16
+ wDue: 0.05,
17
+ wWeak: 0.35,
18
+ wEase: 0.3,
19
+ wRand: 0.02,
20
+ numBoxes: 5,
21
+ boxIntervals: [0, BOX_1_INTERVAL, BOX_2_INTERVAL, BOX_3_INTERVAL, BOX_4_INTERVAL, BOX_5_INTERVAL]
22
+ };
23
+ const MODE_ANSWER_EVAL_FORMULA = exports.MODE_ANSWER_EVAL_FORMULA = {
24
+ [_fluencyConstants.FluencyMode.ADDITION]: (a, b) => a + b,
25
+ [_fluencyConstants.FluencyMode.SUBTRACTION]: (a, b) => a - b,
26
+ [_fluencyConstants.FluencyMode.MULTIPLICATION]: (a, b) => a * b,
27
+ [_fluencyConstants.FluencyMode.DIVISION]: (a, b) => a / b
28
+ };
29
+ //# sourceMappingURL=fluencySolving.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_fluencyConstants","require","HOUR_MS","BOX_1_INTERVAL","BOX_2_INTERVAL","BOX_3_INTERVAL","BOX_4_INTERVAL","BOX_5_INTERVAL","DEFAULT_PICKER_PARAMS","exports","wDue","wWeak","wEase","wRand","numBoxes","boxIntervals","MODE_ANSWER_EVAL_FORMULA","FluencyMode","ADDITION","a","b","SUBTRACTION","MULTIPLICATION","DIVISION"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.constants.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAGA,MAAMC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC9B,MAAMC,cAAc,GAAG,CAAC,GAAGD,OAAO;AAClC,MAAME,cAAc,GAAG,EAAE,GAAGF,OAAO,EAAC;AACpC,MAAMG,cAAc,GAAG,GAAG,GAAGH,OAAO,EAAC;AACrC,MAAMI,cAAc,GAAG,GAAG,GAAGJ,OAAO,EAAC;AACrC,MAAMK,cAAc,GAAG,IAAI,GAAGL,OAAO,EAAC;;AAE/B,MAAMM,qBAAmC,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACjDE,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,IAAI;EACXC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,IAAI;EACXC,QAAQ,EAAE,CAAC;EACXC,YAAY,EAAE,CAAC,CAAC,EAAEZ,cAAc,EAAEC,cAAc,EAAEC,cAAc,EAAEC,cAAc,EAAEC,cAAc;AAClG,CAAC;AAEM,MAAMS,wBAA+E,GAAAP,OAAA,CAAAO,wBAAA,GAAG;EAC7F,CAACC,6BAAW,CAACC,QAAQ,GAAG,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC;EACvC,CAACH,6BAAW,CAACI,WAAW,GAAG,CAACF,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC;EAC1C,CAACH,6BAAW,CAACK,cAAc,GAAG,CAACH,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC;EAC7C,CAACH,6BAAW,CAACM,QAAQ,GAAG,CAACJ,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC;AACxC,CAAC","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calculateNextBox = calculateNextBox;
7
+ exports.selectNextFact = selectNextFact;
8
+ exports.toSolvingFacts = toSolvingFacts;
9
+ var _fluencySolvingConstants = require("./fluencySolving.constants.js");
10
+ function toSolvingFacts(factMap, mode) {
11
+ return Object.entries(factMap).map(([id, fact]) => {
12
+ const [a, b] = fact.numbers;
13
+ const answer = _fluencySolvingConstants.MODE_ANSWER_EVAL_FORMULA[mode](a, b);
14
+ const box = fact.box ?? 0;
15
+ return {
16
+ id,
17
+ numbers: fact.numbers,
18
+ answer,
19
+ difficulty: fact.difficulty,
20
+ box,
21
+ lastSeenMs: fact.lastAttemptedAt ? new Date(fact.lastAttemptedAt).getTime() : null,
22
+ sessionStartBox: box,
23
+ hasFailedThisSession: false
24
+ };
25
+ });
26
+ }
27
+ function calculateAttentionScore(fact, now, params, maxDifficulty) {
28
+ const interval = params.boxIntervals[fact.box] || params.boxIntervals[1];
29
+ const overdueness = fact.lastSeenMs === null ? 1 : Math.max(0, (now - fact.lastSeenMs) / interval);
30
+ const weakness = 1 - fact.box / params.numBoxes;
31
+ const ease = maxDifficulty > 0 ? fact.difficulty / maxDifficulty : 0;
32
+ const rand = Math.random();
33
+ return params.wDue * overdueness + params.wWeak * weakness + params.wEase * (ease * weakness) + params.wRand * rand;
34
+ }
35
+ function selectNextFact(facts, now, params = _fluencySolvingConstants.DEFAULT_PICKER_PARAMS) {
36
+ if (facts.length === 0) return null;
37
+ const available = facts.filter(f => f.box < params.numBoxes);
38
+ const pool = available.length > 0 ? available : facts;
39
+ const maxDifficulty = Math.max(...pool.map(f => f.difficulty));
40
+ const scored = pool.map(fact => ({
41
+ fact,
42
+ score: calculateAttentionScore(fact, now, params, maxDifficulty)
43
+ }));
44
+ return scored.reduce((best, curr) => curr.score > best.score ? curr : best).fact;
45
+ }
46
+ function calculateNextBox({
47
+ currentBox,
48
+ isCorrect,
49
+ isFast,
50
+ sessionStartBox,
51
+ hasFailedThisSession
52
+ }) {
53
+ if (!isCorrect) return Math.max(1, currentBox - 1);
54
+ if (!isFast) return currentBox;
55
+ if (hasFailedThisSession || currentBox >= sessionStartBox + 1) return currentBox;
56
+ return Math.min(currentBox + 1, 5);
57
+ }
58
+ //# sourceMappingURL=fluencySolving.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_fluencySolvingConstants","require","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","MODE_ANSWER_EVAL_FORMULA","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","DEFAULT_PICKER_PARAMS","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":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=fluencySolving.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.types.ts"],"mappings":"","ignoreList":[]}
@@ -14,7 +14,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
14
14
  const FluencyMatrix = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
15
15
  style: styles.container,
16
16
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
17
- style: styles.body,
17
+ style: styles.matrixFillContainer,
18
18
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MatrixFill.MatrixFill, {})
19
19
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MatrixLegend.MatrixLegend, {})]
20
20
  });
@@ -27,7 +27,7 @@ const styles = _reactNative.StyleSheet.create({
27
27
  overflow: 'hidden',
28
28
  ..._reactNativeUi.SHADOWS[1]
29
29
  },
30
- body: {
30
+ matrixFillContainer: {
31
31
  flex: 1,
32
32
  padding: _reactNativeUi.SPACING[300],
33
33
  minHeight: 354
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_MatrixLegend","_MatrixFill","_jsxRuntime","e","__esModule","default","FluencyMatrix","jsxs","View","style","styles","container","children","jsx","body","MatrixFill","MatrixLegend","exports","StyleSheet","create","flex","backgroundColor","COLORS","NEUTRAL_1","borderRadius","BORDER_RADIUS","overflow","SHADOWS","padding","SPACING","minHeight"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/matrix/FluencyMatrix.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAoD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,aAAa,GAAGA,CAAA,kBAC3B,IAAAJ,WAAA,CAAAK,IAAA,EAACT,YAAA,CAAAU,IAAI;EAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5B,IAAAV,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAU,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACI,IAAK;IAAAF,QAAA,eACvB,IAAAV,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAc,UAAU,IAAE;EAAC,CACV,CAAC,eACP,IAAAb,WAAA,CAAAW,GAAA,EAACb,aAAA,CAAAgB,YAAY,IAAE,CAAC;AAAA,CACZ,CACP;AAAAC,OAAA,CAAAX,aAAA,GAAAA,aAAA;AAED,MAAMI,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,QAAQ,EAAE,QAAQ;IAClB,GAAGC,sBAAO,CAAC,CAAC;EACd,CAAC;EACDb,IAAI,EAAE;IACJM,IAAI,EAAE,CAAC;IACPQ,OAAO,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACrBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_MatrixLegend","_MatrixFill","_jsxRuntime","e","__esModule","default","FluencyMatrix","jsxs","View","style","styles","container","children","jsx","matrixFillContainer","MatrixFill","MatrixLegend","exports","StyleSheet","create","flex","backgroundColor","COLORS","NEUTRAL_1","borderRadius","BORDER_RADIUS","overflow","SHADOWS","padding","SPACING","minHeight"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/matrix/FluencyMatrix.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAoD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,MAAMG,aAAa,GAAGA,CAAA,kBAC3B,IAAAJ,WAAA,CAAAK,IAAA,EAACT,YAAA,CAAAU,IAAI;EAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5B,IAAAV,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAU,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACI,mBAAoB;IAAAF,QAAA,eACtC,IAAAV,WAAA,CAAAW,GAAA,EAACZ,WAAA,CAAAc,UAAU,IAAE;EAAC,CACV,CAAC,eAEP,IAAAb,WAAA,CAAAW,GAAA,EAACb,aAAA,CAAAgB,YAAY,IAAE,CAAC;AAAA,CACZ,CACP;AAAAC,OAAA,CAAAX,aAAA,GAAAA,aAAA;AAED,MAAMI,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,QAAQ,EAAE,QAAQ;IAClB,GAAGC,sBAAO,CAAC,CAAC;EACd,CAAC;EACDb,mBAAmB,EAAE;IACnBM,IAAI,EAAE,CAAC;IACPQ,OAAO,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACrBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -13,20 +13,31 @@ var _StarFillIcon = require("../../../assets/StarFillIcon.js");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  const MatrixCell = ({
16
- row,
17
- col,
18
- score,
19
- mastery
16
+ label,
17
+ box,
18
+ isHeader,
19
+ levelColors,
20
+ divisor
20
21
  }) => {
21
- const label = (0, _fluencyHelpers.getCellLabel)(row, col);
22
- const isMastered = score !== null && (0, _fluencyHelpers.getMasteryLevel)(score) === _fluencyConstants.FluencyMasteryLevel.MASTERED;
23
- const background = score !== null ? (0, _fluencyHelpers.getCellColorByScore)(score, mastery) : (0, _fluencyHelpers.getCellBackground)(row, col);
22
+ const masteryLevel = box ? (0, _fluencyHelpers.getMasteryLevelByBox)(box) : null;
23
+ const isMastered = masteryLevel === _fluencyConstants.FluencyMasteryLevel.MASTERED;
24
+ const bgColor = (() => {
25
+ if (masteryLevel) return levelColors[masteryLevel];
26
+ if (isHeader) return _reactNativeUi.COLORS.NEUTRAL_5;
27
+ return _reactNativeUi.COLORS.NEUTRAL_2;
28
+ })();
24
29
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
25
30
  style: [styles.cell, {
26
- backgroundColor: background
31
+ backgroundColor: bgColor
27
32
  }],
28
- children: [isMastered && /*#__PURE__*/(0, _jsxRuntime.jsx)(_StarFillIcon.StarFillIcon, {}), label !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
29
- style: styles.headerText,
33
+ children: [divisor !== null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
34
+ style: styles.starContainer,
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
36
+ style: styles.divisorText,
37
+ children: ["\xF7", divisor]
38
+ })
39
+ }) : isMastered && /*#__PURE__*/(0, _jsxRuntime.jsx)(_StarFillIcon.StarFillIcon, {}), label !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
40
+ style: divisor ? styles.cellNumber : styles.headerText,
30
41
  children: label
31
42
  })]
32
43
  });
@@ -39,9 +50,27 @@ const styles = _reactNative.StyleSheet.create({
39
50
  alignItems: 'center',
40
51
  justifyContent: 'center'
41
52
  },
53
+ starContainer: {
54
+ position: 'absolute',
55
+ top: 3,
56
+ right: _reactNativeUi.SPACING[100]
57
+ },
58
+ divisorText: {
59
+ fontSize: 10,
60
+ fontWeight: '500',
61
+ color: _reactNativeUi.COLORS.NEUTRAL_1,
62
+ lineHeight: _reactNativeUi.SPACING[300]
63
+ },
64
+ cellNumber: {
65
+ fontSize: 14,
66
+ fontWeight: '700',
67
+ color: _reactNativeUi.COLORS.NEUTRAL_3,
68
+ lineHeight: _reactNativeUi.SPACING[400]
69
+ },
42
70
  headerText: {
43
- fontSize: 13,
44
- color: _reactNativeUi.COLORS.NEUTRAL_2
71
+ fontSize: 12,
72
+ fontWeight: '600',
73
+ color: _reactNativeUi.COLORS.NEUTRAL_8
45
74
  }
46
75
  });
47
76
  //# sourceMappingURL=MatrixCell.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_fluencyHelpers","_fluencyConstants","_StarFillIcon","_jsxRuntime","e","__esModule","default","MatrixCell","row","col","score","mastery","label","getCellLabel","isMastered","getMasteryLevel","FluencyMasteryLevel","MASTERED","background","getCellColorByScore","getCellBackground","jsxs","View","style","styles","cell","backgroundColor","children","jsx","StarFillIcon","Text","headerText","exports","StyleSheet","create","flex","borderRadius","BORDER_RADIUS","alignItems","justifyContent","fontSize","color","COLORS","NEUTRAL_2"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixCell.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAMA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAA2D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUpD,MAAMG,UAAU,GAAGA,CAAC;EAAEC,GAAG;EAAEC,GAAG;EAAEC,KAAK;EAAEC;AAAyB,CAAC,KAAK;EAC3E,MAAMC,KAAK,GAAG,IAAAC,4BAAY,EAACL,GAAG,EAAEC,GAAG,CAAC;EACpC,MAAMK,UAAU,GAAGJ,KAAK,KAAK,IAAI,IAAI,IAAAK,+BAAe,EAACL,KAAK,CAAC,KAAKM,qCAAmB,CAACC,QAAQ;EAC5F,MAAMC,UAAU,GACdR,KAAK,KAAK,IAAI,GAAG,IAAAS,mCAAmB,EAACT,KAAK,EAAEC,OAAO,CAAC,GAAG,IAAAS,iCAAiB,EAACZ,GAAG,EAAEC,GAAG,CAAC;EAEpF,oBACE,IAAAN,WAAA,CAAAkB,IAAA,EAACvB,YAAA,CAAAwB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,eAAe,EAAER;IAAW,CAAC,CAAE;IAAAS,QAAA,GACzDb,UAAU,iBAAI,IAAAX,WAAA,CAAAyB,GAAA,EAAC1B,aAAA,CAAA2B,YAAY,IAAE,CAAC,EAC9BjB,KAAK,KAAK,IAAI,iBAAI,IAAAT,WAAA,CAAAyB,GAAA,EAAC9B,YAAA,CAAAgC,IAAI;MAACP,KAAK,EAAEC,MAAM,CAACO,UAAW;MAAAJ,QAAA,EAAEf;IAAK,CAAO,CAAC;EAAA,CAC7D,CAAC;AAEX,CAAC;AAAAoB,OAAA,CAAAzB,UAAA,GAAAA,UAAA;AAED,MAAMiB,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BT,IAAI,EAAE;IACJU,IAAI,EAAE,CAAC;IACPC,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDR,UAAU,EAAE;IACVS,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEC,qBAAM,CAACC;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_fluencyHelpers","_fluencyConstants","_StarFillIcon","_jsxRuntime","e","__esModule","default","MatrixCell","label","box","isHeader","levelColors","divisor","masteryLevel","getMasteryLevelByBox","isMastered","FluencyMasteryLevel","MASTERED","bgColor","COLORS","NEUTRAL_5","NEUTRAL_2","jsxs","View","style","styles","cell","backgroundColor","children","jsx","starContainer","Text","divisorText","StarFillIcon","cellNumber","headerText","exports","StyleSheet","create","flex","borderRadius","BORDER_RADIUS","alignItems","justifyContent","position","top","right","SPACING","fontSize","fontWeight","color","NEUTRAL_1","lineHeight","NEUTRAL_3","NEUTRAL_8"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixCell.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,51 +7,41 @@ exports.MatrixFill = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _effectorReact = require("effector-react");
10
11
  var _MatrixCell = require("./MatrixCell.js");
11
- var _fluencyConstants = require("../../../fluency.constants.js");
12
+ var _FluencyContext = require("../../../context/FluencyContext.js");
12
13
  var _useFluencyModePreset = require("../../../hooks/useFluencyModePreset.js");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- const MOCK_SCORES = {
16
- '1-1': 90,
17
- '2-3': 70,
18
- '3-5': 50,
19
- '5-2': 30,
20
- '4-4': 10,
21
- '1-5': 85,
22
- '3-3': 45
23
- };
24
16
  const MatrixFill = () => {
25
17
  const {
26
- matrix
27
- } = (0, _useFluencyModePreset.useFluencyModePreset)();
18
+ model
19
+ } = (0, _FluencyContext.useFluency)();
20
+ const modePreset = (0, _useFluencyModePreset.useFluencyModePreset)();
21
+ const grid = (0, _effectorReact.useUnit)(model.matrix.$matrix);
22
+ if (!grid) return null;
28
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
29
24
  style: styles.grid,
30
- children: Array.from({
31
- length: _fluencyConstants.MATRIX_SIZE
32
- }, (_, row) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
25
+ children: grid.map((row, rowIdx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
33
26
  style: styles.row,
34
- children: Array.from({
35
- length: _fluencyConstants.MATRIX_SIZE
36
- }, (_, col) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MatrixCell.MatrixCell, {
37
- row: row,
38
- col: col,
39
- score: MOCK_SCORES[`${row}-${col}`] ?? null,
40
- mastery: matrix.mastery
41
- }, col))
42
- }, row))
27
+ children: row.map((cell, colIdx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MatrixCell.MatrixCell, {
28
+ ...cell,
29
+ levelColors: modePreset.colors.level
30
+ }, colIdx))
31
+ }, rowIdx))
43
32
  });
44
33
  };
45
34
  exports.MatrixFill = MatrixFill;
46
35
  const styles = _reactNative.StyleSheet.create({
47
36
  grid: {
48
37
  flex: 1,
49
- gap: _reactNativeUi.SPACING[50]
38
+ gap: _reactNativeUi.SPACING[100]
50
39
  },
51
40
  row: {
52
41
  flex: 1,
42
+ minHeight: _reactNativeUi.SPACING[800],
53
43
  flexDirection: 'row',
54
- gap: _reactNativeUi.SPACING[50]
44
+ gap: _reactNativeUi.SPACING[100]
55
45
  }
56
46
  });
57
47
  //# sourceMappingURL=MatrixFill.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_MatrixCell","_fluencyConstants","_useFluencyModePreset","_jsxRuntime","e","__esModule","default","MOCK_SCORES","MatrixFill","matrix","useFluencyModePreset","jsx","View","style","styles","grid","children","Array","from","length","MATRIX_SIZE","_","row","col","MatrixCell","score","mastery","exports","StyleSheet","create","flex","gap","SPACING","flexDirection"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixFill.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAA0E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1E,MAAMG,WAAmC,GAAG;EAC1C,KAAK,EAAE,EAAE;EACT,KAAK,EAAE,EAAE;EACT,KAAK,EAAE,EAAE;EACT,KAAK,EAAE,EAAE;EACT,KAAK,EAAE,EAAE;EACT,KAAK,EAAE,EAAE;EACT,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EAEzC,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACb,YAAA,CAAAc,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,EACtBC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEC;IAAY,CAAC,EAAE,CAACC,CAAC,EAAEC,GAAG,kBAC1C,IAAAnB,WAAA,CAAAQ,GAAA,EAACb,YAAA,CAAAc,IAAI;MAAWC,KAAK,EAAEC,MAAM,CAACQ,GAAI;MAAAN,QAAA,EAC/BC,KAAK,CAACC,IAAI,CAAC;QAAEC,MAAM,EAAEC;MAAY,CAAC,EAAE,CAACC,CAAC,EAAEE,GAAG,kBAC1C,IAAApB,WAAA,CAAAQ,GAAA,EAACX,WAAA,CAAAwB,UAAU;QAETF,GAAG,EAAEA,GAAI;QACTC,GAAG,EAAEA,GAAI;QACTE,KAAK,EAAElB,WAAW,CAAC,GAAGe,GAAG,IAAIC,GAAG,EAAE,CAAC,IAAI,IAAK;QAC5CG,OAAO,EAAEjB,MAAM,CAACiB;MAAQ,GAJnBH,GAKN,CACF;IAAC,GATOD,GAUL,CACP;EAAC,CACE,CAAC;AAEX,CAAC;AAAAK,OAAA,CAAAnB,UAAA,GAAAA,UAAA;AAED,MAAMM,MAAM,GAAGc,uBAAU,CAACC,MAAM,CAAC;EAC/Bd,IAAI,EAAE;IACJe,IAAI,EAAE,CAAC;IACPC,GAAG,EAAEC,sBAAO,CAAC,EAAE;EACjB,CAAC;EACDV,GAAG,EAAE;IACHQ,IAAI,EAAE,CAAC;IACPG,aAAa,EAAE,KAAK;IACpBF,GAAG,EAAEC,sBAAO,CAAC,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_MatrixCell","_FluencyContext","_useFluencyModePreset","_jsxRuntime","e","__esModule","default","MatrixFill","model","useFluency","modePreset","useFluencyModePreset","grid","useUnit","matrix","$matrix","jsx","View","style","styles","children","map","row","rowIdx","cell","colIdx","MatrixCell","levelColors","colors","level","exports","StyleSheet","create","flex","gap","SPACING","minHeight","flexDirection"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixFill.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,WAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAA0E,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnE,MAAMG,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAMC,UAAU,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EACzC,MAAMC,IAAI,GAAG,IAAAC,sBAAO,EAACL,KAAK,CAACM,MAAM,CAACC,OAAO,CAAC;EAE1C,IAAI,CAACH,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACE,IAAAT,WAAA,CAAAa,GAAA,EAACnB,YAAA,CAAAoB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACP,IAAK;IAAAQ,QAAA,EACtBR,IAAI,CAACS,GAAG,CAAC,CAACC,GAAG,EAAEC,MAAM,kBACpB,IAAApB,WAAA,CAAAa,GAAA,EAACnB,YAAA,CAAAoB,IAAI;MAAcC,KAAK,EAAEC,MAAM,CAACG,GAAI;MAAAF,QAAA,EAClCE,GAAG,CAACD,GAAG,CAAC,CAACG,IAAI,EAAEC,MAAM,kBACpB,IAAAtB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAA0B,UAAU;QAAA,GAAkBF,IAAI;QAAEG,WAAW,EAAEjB,UAAU,CAACkB,MAAM,CAACC;MAAM,GAAvDJ,MAAyD,CAC3E;IAAC,GAHOF,MAIL,CACP;EAAC,CACE,CAAC;AAEX,CAAC;AAAAO,OAAA,CAAAvB,UAAA,GAAAA,UAAA;AAED,MAAMY,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BpB,IAAI,EAAE;IACJqB,IAAI,EAAE,CAAC;IACPC,GAAG,EAAEC,sBAAO,CAAC,GAAG;EAClB,CAAC;EACDb,GAAG,EAAE;IACHW,IAAI,EAAE,CAAC;IACPG,SAAS,EAAED,sBAAO,CAAC,GAAG,CAAC;IACvBE,aAAa,EAAE,KAAK;IACpBH,GAAG,EAAEC,sBAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -14,11 +14,7 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  const MatrixLegend = () => {
16
16
  const t = (0, _i18n.useText)();
17
- const {
18
- matrix,
19
- buttonColor,
20
- legendItems
21
- } = (0, _useFluencyModePreset.useFluencyModePreset)();
17
+ const modePreset = (0, _useFluencyModePreset.useFluencyModePreset)();
22
18
  const {
23
19
  onPracticePress
24
20
  } = (0, _FluencyContext.useFluency)();
@@ -26,7 +22,7 @@ const MatrixLegend = () => {
26
22
  style: styles.container,
27
23
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
28
24
  style: styles.legendItems,
29
- children: legendItems.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
25
+ children: modePreset.legend.items.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
30
26
  style: styles.legendItem,
31
27
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
32
28
  style: [styles.legendDot, {
@@ -41,7 +37,7 @@ const MatrixLegend = () => {
41
37
  onPress: onPracticePress,
42
38
  variant: _reactNativeUi.ButtonVariant.PRIMARY,
43
39
  size: _reactNativeUi.ButtonSize.MEDIUM,
44
- colorScheme: buttonColor,
40
+ colorScheme: modePreset.colors.button,
45
41
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.PlayIcon, {
46
42
  color: _reactNativeUi.COLORS.NEUTRAL_1
47
43
  }),
@@ -50,7 +46,7 @@ const MatrixLegend = () => {
50
46
  container: styles.practiceButton,
51
47
  text: styles.practiceButtonText
52
48
  },
53
- children: `${t('student.fluency.practice')} ${t(matrix.operatorName)}`
49
+ children: `${t('student.fluency.practice')} ${modePreset.label}`
54
50
  })]
55
51
  });
56
52
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencyModePreset","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","MatrixLegend","t","useText","matrix","buttonColor","legendItems","useFluencyModePreset","onPracticePress","useFluency","jsxs","View","style","styles","container","children","jsx","map","item","legendItem","legendDot","backgroundColor","color","withBorder","legendDotBorder","Text","legendLabel","label","Button","onPress","variant","ButtonVariant","PRIMARY","size","ButtonSize","MEDIUM","colorScheme","icon","PlayIcon","COLORS","NEUTRAL_1","raiseLevel","practiceButton","text","practiceButtonText","operatorName","exports","StyleSheet","create","height","flexDirection","alignItems","justifyContent","NEUTRAL_2","borderBottomColor","NEUTRAL_5","paddingHorizontal","SPACING","paddingVertical","borderTopLeftRadius","BORDER_RADIUS","borderTopRightRadius","SHADOWS","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","_interopRequireDefault","require","_reactNative","_reactNativeUi","_useFluencyModePreset","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","MatrixLegend","t","useText","modePreset","useFluencyModePreset","onPracticePress","useFluency","jsxs","View","style","styles","container","children","jsx","legendItems","legend","items","map","item","legendItem","legendDot","backgroundColor","color","withBorder","legendDotBorder","Text","legendLabel","label","Button","onPress","variant","ButtonVariant","PRIMARY","size","ButtonSize","MEDIUM","colorScheme","colors","button","icon","PlayIcon","COLORS","NEUTRAL_1","raiseLevel","practiceButton","text","practiceButtonText","exports","StyleSheet","create","height","flexDirection","alignItems","justifyContent","NEUTRAL_2","borderBottomColor","NEUTRAL_5","paddingHorizontal","SPACING","paddingVertical","borderTopLeftRadius","BORDER_RADIUS","borderTopRightRadius","SHADOWS","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":[]}