@magmamath/students-features 1.3.26-rc.0 → 1.3.26-rc.10

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 (530) hide show
  1. package/dist/commonjs/features/fluency/assets/DivideIcon.js +32 -0
  2. package/dist/commonjs/features/fluency/assets/DivideIcon.js.map +1 -0
  3. package/dist/commonjs/features/fluency/assets/FlameIcon.js +30 -0
  4. package/dist/commonjs/features/fluency/assets/FlameIcon.js.map +1 -0
  5. package/dist/commonjs/features/fluency/assets/FlashIcon.js +30 -0
  6. package/dist/commonjs/features/fluency/assets/FlashIcon.js.map +1 -0
  7. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js +231 -0
  8. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
  9. package/dist/commonjs/features/fluency/assets/SparkleIcon.js +30 -0
  10. package/dist/commonjs/features/fluency/assets/SparkleIcon.js.map +1 -0
  11. package/dist/commonjs/features/fluency/assets/StarFillIcon.js +31 -0
  12. package/dist/commonjs/features/fluency/assets/StarFillIcon.js.map +1 -0
  13. package/dist/commonjs/features/fluency/assets/TrophyBg.js +41 -0
  14. package/dist/commonjs/features/fluency/assets/TrophyBg.js.map +1 -0
  15. package/dist/commonjs/features/fluency/assets/success.mp3 +0 -0
  16. package/dist/commonjs/features/fluency/components/Fluency.js +43 -25
  17. package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
  18. package/dist/commonjs/features/fluency/components/FluencySolving.js +46 -0
  19. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -0
  20. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +42 -37
  21. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  22. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +36 -33
  23. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  24. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +153 -0
  25. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
  26. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
  27. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  28. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +39 -0
  29. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
  30. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +62 -0
  31. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
  32. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +79 -0
  33. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
  34. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +72 -0
  35. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
  36. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +93 -0
  37. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
  38. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +69 -0
  39. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
  40. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js +29 -0
  41. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
  42. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +86 -0
  43. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
  44. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +6 -0
  45. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
  46. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +7 -6
  47. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
  48. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +56 -0
  49. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
  50. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +119 -0
  51. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -0
  52. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +25 -63
  53. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  54. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +25 -39
  55. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  56. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js +38 -0
  57. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
  58. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +31 -69
  59. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  60. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js +127 -0
  61. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
  62. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +44 -46
  63. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  64. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +202 -0
  65. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
  66. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +77 -0
  67. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
  68. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js +113 -0
  69. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
  70. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
  71. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
  72. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +1 -0
  73. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
  74. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +48 -12
  75. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  76. package/dist/commonjs/features/fluency/context/FluencyContext.js +16 -0
  77. package/dist/commonjs/features/fluency/context/FluencyContext.js.map +1 -0
  78. package/dist/commonjs/features/fluency/fluency.constants.js +84 -62
  79. package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
  80. package/dist/commonjs/features/fluency/fluency.helpers.js +117 -3
  81. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
  82. package/dist/commonjs/features/fluency/fluency.types.js +4 -0
  83. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +157 -0
  84. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -0
  85. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
  86. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  87. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +51 -0
  88. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -0
  89. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +168 -0
  90. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
  91. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +57 -0
  92. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
  93. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js +18 -0
  94. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
  95. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js +26 -0
  96. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
  97. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js +27 -0
  98. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js.map +1 -0
  99. package/dist/commonjs/features/fluency/index.js +8 -0
  100. package/dist/commonjs/features/fluency/index.js.map +1 -1
  101. package/dist/commonjs/features/fluency/model/FluencyApiModel.js +6 -1
  102. package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +1 -1
  103. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +8 -1
  104. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
  105. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +15 -1
  106. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  107. package/dist/commonjs/features/fluency/model/FluencyModel.js +45 -5
  108. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
  109. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +151 -0
  110. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -0
  111. package/dist/commonjs/lib/components/GradientView.js +57 -0
  112. package/dist/commonjs/lib/components/GradientView.js.map +1 -0
  113. package/dist/commonjs/lib/constants.js +1 -0
  114. package/dist/commonjs/lib/constants.js.map +1 -1
  115. package/dist/module/features/fluency/assets/DivideIcon.js +24 -0
  116. package/dist/module/features/fluency/assets/DivideIcon.js.map +1 -0
  117. package/dist/module/features/fluency/assets/FlameIcon.js +22 -0
  118. package/dist/module/features/fluency/assets/FlameIcon.js.map +1 -0
  119. package/dist/module/features/fluency/assets/FlashIcon.js +22 -0
  120. package/dist/module/features/fluency/assets/FlashIcon.js.map +1 -0
  121. package/dist/module/features/fluency/assets/SnurrisnurrBg.js +224 -0
  122. package/dist/module/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
  123. package/dist/module/features/fluency/assets/SparkleIcon.js +22 -0
  124. package/dist/module/features/fluency/assets/SparkleIcon.js.map +1 -0
  125. package/dist/module/features/fluency/assets/StarFillIcon.js +23 -0
  126. package/dist/module/features/fluency/assets/StarFillIcon.js.map +1 -0
  127. package/dist/module/features/fluency/assets/TrophyBg.js +33 -0
  128. package/dist/module/features/fluency/assets/TrophyBg.js.map +1 -0
  129. package/dist/module/features/fluency/assets/success.mp3 +0 -0
  130. package/dist/module/features/fluency/components/Fluency.js +43 -25
  131. package/dist/module/features/fluency/components/Fluency.js.map +1 -1
  132. package/dist/module/features/fluency/components/FluencySolving.js +40 -0
  133. package/dist/module/features/fluency/components/FluencySolving.js.map +1 -0
  134. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +42 -37
  135. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  136. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +37 -34
  137. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  138. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +146 -0
  139. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -0
  140. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
  141. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  142. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +33 -0
  143. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -0
  144. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +56 -0
  145. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -0
  146. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +73 -0
  147. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -0
  148. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +66 -0
  149. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -0
  150. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +87 -0
  151. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -0
  152. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +62 -0
  153. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
  154. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js +25 -0
  155. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +1 -0
  156. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +76 -0
  157. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -0
  158. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +4 -0
  159. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js.map +1 -0
  160. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +7 -6
  161. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +1 -1
  162. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +50 -0
  163. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
  164. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +112 -0
  165. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -0
  166. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +27 -65
  167. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
  168. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +26 -40
  169. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
  170. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js +32 -0
  171. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js.map +1 -0
  172. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +31 -69
  173. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  174. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js +121 -0
  175. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
  176. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +46 -48
  177. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  178. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +195 -0
  179. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -0
  180. package/dist/module/features/fluency/components/session-results/SessionStatCard.js +71 -0
  181. package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -0
  182. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js +107 -0
  183. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js.map +1 -0
  184. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
  185. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
  186. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +2 -1
  187. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
  188. package/dist/module/features/fluency/components/start-banner/StartBanner.js +49 -13
  189. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  190. package/dist/module/features/fluency/context/FluencyContext.js +11 -0
  191. package/dist/module/features/fluency/context/FluencyContext.js.map +1 -0
  192. package/dist/module/features/fluency/fluency.constants.js +84 -62
  193. package/dist/module/features/fluency/fluency.constants.js.map +1 -1
  194. package/dist/module/features/fluency/fluency.helpers.js +113 -1
  195. package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
  196. package/dist/module/features/fluency/fluency.types.js +2 -0
  197. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +152 -0
  198. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -0
  199. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
  200. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  201. package/dist/module/features/fluency/hooks/useFluencyModePreset.js +46 -0
  202. package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -0
  203. package/dist/module/features/fluency/hooks/useFluencyNumpad.js +162 -0
  204. package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -0
  205. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +52 -0
  206. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
  207. package/dist/module/features/fluency/hooks/usePreventPageLeave.js +13 -0
  208. package/dist/module/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
  209. package/dist/module/features/fluency/hooks/usePreventWebKeys.js +21 -0
  210. package/dist/module/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
  211. package/dist/module/features/fluency/hooks/useSuccessSound.js +21 -0
  212. package/dist/module/features/fluency/hooks/useSuccessSound.js.map +1 -0
  213. package/dist/module/features/fluency/index.js +1 -0
  214. package/dist/module/features/fluency/index.js.map +1 -1
  215. package/dist/module/features/fluency/model/FluencyApiModel.js +6 -1
  216. package/dist/module/features/fluency/model/FluencyApiModel.js.map +1 -1
  217. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +8 -1
  218. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +1 -1
  219. package/dist/module/features/fluency/model/FluencyMatrixModel.js +15 -1
  220. package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
  221. package/dist/module/features/fluency/model/FluencyModel.js +46 -6
  222. package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
  223. package/dist/module/features/fluency/model/FluencySolvingModel.js +146 -0
  224. package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -0
  225. package/dist/module/lib/components/GradientView.js +51 -0
  226. package/dist/module/lib/components/GradientView.js.map +1 -0
  227. package/dist/module/lib/constants.js +1 -0
  228. package/dist/module/lib/constants.js.map +1 -1
  229. package/dist/typescript/commonjs/features/fluency/assets/DivideIcon.d.ts +8 -0
  230. package/dist/typescript/commonjs/features/fluency/assets/DivideIcon.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts +4 -0
  232. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts +4 -0
  234. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
  236. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
  237. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts +4 -0
  238. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts +7 -0
  240. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts +3 -0
  242. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +8 -1
  244. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
  245. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts +10 -0
  246. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +2 -4
  248. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  249. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +1 -3
  250. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  251. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +15 -0
  252. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  254. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +12 -0
  256. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +7 -0
  258. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts +3 -0
  260. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts +7 -0
  262. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +3 -0
  264. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
  266. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
  268. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +17 -0
  270. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
  271. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +34 -0
  272. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
  273. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts +1 -3
  274. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
  276. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +11 -0
  278. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -3
  280. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  281. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts +1 -3
  282. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
  283. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
  284. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  286. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
  287. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
  288. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +1 -3
  289. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  290. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +8 -0
  291. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
  292. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +10 -0
  293. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
  294. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
  295. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
  296. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts +1 -3
  297. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  298. package/dist/typescript/commonjs/features/fluency/context/FluencyContext.d.ts +11 -0
  299. package/dist/typescript/commonjs/features/fluency/context/FluencyContext.d.ts.map +1 -0
  300. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +38 -20
  301. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
  302. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +13 -1
  303. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
  304. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +106 -1
  305. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
  306. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +19 -0
  307. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -0
  308. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  309. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  310. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +22 -0
  311. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -0
  312. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
  313. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
  314. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +25 -0
  315. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
  316. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
  317. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
  318. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
  319. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
  320. package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts +4 -0
  321. package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts.map +1 -0
  322. package/dist/typescript/commonjs/features/fluency/index.d.ts +1 -0
  323. package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -1
  324. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +6 -3
  325. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
  326. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
  327. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
  328. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +8 -0
  329. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  330. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +6 -7
  331. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
  332. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +29 -0
  333. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -0
  334. package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
  335. package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
  336. package/dist/typescript/commonjs/lib/constants.d.ts +2 -1
  337. package/dist/typescript/commonjs/lib/constants.d.ts.map +1 -1
  338. package/dist/typescript/module/features/fluency/assets/DivideIcon.d.ts +8 -0
  339. package/dist/typescript/module/features/fluency/assets/DivideIcon.d.ts.map +1 -0
  340. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts +4 -0
  341. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts.map +1 -0
  342. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts +4 -0
  343. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts.map +1 -0
  344. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
  345. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
  346. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts +4 -0
  347. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
  348. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts +7 -0
  349. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts.map +1 -0
  350. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts +3 -0
  351. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts.map +1 -0
  352. package/dist/typescript/module/features/fluency/components/Fluency.d.ts +8 -1
  353. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
  354. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts +10 -0
  355. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -0
  356. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +2 -4
  357. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  358. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +1 -3
  359. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  360. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +15 -0
  361. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -0
  362. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  363. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  364. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +12 -0
  365. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -0
  366. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +7 -0
  367. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -0
  368. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts +3 -0
  369. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -0
  370. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts +7 -0
  371. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -0
  372. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +3 -0
  373. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -0
  374. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
  375. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
  376. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +5 -0
  377. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +1 -0
  378. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +17 -0
  379. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -0
  380. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +34 -0
  381. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -0
  382. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts +1 -3
  383. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -1
  384. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
  385. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
  386. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +11 -0
  387. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -0
  388. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +1 -3
  389. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
  390. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts +1 -3
  391. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
  392. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts +7 -0
  393. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +1 -0
  394. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  395. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
  396. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
  397. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +1 -3
  398. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  399. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +8 -0
  400. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -0
  401. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +10 -0
  402. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -0
  403. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts +15 -0
  404. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +1 -0
  405. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts +1 -3
  406. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  407. package/dist/typescript/module/features/fluency/context/FluencyContext.d.ts +11 -0
  408. package/dist/typescript/module/features/fluency/context/FluencyContext.d.ts.map +1 -0
  409. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +38 -20
  410. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
  411. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +13 -1
  412. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
  413. package/dist/typescript/module/features/fluency/fluency.types.d.ts +106 -1
  414. package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
  415. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +19 -0
  416. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -0
  417. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  418. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  419. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +22 -0
  420. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -0
  421. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +53 -0
  422. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -0
  423. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +25 -0
  424. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
  425. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
  426. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
  427. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
  428. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
  429. package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts +4 -0
  430. package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts.map +1 -0
  431. package/dist/typescript/module/features/fluency/index.d.ts +1 -0
  432. package/dist/typescript/module/features/fluency/index.d.ts.map +1 -1
  433. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +6 -3
  434. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +1 -1
  435. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +5 -0
  436. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -1
  437. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +8 -0
  438. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
  439. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +6 -7
  440. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
  441. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +29 -0
  442. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -0
  443. package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
  444. package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
  445. package/dist/typescript/module/lib/constants.d.ts +2 -1
  446. package/dist/typescript/module/lib/constants.d.ts.map +1 -1
  447. package/package.json +3 -1
  448. package/src/features/fluency/assets/DivideIcon.tsx +21 -0
  449. package/src/features/fluency/assets/FlameIcon.tsx +14 -0
  450. package/src/features/fluency/assets/FlashIcon.tsx +14 -0
  451. package/src/features/fluency/assets/SnurrisnurrBg.tsx +193 -0
  452. package/src/features/fluency/assets/SparkleIcon.tsx +14 -0
  453. package/src/features/fluency/assets/StarFillIcon.tsx +20 -0
  454. package/src/features/fluency/assets/TrophyBg.tsx +32 -0
  455. package/src/features/fluency/assets/success.mp3 +0 -0
  456. package/src/features/fluency/components/Fluency.tsx +42 -23
  457. package/src/features/fluency/components/FluencySolving.tsx +39 -0
  458. package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +36 -32
  459. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +51 -18
  460. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +140 -0
  461. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
  462. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +51 -0
  463. package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +54 -0
  464. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +70 -0
  465. package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +74 -0
  466. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +87 -0
  467. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx +71 -0
  468. package/src/features/fluency/components/fluency-solving/fluencySolving.constants.ts +25 -0
  469. package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +102 -0
  470. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +37 -0
  471. package/src/features/fluency/components/matrix/FluencyMatrix.tsx +6 -6
  472. package/src/features/fluency/components/matrix/components/CellTooltip.tsx +46 -0
  473. package/src/features/fluency/components/matrix/components/MatrixCell.tsx +119 -0
  474. package/src/features/fluency/components/matrix/components/MatrixFill.tsx +32 -65
  475. package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +22 -33
  476. package/src/features/fluency/components/mobile-menu/MobileMenu.tsx +29 -0
  477. package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +25 -71
  478. package/src/features/fluency/components/select-math-operator/ProgressBarSparkles.tsx +114 -0
  479. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +47 -64
  480. package/src/features/fluency/components/session-results/FluencySessionResults.tsx +190 -0
  481. package/src/features/fluency/components/session-results/SessionStatCard.tsx +58 -0
  482. package/src/features/fluency/components/session-results/SkillProgressionRow.tsx +100 -0
  483. package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +15 -15
  484. package/src/features/fluency/components/start-banner/MathFlashcard.tsx +2 -1
  485. package/src/features/fluency/components/start-banner/StartBanner.tsx +47 -15
  486. package/src/features/fluency/context/FluencyContext.ts +20 -0
  487. package/src/features/fluency/fluency.constants.ts +90 -64
  488. package/src/features/fluency/fluency.helpers.ts +113 -1
  489. package/src/features/fluency/fluency.types.ts +126 -1
  490. package/src/features/fluency/hooks/useCardSnapAnimation.ts +170 -0
  491. package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
  492. package/src/features/fluency/hooks/useFluencyModePreset.ts +46 -0
  493. package/src/features/fluency/hooks/useFluencyNumpad.tsx +139 -0
  494. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +67 -0
  495. package/src/features/fluency/hooks/usePreventPageLeave.ts +11 -0
  496. package/src/features/fluency/hooks/usePreventWebKeys.ts +24 -0
  497. package/src/features/fluency/hooks/useSuccessSound.ts +20 -0
  498. package/src/features/fluency/index.ts +1 -0
  499. package/src/features/fluency/model/FluencyApiModel.ts +18 -2
  500. package/src/features/fluency/model/FluencyDaysStreakModel.ts +11 -1
  501. package/src/features/fluency/model/FluencyMatrixModel.ts +20 -1
  502. package/src/features/fluency/model/FluencyModel.ts +53 -11
  503. package/src/features/fluency/model/FluencySolvingModel.ts +186 -0
  504. package/src/i18n/.generated/schema.json +31 -0
  505. package/src/lib/components/GradientView.tsx +63 -0
  506. package/src/lib/constants.ts +3 -2
  507. package/src/types/types.d.ts +5 -0
  508. package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js +0 -15
  509. package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js.map +0 -1
  510. package/dist/commonjs/features/fluency/model/fluency.instance.js +0 -11
  511. package/dist/commonjs/features/fluency/model/fluency.instance.js.map +0 -1
  512. package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js +0 -10
  513. package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js.map +0 -1
  514. package/dist/module/features/fluency/model/fluency.instance.js +0 -7
  515. package/dist/module/features/fluency/model/fluency.instance.js.map +0 -1
  516. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
  517. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
  518. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts +0 -3
  519. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +0 -1
  520. package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts +0 -3
  521. package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts.map +0 -1
  522. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts +0 -2
  523. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts.map +0 -1
  524. package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts +0 -3
  525. package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +0 -1
  526. package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts +0 -3
  527. package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts.map +0 -1
  528. package/src/features/fluency/__tests__/FluencyModel.test.ts +0 -28
  529. package/src/features/fluency/hooks/useFluencyModeUIPreset.ts +0 -8
  530. package/src/features/fluency/model/fluency.instance.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_i18n","_StartBanner","_DayStreakCounter","_SelectMathOperator","_FluencyMatrix","_jsxRuntime","e","__esModule","default","Fluency","model","t","useText","jsxs","View","style","styles","container","children","jsx","Typography","variant","HeadingVariants","H2","title","header","StartBanner","DayStreakCounter","matrixContainer","operatorWrapper","SelectMathOperator","FluencyMatrix","exports","MATRIX_LEGEND_HEIGHT","StyleSheet","create","color","COLORS","NEUTRAL_9","height","flexDirection","marginTop","SPACING","gap","zIndex","alignSelf"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAAsD,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAO/C,MAAMG,OAAO,GAAGA,CAAC;EAAEC;AAAoB,CAAC,KAAK;EAClD,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,oBACE,IAAAP,WAAA,CAAAQ,IAAA,EAACf,YAAA,CAAAgB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAb,WAAA,CAAAc,GAAA,EAACpB,cAAA,CAAAqB,UAAU;MAACC,OAAO,EAAEC,8BAAe,CAACC,EAAG;MAACR,KAAK,EAAEC,MAAM,CAACQ,KAAM;MAAAN,QAAA,EAAC;IAE9D,CAAY,CAAC,eAEb,IAAAb,WAAA,CAAAQ,IAAA,EAACf,YAAA,CAAAgB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACS,MAAO;MAAAP,QAAA,gBACzB,IAAAb,WAAA,CAAAc,GAAA,EAAClB,YAAA,CAAAyB,WAAW,IAAE,CAAC,eACf,IAAArB,WAAA,CAAAc,GAAA,EAACjB,iBAAA,CAAAyB,gBAAgB,IAAE,CAAC;IAAA,CAChB,CAAC,eAEP,IAAAtB,WAAA,CAAAQ,IAAA,EAACf,YAAA,CAAAgB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACY,eAAgB;MAAAV,QAAA,gBAClC,IAAAb,WAAA,CAAAc,GAAA,EAACrB,YAAA,CAAAgB,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACa,eAAgB;QAAAX,QAAA,eAClC,IAAAb,WAAA,CAAAc,GAAA,EAAChB,mBAAA,CAAA2B,kBAAkB,IAAE;MAAC,CAClB,CAAC,eACP,IAAAzB,WAAA,CAAAc,GAAA,EAACf,cAAA,CAAA2B,aAAa,IAAE,CAAC;IAAA,CACb,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAvB,OAAA,GAAAA,OAAA;AAED,MAAMwB,oBAAoB,GAAG,EAAE;AAE/B,MAAMjB,MAAM,GAAGkB,uBAAU,CAACC,MAAM,CAAC;EAC/BlB,SAAS,EAAE,CAAC,CAAC;EACbO,KAAK,EAAE;IAAEY,KAAK,EAAEC,qBAAM,CAACC;EAAU,CAAC;EAClCb,MAAM,EAAE;IACNc,MAAM,EAAE,GAAG;IACXC,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACvBC,GAAG,EAAED,sBAAO,CAAC,GAAG,CAAC;IACjBE,MAAM,EAAE;EACV,CAAC;EACDhB,eAAe,EAAE;IACfY,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACvBC,GAAG,EAAED,sBAAO,CAAC,GAAG;EAClB,CAAC;EACDb,eAAe,EAAE;IACfgB,SAAS,EAAE,YAAY;IACvBJ,SAAS,EAAER;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeUi","_i18n","_StartBanner","_DayStreakCounter","_SelectMathOperator","_FluencyMatrix","_MobileMenu","_FluencyContext","_jsxRuntime","e","__esModule","default","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","useGate","gate","t","useText","jsx","FluencyProvider","value","children","jsxs","View","style","styles","title","MobileMenu","onPress","Typography","variant","HeadingVariants","H2","titleText","header","StartBanner","DayStreakCounter","matrix","SelectMathOperator","FluencyMatrix","exports","StyleSheet","create","flexDirection","alignItems","color","COLORS","NEUTRAL_9","height","marginTop","SPACING","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FluencySolving = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _FluencyContext = require("../context/FluencyContext.js");
11
+ var _FluencySolvingHeader = require("./fluency-solving/components/FluencySolvingHeader.js");
12
+ var _FluencySolvingProgress = require("./fluency-solving/components/FluencySolvingProgress.js");
13
+ var _FluencySolvingCard = require("./fluency-solving/components/FluencySolvingCard.js");
14
+ var _FluencySessionResults = require("./session-results/FluencySessionResults.js");
15
+ var _usePreventPageLeave = require("../hooks/usePreventPageLeave.js");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ const FluencySolving = ({
19
+ model,
20
+ onClosePress,
21
+ onEndModalPress
22
+ }) => {
23
+ (0, _usePreventPageLeave.usePreventPageLeave)();
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FluencyContext.FluencyProvider, {
25
+ value: {
26
+ model
27
+ },
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
29
+ style: styles.container,
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencySolvingHeader.FluencySolvingHeader, {
31
+ onClosePress: onClosePress
32
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencySolvingProgress.FluencySolvingProgress, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencySolvingCard.FluencySolvingCard, {})]
33
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencySessionResults.FluencySessionResults, {
34
+ onClosePress: onClosePress,
35
+ onEndModalPress: onEndModalPress
36
+ })]
37
+ });
38
+ };
39
+ exports.FluencySolving = FluencySolving;
40
+ const styles = _reactNative.StyleSheet.create({
41
+ container: {
42
+ flex: 1,
43
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1
44
+ }
45
+ });
46
+ //# sourceMappingURL=FluencySolving.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_FluencyContext","_FluencySolvingHeader","_FluencySolvingProgress","_FluencySolvingCard","_FluencySessionResults","_usePreventPageLeave","_jsxRuntime","e","__esModule","default","FluencySolving","model","onClosePress","onEndModalPress","usePreventPageLeave","jsxs","FluencyProvider","value","children","View","style","styles","container","jsx","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","exports","StyleSheet","create","flex","backgroundColor","COLORS","NEUTRAL_1"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencySolving.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AAAkE,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS3D,MAAMG,cAAc,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAqC,CAAC,KAAK;EAC/F,IAAAC,wCAAmB,EAAC,CAAC;EAErB,oBACE,IAAAR,WAAA,CAAAS,IAAA,EAACf,eAAA,CAAAgB,eAAe;IAACC,KAAK,EAAE;MAAEN;IAAM,CAAE;IAAAO,QAAA,gBAChC,IAAAZ,WAAA,CAAAS,IAAA,EAACjB,YAAA,CAAAqB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAJ,QAAA,gBAC5B,IAAAZ,WAAA,CAAAiB,GAAA,EAACtB,qBAAA,CAAAuB,oBAAoB;QAACZ,YAAY,EAAEA;MAAa,CAAE,CAAC,eACpD,IAAAN,WAAA,CAAAiB,GAAA,EAACrB,uBAAA,CAAAuB,sBAAsB,IAAE,CAAC,eAC1B,IAAAnB,WAAA,CAAAiB,GAAA,EAACpB,mBAAA,CAAAuB,kBAAkB,IAAE,CAAC;IAAA,CAClB,CAAC,eAEP,IAAApB,WAAA,CAAAiB,GAAA,EAACnB,sBAAA,CAAAuB,qBAAqB;MAACf,YAAY,EAAEA,YAAa;MAACC,eAAe,EAAEA;IAAgB,CAAE,CAAC;EAAA,CACxE,CAAC;AAEtB,CAAC;AAAAe,OAAA,CAAAlB,cAAA,GAAAA,cAAA;AAED,MAAMW,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEC,qBAAM,CAACC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -7,38 +7,44 @@ exports.StreakDay = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactNative = require("react-native");
10
+ var _fluencyConstants = require("../../fluency.constants.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const CIRCLE_SIZE = _reactNativeUi.SPACING[800];
13
- const CIRCLE_BORDER_RADIUS = _reactNativeUi.BORDER_RADIUS[400];
14
- const getStatusStyle = (status, streakColor) => {
15
- if (status === 'gained') {
16
- return {
17
- circle: {
18
- backgroundColor: streakColor.gained,
19
- borderWidth: 1,
20
- borderColor: _reactNativeUi.COLORS.NEUTRAL_3
21
- },
22
- label: {
23
- color: streakColor.gained
24
- },
25
- hasIcon: true
26
- };
27
- }
28
- if (status === 'today') {
29
- return {
30
- circle: {
31
- backgroundColor: _reactNativeUi.COLORS.NEUTRAL_2,
32
- borderWidth: 3,
33
- borderColor: streakColor.todayBorder
34
- },
35
- label: {
36
- color: streakColor.todayBorder
37
- },
38
- hasIcon: false
39
- };
40
- }
41
- return {
13
+ const STATUS_STYLES = {
14
+ [_fluencyConstants.StreakStatus.GAINED]: {
15
+ circle: {
16
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_YELLOW,
17
+ borderWidth: 1,
18
+ borderColor: _reactNativeUi.COLORS.NEUTRAL_3
19
+ },
20
+ label: {
21
+ color: _reactNativeUi.COLORS.PRIMARY_YELLOW
22
+ },
23
+ hasIcon: true
24
+ },
25
+ [_fluencyConstants.StreakStatus.TODAY]: {
26
+ circle: {
27
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_2,
28
+ borderWidth: 3,
29
+ borderColor: _reactNativeUi.COLORS.YELLOW_6
30
+ },
31
+ label: {
32
+ color: _reactNativeUi.COLORS.YELLOW_6
33
+ },
34
+ hasIcon: false
35
+ },
36
+ [_fluencyConstants.StreakStatus.TODAY_GAINED]: {
37
+ circle: {
38
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_YELLOW,
39
+ borderWidth: 3,
40
+ borderColor: _reactNativeUi.COLORS.YELLOW_6
41
+ },
42
+ label: {
43
+ color: _reactNativeUi.COLORS.YELLOW_6
44
+ },
45
+ hasIcon: true
46
+ },
47
+ [_fluencyConstants.StreakStatus.MISSED]: {
42
48
  circle: {
43
49
  backgroundColor: _reactNativeUi.COLORS.NEUTRAL_2,
44
50
  borderWidth: 1,
@@ -48,18 +54,17 @@ const getStatusStyle = (status, streakColor) => {
48
54
  color: _reactNativeUi.COLORS.NEUTRAL_4
49
55
  },
50
56
  hasIcon: false
51
- };
57
+ }
52
58
  };
53
59
  const StreakDay = ({
54
60
  label,
55
- status,
56
- streakColor
61
+ status
57
62
  }) => {
58
63
  const {
59
64
  circle,
60
65
  label: labelStyle,
61
66
  hasIcon
62
- } = getStatusStyle(status, streakColor);
67
+ } = STATUS_STYLES[status];
63
68
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
69
  style: styles.container,
65
70
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -81,9 +86,9 @@ const styles = _reactNative.StyleSheet.create({
81
86
  gap: _reactNativeUi.SPACING[100]
82
87
  },
83
88
  circle: {
84
- width: CIRCLE_SIZE,
85
- height: CIRCLE_SIZE,
86
- borderRadius: CIRCLE_BORDER_RADIUS,
89
+ width: _reactNativeUi.SPACING[800],
90
+ height: _reactNativeUi.SPACING[800],
91
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400],
87
92
  alignItems: 'center',
88
93
  justifyContent: 'center'
89
94
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","CIRCLE_SIZE","SPACING","CIRCLE_BORDER_RADIUS","BORDER_RADIUS","getStatusStyle","status","streakColor","circle","backgroundColor","gained","borderWidth","borderColor","COLORS","NEUTRAL_3","label","color","hasIcon","NEUTRAL_2","todayBorder","NEUTRAL_4","StreakDay","labelStyle","jsxs","View","style","styles","container","children","jsx","CorrectIcon","NEUTRAL_1","Typography","variant","HeadingVariants","H3","exports","StyleSheet","create","alignItems","gap","width","height","borderRadius","justifyContent"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreak.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_fluencyConstants","_jsxRuntime","e","__esModule","default","STATUS_STYLES","StreakStatus","GAINED","circle","backgroundColor","COLORS","PRIMARY_YELLOW","borderWidth","borderColor","NEUTRAL_3","label","color","hasIcon","TODAY","NEUTRAL_2","YELLOW_6","TODAY_GAINED","MISSED","NEUTRAL_4","StreakDay","status","labelStyle","jsxs","View","style","styles","container","children","jsx","CorrectIcon","NEUTRAL_1","Typography","variant","HeadingVariants","H3","exports","StyleSheet","create","alignItems","gap","SPACING","width","height","borderRadius","BORDER_RADIUS","justifyContent"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreak.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,51 +8,53 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeUi = require("@magmamath/react-native-ui");
10
10
  var _DayStreak = require("./DayStreak.js");
11
- var _useFluencyModeUIPreset = require("../../hooks/useFluencyModeUIPreset.js");
11
+ var _i18n = require("../../../../i18n/i18n.js");
12
+ var _FluencyContext = require("../../context/FluencyContext.js");
13
+ var _effectorReact = require("effector-react");
14
+ var _fluencyConstants = require("../../fluency.constants.js");
12
15
  var _jsxRuntime = require("react/jsx-runtime");
13
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- const CONTAINER_WIDTH = 230;
15
- const STREAK_DAYS_MARGIN_TOP = 10;
16
- const DayStreakCounter = ({}) => {
17
+ const ONE_DAY_MS = 86_400_000;
18
+ const DAY_LABEL_KEYS = ['student.fluency.dayMonday', 'student.fluency.dayTuesday', 'student.fluency.dayWednesday', 'student.fluency.dayThursday', 'student.fluency.dayFriday'];
19
+ const generateStreakDates = stats => {
20
+ const todayMs = new Date().setHours(0, 0, 0, 0);
21
+ const startMs = new Date(stats.weekStart).setHours(0, 0, 0, 0);
22
+ const practiced = new Set(stats.practicedDates.map(d => new Date(d).setHours(0, 0, 0, 0)));
23
+ return [0, 1, 2, 3, 4].map(i => {
24
+ const dayMs = startMs + i * ONE_DAY_MS;
25
+ const isPracticed = practiced.has(dayMs);
26
+ const isToday = dayMs === todayMs;
27
+ if (isPracticed && isToday) return _fluencyConstants.StreakStatus.TODAY_GAINED;
28
+ if (isPracticed) return _fluencyConstants.StreakStatus.GAINED;
29
+ if (isToday) return _fluencyConstants.StreakStatus.TODAY;
30
+ return _fluencyConstants.StreakStatus.MISSED;
31
+ });
32
+ };
33
+ const DayStreakCounter = () => {
34
+ const t = (0, _i18n.useText)();
17
35
  const {
18
- streakColor
19
- } = (0, _useFluencyModeUIPreset.useFluencyModeUIPreset)();
36
+ model
37
+ } = (0, _FluencyContext.useFluency)();
38
+ const statuses = (0, _effectorReact.useStoreMap)(model.streak.$stats, stats => stats ? generateStreakDates(stats) : []);
20
39
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
21
40
  style: styles.container,
22
41
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
23
42
  style: styles.label,
24
- children: "Practice this week"
25
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
43
+ children: t('student.fluency.practiceThisWeek')
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
26
45
  style: styles.streakDays,
27
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
28
- label: "M",
29
- status: "gained",
30
- streakColor: streakColor
31
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
32
- label: "T",
33
- status: "gained",
34
- streakColor: streakColor
35
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
36
- label: "W",
37
- status: "missed",
38
- streakColor: streakColor
39
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
40
- label: "T",
41
- status: "today",
42
- streakColor: streakColor
43
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
44
- label: "F",
45
- status: "gained",
46
- streakColor: streakColor
47
- })]
46
+ children: DAY_LABEL_KEYS.map((key, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreak.StreakDay, {
47
+ label: t(key),
48
+ status: statuses[i] ?? _fluencyConstants.StreakStatus.MISSED
49
+ }, key))
48
50
  })]
49
51
  });
50
52
  };
51
53
  exports.DayStreakCounter = DayStreakCounter;
52
54
  const styles = _reactNative.StyleSheet.create({
53
55
  container: {
54
- height: '100%',
55
- width: CONTAINER_WIDTH,
56
+ width: 230,
57
+ height: 110,
56
58
  paddingVertical: _reactNativeUi.SPACING[200],
57
59
  paddingHorizontal: _reactNativeUi.SPACING[400],
58
60
  borderRadius: _reactNativeUi.BORDER_RADIUS[300],
@@ -60,13 +62,14 @@ const styles = _reactNative.StyleSheet.create({
60
62
  ..._reactNativeUi.SHADOWS[1]
61
63
  },
62
64
  label: {
63
- fontSize: _reactNativeUi.SPACING[300],
65
+ fontSize: 12,
64
66
  fontWeight: '700',
67
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
65
68
  color: _reactNativeUi.COLORS.NEUTRAL_8
66
69
  },
67
70
  streakDays: {
68
71
  flexDirection: 'row',
69
- marginTop: STREAK_DAYS_MARGIN_TOP,
72
+ marginTop: 10,
70
73
  gap: _reactNativeUi.SPACING[200]
71
74
  }
72
75
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_DayStreak","_useFluencyModeUIPreset","_jsxRuntime","e","__esModule","default","CONTAINER_WIDTH","STREAK_DAYS_MARGIN_TOP","DayStreakCounter","streakColor","useFluencyModeUIPreset","jsxs","View","style","styles","container","children","jsx","Typography","label","streakDays","StreakDay","status","exports","StyleSheet","create","height","width","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","fontSize","fontWeight","color","NEUTRAL_8","flexDirection","marginTop","gap"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAA2E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3E,MAAMG,eAAe,GAAG,GAAG;AAC3B,MAAMC,sBAAsB,GAAG,EAAE;AAI1B,MAAMC,gBAAgB,GAAGA,CAAC,CAAwB,CAAC,KAAK;EAC7D,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,8CAAsB,EAAC,CAAC;EAEhD,oBACE,IAAAR,WAAA,CAAAS,IAAA,EAACb,YAAA,CAAAc,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5B,IAAAd,WAAA,CAAAe,GAAA,EAAClB,cAAA,CAAAmB,UAAU;MAACL,KAAK,EAAEC,MAAM,CAACK,KAAM;MAAAH,QAAA,EAAC;IAAkB,CAAY,CAAC,eAEhE,IAAAd,WAAA,CAAAS,IAAA,EAACb,YAAA,CAAAc,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACM,UAAW;MAAAJ,QAAA,gBAE7B,IAAAd,WAAA,CAAAe,GAAA,EAACjB,UAAA,CAAAqB,SAAS;QAACF,KAAK,EAAC,GAAG;QAACG,MAAM,EAAC,QAAQ;QAACb,WAAW,EAAEA;MAAY,CAAE,CAAC,eACjE,IAAAP,WAAA,CAAAe,GAAA,EAACjB,UAAA,CAAAqB,SAAS;QAACF,KAAK,EAAC,GAAG;QAACG,MAAM,EAAC,QAAQ;QAACb,WAAW,EAAEA;MAAY,CAAE,CAAC,eACjE,IAAAP,WAAA,CAAAe,GAAA,EAACjB,UAAA,CAAAqB,SAAS;QAACF,KAAK,EAAC,GAAG;QAACG,MAAM,EAAC,QAAQ;QAACb,WAAW,EAAEA;MAAY,CAAE,CAAC,eACjE,IAAAP,WAAA,CAAAe,GAAA,EAACjB,UAAA,CAAAqB,SAAS;QAACF,KAAK,EAAC,GAAG;QAACG,MAAM,EAAC,OAAO;QAACb,WAAW,EAAEA;MAAY,CAAE,CAAC,eAChE,IAAAP,WAAA,CAAAe,GAAA,EAACjB,UAAA,CAAAqB,SAAS;QAACF,KAAK,EAAC,GAAG;QAACG,MAAM,EAAC,QAAQ;QAACb,WAAW,EAAEA;MAAY,CAAE,CAAC;IAAA,CAC7D,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAAAc,OAAA,CAAAf,gBAAA,GAAAA,gBAAA;AAED,MAAMM,MAAM,GAAGU,uBAAU,CAACC,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,MAAM,EAAE,MAAM;IACdC,KAAK,EAAErB,eAAe;IACtBsB,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjC,GAAGC,sBAAO,CAAC,CAAC;EACd,CAAC;EACDjB,KAAK,EAAE;IACLkB,QAAQ,EAAER,sBAAO,CAAC,GAAG,CAAC;IACtBS,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAEL,qBAAM,CAACM;EAChB,CAAC;EACDpB,UAAU,EAAE;IACVqB,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAEnC,sBAAsB;IACjCoC,GAAG,EAAEd,sBAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_DayStreak","_i18n","_FluencyContext","_effectorReact","_fluencyConstants","_jsxRuntime","e","__esModule","default","ONE_DAY_MS","DAY_LABEL_KEYS","generateStreakDates","stats","todayMs","Date","setHours","startMs","weekStart","practiced","Set","practicedDates","map","d","i","dayMs","isPracticed","has","isToday","StreakStatus","TODAY_GAINED","GAINED","TODAY","MISSED","DayStreakCounter","t","useText","model","useFluency","statuses","useStoreMap","streak","$stats","jsxs","View","style","styles","container","children","jsx","Typography","label","streakDays","key","StreakDay","status","exports","StyleSheet","create","width","height","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","fontSize","fontWeight","fontFamily","FONT_FAMILY","buenosAires","color","NEUTRAL_8","flexDirection","marginTop","gap"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EquationContent = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _i18n = require("../../../../../i18n/i18n.js");
11
+ var _useFluencySolvingPreset = require("../../../hooks/useFluencySolvingPreset.js");
12
+ var _usePreventWebKeys = require("../../../hooks/usePreventWebKeys.js");
13
+ var _fluencyConstants = require("../../../fluency.constants.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ 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); }
16
+ 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; }
17
+ const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
18
+ const STATUS_COLOR = {
19
+ [_fluencyConstants.AttemptStatus.CORRECT]: _reactNativeUi.COLORS.PRIMARY_GREEN,
20
+ [_fluencyConstants.AttemptStatus.INCORRECT]: _reactNativeUi.COLORS.PRIMARY_RED,
21
+ [_fluencyConstants.AttemptStatus.SKIPPED]: _reactNativeUi.COLORS.NEUTRAL_7
22
+ };
23
+ const getLabelText = (status, defaultText, correctAnswer) => {
24
+ switch (status) {
25
+ case _fluencyConstants.AttemptStatus.CORRECT:
26
+ return 'Correct!';
27
+ case _fluencyConstants.AttemptStatus.INCORRECT:
28
+ return `INCORRECT — ANSWER: ${correctAnswer ?? ''}`;
29
+ case _fluencyConstants.AttemptStatus.SKIPPED:
30
+ return 'Skipped';
31
+ default:
32
+ return defaultText;
33
+ }
34
+ };
35
+ const EquationContent = ({
36
+ leftOperand,
37
+ rightOperand,
38
+ mode,
39
+ value = '',
40
+ readOnly = false,
41
+ status,
42
+ correctAnswer,
43
+ onChange
44
+ }) => {
45
+ const t = (0, _i18n.useText)();
46
+ const modePreset = (0, _useFluencySolvingPreset.useFluencySolvingPreset)({
47
+ mode
48
+ });
49
+ const labelColor = status ? STATUS_COLOR[status] : _reactNativeUi.COLORS.NEUTRAL_7;
50
+ const labelText = getLabelText(status, t('student.fluency.typeYourAnswer'), correctAnswer);
51
+ const answerAreaColor = status === _fluencyConstants.AttemptStatus.INCORRECT ? _reactNativeUi.COLORS.PRIMARY_RED : modePreset.colors.accent;
52
+ const inputRef = (0, _react.useRef)(null);
53
+ (0, _usePreventWebKeys.usePreventWebKeys)({
54
+ ref: inputRef,
55
+ keys: CURSOR_MOVE_KEYS,
56
+ enabled: !readOnly
57
+ });
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
60
+ variant: _reactNativeUi.HeadingVariants.H9,
61
+ style: [styles.cardLabel, {
62
+ color: labelColor
63
+ }],
64
+ children: labelText
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
66
+ style: styles.equationRow,
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
68
+ style: styles.number,
69
+ children: leftOperand
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
71
+ style: [styles.number, {
72
+ color: modePreset.colors.accent
73
+ }],
74
+ children: modePreset.symbol
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
76
+ style: styles.number,
77
+ children: rightOperand
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
79
+ style: styles.equals,
80
+ children: "="
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
82
+ style: [styles.answerBox, value.length > 0 && {
83
+ borderBottomColor: answerAreaColor
84
+ }],
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
86
+ ref: readOnly ? undefined : inputRef,
87
+ value: value,
88
+ onChangeText: readOnly ? undefined : onChange,
89
+ editable: !readOnly,
90
+ keyboardType: "number-pad",
91
+ maxLength: _fluencyConstants.MAX_INPUT_LENGTH,
92
+ selection: readOnly ? undefined : {
93
+ start: value.length,
94
+ end: value.length
95
+ },
96
+ style: [styles.number, styles.answerInput, {
97
+ color: answerAreaColor
98
+ }],
99
+ autoFocus: !readOnly
100
+ })
101
+ })]
102
+ })]
103
+ });
104
+ };
105
+ exports.EquationContent = EquationContent;
106
+ const styles = _reactNative.StyleSheet.create({
107
+ cardLabel: {
108
+ fontSize: 11,
109
+ fontWeight: '700',
110
+ letterSpacing: 1.3,
111
+ marginBottom: _reactNativeUi.SPACING[500],
112
+ color: _reactNativeUi.COLORS.NEUTRAL_7
113
+ },
114
+ equationRow: {
115
+ flexDirection: 'row',
116
+ alignItems: 'center',
117
+ gap: _reactNativeUi.SPACING[300],
118
+ marginTop: _reactNativeUi.SPACING[600]
119
+ },
120
+ number: {
121
+ fontSize: 75,
122
+ color: _reactNativeUi.COLORS.NEUTRAL_10,
123
+ fontWeight: '700',
124
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
125
+ },
126
+ equals: {
127
+ fontSize: 75,
128
+ color: _reactNativeUi.COLORS.NEUTRAL_7,
129
+ fontWeight: '700',
130
+ fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
131
+ },
132
+ answerBox: {
133
+ width: 135,
134
+ height: 44,
135
+ marginBottom: -_reactNativeUi.SPACING[800],
136
+ alignItems: 'center',
137
+ borderBottomWidth: 8,
138
+ borderBottomColor: _reactNativeUi.COLORS.NEUTRAL_10
139
+ },
140
+ answerInput: {
141
+ position: 'absolute',
142
+ bottom: -_reactNativeUi.SPACING[400],
143
+ textAlign: 'center',
144
+ width: '100%',
145
+ borderWidth: 0,
146
+ backgroundColor: 'transparent',
147
+ ...(_reactNative.Platform.OS === 'web' && {
148
+ outlineStyle: 'none',
149
+ caretColor: 'transparent'
150
+ })
151
+ }
152
+ });
153
+ //# sourceMappingURL=EquationContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_i18n","_useFluencySolvingPreset","_usePreventWebKeys","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CURSOR_MOVE_KEYS","STATUS_COLOR","AttemptStatus","CORRECT","COLORS","PRIMARY_GREEN","INCORRECT","PRIMARY_RED","SKIPPED","NEUTRAL_7","getLabelText","status","defaultText","correctAnswer","EquationContent","leftOperand","rightOperand","mode","value","readOnly","onChange","useText","modePreset","useFluencySolvingPreset","labelColor","labelText","answerAreaColor","colors","accent","inputRef","useRef","usePreventWebKeys","ref","keys","enabled","jsxs","Fragment","children","jsx","Typography","variant","HeadingVariants","H9","style","styles","cardLabel","color","View","equationRow","number","symbol","equals","answerBox","length","borderBottomColor","TextInput","undefined","onChangeText","editable","keyboardType","maxLength","MAX_INPUT_LENGTH","selection","start","end","answerInput","autoFocus","exports","StyleSheet","create","fontSize","fontWeight","letterSpacing","marginBottom","SPACING","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","FONT_FAMILY","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","Platform","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAOA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAA8F,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE9F,MAAMW,gBAAgB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;AAEnE,MAAMC,YAA2C,GAAG;EAClD,CAACC,+BAAa,CAACC,OAAO,GAAGC,qBAAM,CAACC,aAAa;EAC7C,CAACH,+BAAa,CAACI,SAAS,GAAGF,qBAAM,CAACG,WAAW;EAC7C,CAACL,+BAAa,CAACM,OAAO,GAAGJ,qBAAM,CAACK;AAClC,CAAC;AAED,MAAMC,YAAY,GAAGA,CAACC,MAAiC,EAAEC,WAAmB,EAAEC,aAAsB,KAAa;EAC/G,QAAQF,MAAM;IACZ,KAAKT,+BAAa,CAACC,OAAO;MAAE,OAAO,UAAU;IAC7C,KAAKD,+BAAa,CAACI,SAAS;MAAE,OAAO,uBAAuBO,aAAa,IAAI,EAAE,EAAE;IACjF,KAAKX,+BAAa,CAACM,OAAO;MAAE,OAAO,SAAS;IAC5C;MAAS,OAAOI,WAAW;EAC7B;AACF,CAAC;AAaM,MAAME,eAAe,GAAGA,CAAC;EAC9BC,WAAW;EACXC,YAAY;EACZC,IAAI;EACJC,KAAK,GAAG,EAAE;EACVC,QAAQ,GAAG,KAAK;EAChBR,MAAM;EACNE,aAAa;EACbO;AACoB,CAAC,KAAK;EAC1B,MAAMpC,CAAC,GAAG,IAAAqC,aAAO,EAAC,CAAC;EACnB,MAAMC,UAAU,GAAG,IAAAC,gDAAuB,EAAC;IAAEN;EAAK,CAAC,CAAC;EACpD,MAAMO,UAAU,GAAGb,MAAM,GAAGV,YAAY,CAACU,MAAM,CAAC,GAAGP,qBAAM,CAACK,SAAS;EACnE,MAAMgB,SAAS,GAAGf,YAAY,CAACC,MAAM,EAAE3B,CAAC,CAAC,gCAAgC,CAAC,EAAE6B,aAAa,CAAC;EAC1F,MAAMa,eAAe,GAAGf,MAAM,KAAKT,+BAAa,CAACI,SAAS,GAAGF,qBAAM,CAACG,WAAW,GAAGe,UAAU,CAACK,MAAM,CAACC,MAAM;EAE1G,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAY,IAAI,CAAC;EACxC,IAAAC,oCAAiB,EAAC;IAAEC,GAAG,EAAEH,QAAQ;IAAEI,IAAI,EAAEjC,gBAAgB;IAAEkC,OAAO,EAAE,CAACf;EAAS,CAAC,CAAC;EAEhF,oBACE,IAAAxC,WAAA,CAAAwD,IAAA,EAAAxD,WAAA,CAAAyD,QAAA;IAAAC,QAAA,gBACE,IAAA1D,WAAA,CAAA2D,GAAA,EAAChE,cAAA,CAAAiE,UAAU;MAACC,OAAO,EAAEC,8BAAe,CAACC,EAAG;MAACC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;QAAEC,KAAK,EAAEtB;MAAW,CAAC,CAAE;MAAAa,QAAA,EACvFZ;IAAS,CACA,CAAC,eACb,IAAA9C,WAAA,CAAAwD,IAAA,EAAC9D,YAAA,CAAA0E,IAAI;MAACJ,KAAK,EAAEC,MAAM,CAACI,WAAY;MAAAX,QAAA,gBAC9B,IAAA1D,WAAA,CAAA2D,GAAA,EAAChE,cAAA,CAAAiE,UAAU;QAACI,KAAK,EAAEC,MAAM,CAACK,MAAO;QAAAZ,QAAA,EAAEtB;MAAW,CAAa,CAAC,eAC5D,IAAApC,WAAA,CAAA2D,GAAA,EAAChE,cAAA,CAAAiE,UAAU;QAACI,KAAK,EAAE,CAACC,MAAM,CAACK,MAAM,EAAE;UAAEH,KAAK,EAAExB,UAAU,CAACK,MAAM,CAACC;QAAO,CAAC,CAAE;QAAAS,QAAA,EACrEf,UAAU,CAAC4B;MAAM,CACR,CAAC,eACb,IAAAvE,WAAA,CAAA2D,GAAA,EAAChE,cAAA,CAAAiE,UAAU;QAACI,KAAK,EAAEC,MAAM,CAACK,MAAO;QAAAZ,QAAA,EAAErB;MAAY,CAAa,CAAC,eAC7D,IAAArC,WAAA,CAAA2D,GAAA,EAAChE,cAAA,CAAAiE,UAAU;QAACI,KAAK,EAAEC,MAAM,CAACO,MAAO;QAAAd,QAAA,EAAC;MAAC,CAAY,CAAC,eAChD,IAAA1D,WAAA,CAAA2D,GAAA,EAACjE,YAAA,CAAA0E,IAAI;QACHJ,KAAK,EAAE,CACLC,MAAM,CAACQ,SAAS,EAChBlC,KAAK,CAACmC,MAAM,GAAG,CAAC,IAAI;UAAEC,iBAAiB,EAAE5B;QAAgB,CAAC,CAC1D;QAAAW,QAAA,eAEF,IAAA1D,WAAA,CAAA2D,GAAA,EAACjE,YAAA,CAAAkF,SAAS;UACRvB,GAAG,EAAEb,QAAQ,GAAGqC,SAAS,GAAG3B,QAAS;UACrCX,KAAK,EAAEA,KAAM;UACbuC,YAAY,EAAEtC,QAAQ,GAAGqC,SAAS,GAAGpC,QAAS;UAC9CsC,QAAQ,EAAE,CAACvC,QAAS;UACpBwC,YAAY,EAAC,YAAY;UACzBC,SAAS,EAAEC,kCAAiB;UAC5BC,SAAS,EAAE3C,QAAQ,GAAGqC,SAAS,GAAG;YAAEO,KAAK,EAAE7C,KAAK,CAACmC,MAAM;YAAEW,GAAG,EAAE9C,KAAK,CAACmC;UAAO,CAAE;UAC7EV,KAAK,EAAE,CAACC,MAAM,CAACK,MAAM,EAAEL,MAAM,CAACqB,WAAW,EAAE;YAAEnB,KAAK,EAAEpB;UAAgB,CAAC,CAAE;UACvEwC,SAAS,EAAE,CAAC/C;QAAS,CACtB;MAAC,CACE,CAAC;IAAA,CACH,CAAC;EAAA,CACP,CAAC;AAEP,CAAC;AAAAgD,OAAA,CAAArD,eAAA,GAAAA,eAAA;AAED,MAAM8B,MAAM,GAAGwB,uBAAU,CAACC,MAAM,CAAC;EAC/BxB,SAAS,EAAE;IACTyB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC1B5B,KAAK,EAAE1C,qBAAM,CAACK;EAChB,CAAC;EACDuC,WAAW,EAAE;IACX2B,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAEH,sBAAO,CAAC,GAAG,CAAC;IACjBI,SAAS,EAAEJ,sBAAO,CAAC,GAAG;EACxB,CAAC;EACDzB,MAAM,EAAE;IACNqB,QAAQ,EAAE,EAAE;IACZxB,KAAK,EAAE1C,qBAAM,CAAC2E,UAAU;IACxBR,UAAU,EAAE,KAAK;IACjBS,UAAU,EAAEC,0BAAW,CAACC;EAC1B,CAAC;EACD/B,MAAM,EAAE;IACNmB,QAAQ,EAAE,EAAE;IACZxB,KAAK,EAAE1C,qBAAM,CAACK,SAAS;IACvB8D,UAAU,EAAE,KAAK;IACjBS,UAAU,EAAEC,0BAAW,CAACC;EAC1B,CAAC;EACD9B,SAAS,EAAE;IACT+B,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,EAAE;IACVX,YAAY,EAAE,CAACC,sBAAO,CAAC,GAAG,CAAC;IAC3BE,UAAU,EAAE,QAAQ;IACpBS,iBAAiB,EAAE,CAAC;IACpB/B,iBAAiB,EAAElD,qBAAM,CAAC2E;EAC5B,CAAC;EACDd,WAAW,EAAE;IACXqB,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAACb,sBAAO,CAAC,GAAG,CAAC;IACrBc,SAAS,EAAE,QAAQ;IACnBL,KAAK,EAAE,MAAM;IACbM,WAAW,EAAE,CAAC;IACdC,eAAe,EAAE,aAAa;IAC9B,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI;MAAEC,YAAY,EAAE,MAAM;MAAEC,UAAU,EAAE;IAAc,CAAC;EAClF;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FluencyCardDeck = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
+ var _reactNativeUi = require("@magmamath/react-native-ui");
11
+ var _GradientView = require("../../../../../lib/components/GradientView.js");
12
+ var _FluencyEquationCard = require("./FluencyEquationCard.js");
13
+ var _fluencyConstants = require("../../../fluency.constants.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const CARD_GRADIENT_COLORS = {
17
+ [_fluencyConstants.AttemptStatus.CORRECT]: ['#ecfbf3', '#ffffff'],
18
+ [_fluencyConstants.AttemptStatus.INCORRECT]: ['#fff0f1', '#ffffff']
19
+ };
20
+ const hideAnswer = cardContent => ({
21
+ ...cardContent,
22
+ answer: ''
23
+ });
24
+ const FluencyCardDeck = ({
25
+ currentCardContent,
26
+ exitingCardContent,
27
+ exitingCardStatus,
28
+ snapStyles,
29
+ onAnswerChange
30
+ }) => {
31
+ const backingCardContent = hideAnswer(currentCardContent);
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
33
+ style: styles.stack,
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
35
+ style: [styles.card, styles.cardFar, snapStyles.far]
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
37
+ style: [styles.card, styles.cardMid, snapStyles.mid]
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
39
+ style: [styles.card, styles.cardNear, snapStyles.near],
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
41
+ cardContent: backingCardContent,
42
+ readOnly: true
43
+ })
44
+ }), !exitingCardContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
45
+ style: [styles.card, styles.cardFront],
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
47
+ cardContent: currentCardContent,
48
+ onAnswerChange: onAnswerChange
49
+ })
50
+ }), exitingCardContent && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
51
+ style: [styles.card, styles.cardFront, snapStyles.front, exitingCardStatus === _fluencyConstants.AttemptStatus.INCORRECT && styles.cardIncorrect, exitingCardStatus === _fluencyConstants.AttemptStatus.CORRECT && styles.cardCorrect],
52
+ children: [(exitingCardStatus === _fluencyConstants.AttemptStatus.CORRECT || exitingCardStatus === _fluencyConstants.AttemptStatus.INCORRECT) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GradientView.GradientView, {
53
+ colors: CARD_GRADIENT_COLORS[exitingCardStatus],
54
+ style: [_reactNative.StyleSheet.absoluteFill, {
55
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400]
56
+ }],
57
+ pointerEvents: "none"
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
59
+ cardContent: exitingCardContent,
60
+ status: exitingCardStatus ?? undefined,
61
+ readOnly: true
62
+ })]
63
+ })]
64
+ });
65
+ };
66
+ exports.FluencyCardDeck = FluencyCardDeck;
67
+ const styles = _reactNative.StyleSheet.create({
68
+ stack: {
69
+ width: '100%',
70
+ maxWidth: 560
71
+ },
72
+ card: {
73
+ height: 260,
74
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400],
75
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1,
76
+ ..._reactNativeUi.SHADOWS[5]
77
+ },
78
+ cardFar: {
79
+ position: 'absolute',
80
+ top: 36,
81
+ left: 60,
82
+ right: 60,
83
+ opacity: 0
84
+ },
85
+ cardMid: {
86
+ position: 'absolute',
87
+ top: 24,
88
+ left: 40,
89
+ right: 40
90
+ },
91
+ cardNear: {
92
+ position: 'absolute',
93
+ top: 12,
94
+ left: 20,
95
+ right: 20,
96
+ alignItems: 'center',
97
+ justifyContent: 'center',
98
+ ..._reactNativeUi.SHADOWS[5]
99
+ },
100
+ cardFront: {
101
+ alignItems: 'center',
102
+ justifyContent: 'center'
103
+ },
104
+ cardCorrect: {
105
+ borderWidth: 1.5,
106
+ borderColor: _reactNativeUi.COLORS.PRIMARY_GREEN
107
+ },
108
+ cardIncorrect: {
109
+ borderWidth: 1.5,
110
+ borderColor: _reactNativeUi.COLORS.PRIMARY_RED
111
+ }
112
+ });
113
+ //# sourceMappingURL=FluencyCardDeck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_reactNativeUi","_GradientView","_FluencyEquationCard","_fluencyConstants","_jsxRuntime","e","__esModule","default","CARD_GRADIENT_COLORS","AttemptStatus","CORRECT","INCORRECT","hideAnswer","cardContent","answer","FluencyCardDeck","currentCardContent","exitingCardContent","exitingCardStatus","snapStyles","onAnswerChange","backingCardContent","jsxs","View","style","styles","stack","children","jsx","card","cardFar","far","cardMid","mid","cardNear","near","FluencyEquationCard","readOnly","cardFront","front","cardIncorrect","cardCorrect","GradientView","colors","StyleSheet","absoluteFill","borderRadius","BORDER_RADIUS","pointerEvents","status","undefined","exports","create","width","maxWidth","height","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","position","top","left","right","opacity","alignItems","justifyContent","borderWidth","borderColor","PRIMARY_GREEN","PRIMARY_RED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx"],"mappings":"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","ignoreList":[]}