@magmamath/students-features 1.3.26-rc.9 → 1.3.26

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 (544) hide show
  1. package/dist/commonjs/features/chatbot/helpers.js +3 -0
  2. package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
  3. package/dist/commonjs/index.js +0 -12
  4. package/dist/commonjs/index.js.map +1 -1
  5. package/dist/commonjs/lib/constants.js +0 -1
  6. package/dist/commonjs/lib/constants.js.map +1 -1
  7. package/dist/module/features/chatbot/helpers.js +3 -0
  8. package/dist/module/features/chatbot/helpers.js.map +1 -1
  9. package/dist/module/index.js +0 -1
  10. package/dist/module/index.js.map +1 -1
  11. package/dist/module/lib/constants.js +0 -1
  12. package/dist/module/lib/constants.js.map +1 -1
  13. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
  14. package/dist/typescript/commonjs/index.d.ts +0 -1
  15. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  16. package/dist/typescript/commonjs/lib/constants.d.ts +1 -2
  17. package/dist/typescript/commonjs/lib/constants.d.ts.map +1 -1
  18. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
  19. package/dist/typescript/module/index.d.ts +0 -1
  20. package/dist/typescript/module/index.d.ts.map +1 -1
  21. package/dist/typescript/module/lib/constants.d.ts +1 -2
  22. package/dist/typescript/module/lib/constants.d.ts.map +1 -1
  23. package/package.json +1 -3
  24. package/src/features/chatbot/helpers.ts +1 -0
  25. package/src/i18n/.generated/schema.json +2 -10
  26. package/src/index.ts +0 -1
  27. package/src/lib/constants.ts +2 -3
  28. package/src/types/types.d.ts +0 -5
  29. package/dist/commonjs/features/fluency/assets/DivideIcon.js +0 -32
  30. package/dist/commonjs/features/fluency/assets/DivideIcon.js.map +0 -1
  31. package/dist/commonjs/features/fluency/assets/FlameIcon.js +0 -30
  32. package/dist/commonjs/features/fluency/assets/FlameIcon.js.map +0 -1
  33. package/dist/commonjs/features/fluency/assets/FlashIcon.js +0 -30
  34. package/dist/commonjs/features/fluency/assets/FlashIcon.js.map +0 -1
  35. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js +0 -231
  36. package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js.map +0 -1
  37. package/dist/commonjs/features/fluency/assets/SparkleIcon.js +0 -30
  38. package/dist/commonjs/features/fluency/assets/SparkleIcon.js.map +0 -1
  39. package/dist/commonjs/features/fluency/assets/StarFillIcon.js +0 -31
  40. package/dist/commonjs/features/fluency/assets/StarFillIcon.js.map +0 -1
  41. package/dist/commonjs/features/fluency/assets/TrophyBg.js +0 -41
  42. package/dist/commonjs/features/fluency/assets/TrophyBg.js.map +0 -1
  43. package/dist/commonjs/features/fluency/assets/success.mp3 +0 -0
  44. package/dist/commonjs/features/fluency/components/Fluency.js +0 -81
  45. package/dist/commonjs/features/fluency/components/Fluency.js.map +0 -1
  46. package/dist/commonjs/features/fluency/components/FluencySolving.js +0 -46
  47. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +0 -1
  48. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +0 -96
  49. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +0 -1
  50. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +0 -76
  51. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +0 -1
  52. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +0 -153
  53. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +0 -1
  54. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +0 -113
  55. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +0 -1
  56. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +0 -39
  57. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +0 -1
  58. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +0 -62
  59. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +0 -1
  60. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +0 -79
  61. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +0 -1
  62. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +0 -72
  63. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +0 -1
  64. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -93
  65. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +0 -1
  66. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +0 -69
  67. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +0 -1
  68. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js +0 -29
  69. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +0 -1
  70. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +0 -86
  71. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +0 -1
  72. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +0 -6
  73. package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js.map +0 -1
  74. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +0 -36
  75. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +0 -1
  76. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +0 -56
  77. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +0 -1
  78. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +0 -98
  79. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +0 -1
  80. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +0 -53
  81. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +0 -1
  82. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +0 -104
  83. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +0 -1
  84. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js +0 -38
  85. package/dist/commonjs/features/fluency/components/mobile-menu/MobileMenu.js.map +0 -1
  86. package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js +0 -43
  87. package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js.map +0 -1
  88. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +0 -86
  89. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +0 -1
  90. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js +0 -127
  91. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +0 -1
  92. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +0 -73
  93. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +0 -1
  94. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +0 -202
  95. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +0 -1
  96. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +0 -77
  97. package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +0 -1
  98. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js +0 -113
  99. package/dist/commonjs/features/fluency/components/session-results/SkillProgressionRow.js.map +0 -1
  100. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +0 -80
  101. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +0 -1
  102. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +0 -74
  103. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +0 -1
  104. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +0 -134
  105. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +0 -1
  106. package/dist/commonjs/features/fluency/context/FluencyContext.js +0 -16
  107. package/dist/commonjs/features/fluency/context/FluencyContext.js.map +0 -1
  108. package/dist/commonjs/features/fluency/fluency.constants.js +0 -99
  109. package/dist/commonjs/features/fluency/fluency.constants.js.map +0 -1
  110. package/dist/commonjs/features/fluency/fluency.helpers.js +0 -103
  111. package/dist/commonjs/features/fluency/fluency.helpers.js.map +0 -1
  112. package/dist/commonjs/features/fluency/fluency.types.js +0 -6
  113. package/dist/commonjs/features/fluency/fluency.types.js.map +0 -1
  114. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +0 -157
  115. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +0 -1
  116. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +0 -44
  117. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +0 -1
  118. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +0 -51
  119. package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +0 -1
  120. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +0 -168
  121. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +0 -1
  122. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +0 -57
  123. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +0 -1
  124. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js +0 -18
  125. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js.map +0 -1
  126. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js +0 -26
  127. package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js.map +0 -1
  128. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js +0 -27
  129. package/dist/commonjs/features/fluency/hooks/useSuccessSound.js.map +0 -1
  130. package/dist/commonjs/features/fluency/index.js +0 -68
  131. package/dist/commonjs/features/fluency/index.js.map +0 -1
  132. package/dist/commonjs/features/fluency/model/FluencyApiModel.js +0 -16
  133. package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +0 -1
  134. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +0 -16
  135. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +0 -1
  136. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +0 -23
  137. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +0 -1
  138. package/dist/commonjs/features/fluency/model/FluencyModel.js +0 -64
  139. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +0 -1
  140. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +0 -151
  141. package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +0 -1
  142. package/dist/commonjs/lib/components/GradientView.js +0 -57
  143. package/dist/commonjs/lib/components/GradientView.js.map +0 -1
  144. package/dist/module/features/fluency/assets/DivideIcon.js +0 -24
  145. package/dist/module/features/fluency/assets/DivideIcon.js.map +0 -1
  146. package/dist/module/features/fluency/assets/FlameIcon.js +0 -22
  147. package/dist/module/features/fluency/assets/FlameIcon.js.map +0 -1
  148. package/dist/module/features/fluency/assets/FlashIcon.js +0 -22
  149. package/dist/module/features/fluency/assets/FlashIcon.js.map +0 -1
  150. package/dist/module/features/fluency/assets/SnurrisnurrBg.js +0 -224
  151. package/dist/module/features/fluency/assets/SnurrisnurrBg.js.map +0 -1
  152. package/dist/module/features/fluency/assets/SparkleIcon.js +0 -22
  153. package/dist/module/features/fluency/assets/SparkleIcon.js.map +0 -1
  154. package/dist/module/features/fluency/assets/StarFillIcon.js +0 -23
  155. package/dist/module/features/fluency/assets/StarFillIcon.js.map +0 -1
  156. package/dist/module/features/fluency/assets/TrophyBg.js +0 -33
  157. package/dist/module/features/fluency/assets/TrophyBg.js.map +0 -1
  158. package/dist/module/features/fluency/assets/success.mp3 +0 -0
  159. package/dist/module/features/fluency/components/Fluency.js +0 -75
  160. package/dist/module/features/fluency/components/Fluency.js.map +0 -1
  161. package/dist/module/features/fluency/components/FluencySolving.js +0 -40
  162. package/dist/module/features/fluency/components/FluencySolving.js.map +0 -1
  163. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +0 -90
  164. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +0 -1
  165. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +0 -70
  166. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +0 -1
  167. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +0 -146
  168. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +0 -1
  169. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +0 -107
  170. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +0 -1
  171. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +0 -33
  172. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +0 -1
  173. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +0 -56
  174. package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +0 -1
  175. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +0 -73
  176. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +0 -1
  177. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +0 -66
  178. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +0 -1
  179. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -87
  180. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +0 -1
  181. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +0 -62
  182. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +0 -1
  183. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js +0 -25
  184. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.constants.js.map +0 -1
  185. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +0 -76
  186. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +0 -1
  187. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +0 -4
  188. package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js.map +0 -1
  189. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +0 -30
  190. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +0 -1
  191. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +0 -50
  192. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +0 -1
  193. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +0 -91
  194. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +0 -1
  195. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +0 -47
  196. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +0 -1
  197. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +0 -98
  198. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +0 -1
  199. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js +0 -32
  200. package/dist/module/features/fluency/components/mobile-menu/MobileMenu.js.map +0 -1
  201. package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js +0 -37
  202. package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js.map +0 -1
  203. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +0 -80
  204. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +0 -1
  205. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js +0 -121
  206. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +0 -1
  207. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +0 -67
  208. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +0 -1
  209. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +0 -195
  210. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +0 -1
  211. package/dist/module/features/fluency/components/session-results/SessionStatCard.js +0 -71
  212. package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +0 -1
  213. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js +0 -107
  214. package/dist/module/features/fluency/components/session-results/SkillProgressionRow.js.map +0 -1
  215. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +0 -74
  216. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +0 -1
  217. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +0 -68
  218. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +0 -1
  219. package/dist/module/features/fluency/components/start-banner/StartBanner.js +0 -128
  220. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +0 -1
  221. package/dist/module/features/fluency/context/FluencyContext.js +0 -11
  222. package/dist/module/features/fluency/context/FluencyContext.js.map +0 -1
  223. package/dist/module/features/fluency/fluency.constants.js +0 -95
  224. package/dist/module/features/fluency/fluency.constants.js.map +0 -1
  225. package/dist/module/features/fluency/fluency.helpers.js +0 -96
  226. package/dist/module/features/fluency/fluency.helpers.js.map +0 -1
  227. package/dist/module/features/fluency/fluency.types.js +0 -4
  228. package/dist/module/features/fluency/fluency.types.js.map +0 -1
  229. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +0 -152
  230. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +0 -1
  231. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +0 -39
  232. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +0 -1
  233. package/dist/module/features/fluency/hooks/useFluencyModePreset.js +0 -46
  234. package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +0 -1
  235. package/dist/module/features/fluency/hooks/useFluencyNumpad.js +0 -162
  236. package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +0 -1
  237. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +0 -52
  238. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +0 -1
  239. package/dist/module/features/fluency/hooks/usePreventPageLeave.js +0 -13
  240. package/dist/module/features/fluency/hooks/usePreventPageLeave.js.map +0 -1
  241. package/dist/module/features/fluency/hooks/usePreventWebKeys.js +0 -21
  242. package/dist/module/features/fluency/hooks/usePreventWebKeys.js.map +0 -1
  243. package/dist/module/features/fluency/hooks/useSuccessSound.js +0 -21
  244. package/dist/module/features/fluency/hooks/useSuccessSound.js.map +0 -1
  245. package/dist/module/features/fluency/index.js +0 -9
  246. package/dist/module/features/fluency/index.js.map +0 -1
  247. package/dist/module/features/fluency/model/FluencyApiModel.js +0 -11
  248. package/dist/module/features/fluency/model/FluencyApiModel.js.map +0 -1
  249. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +0 -11
  250. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +0 -1
  251. package/dist/module/features/fluency/model/FluencyMatrixModel.js +0 -18
  252. package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +0 -1
  253. package/dist/module/features/fluency/model/FluencyModel.js +0 -59
  254. package/dist/module/features/fluency/model/FluencyModel.js.map +0 -1
  255. package/dist/module/features/fluency/model/FluencySolvingModel.js +0 -146
  256. package/dist/module/features/fluency/model/FluencySolvingModel.js.map +0 -1
  257. package/dist/module/lib/components/GradientView.js +0 -51
  258. package/dist/module/lib/components/GradientView.js.map +0 -1
  259. package/dist/typescript/commonjs/features/fluency/assets/DivideIcon.d.ts +0 -8
  260. package/dist/typescript/commonjs/features/fluency/assets/DivideIcon.d.ts.map +0 -1
  261. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts +0 -4
  262. package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts.map +0 -1
  263. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts +0 -4
  264. package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts.map +0 -1
  265. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts +0 -3
  266. package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts.map +0 -1
  267. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts +0 -4
  268. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts.map +0 -1
  269. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts +0 -7
  270. package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts.map +0 -1
  271. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts +0 -3
  272. package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts.map +0 -1
  273. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +0 -15
  274. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +0 -1
  275. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts +0 -10
  276. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +0 -1
  277. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +0 -9
  278. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +0 -1
  279. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +0 -3
  280. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +0 -1
  281. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +0 -15
  282. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +0 -1
  283. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +0 -14
  284. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +0 -1
  285. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +0 -12
  286. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +0 -1
  287. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +0 -7
  288. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +0 -1
  289. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts +0 -3
  290. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +0 -1
  291. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts +0 -7
  292. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +0 -1
  293. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +0 -3
  294. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +0 -1
  295. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +0 -3
  296. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +0 -1
  297. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +0 -5
  298. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +0 -1
  299. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +0 -17
  300. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +0 -1
  301. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +0 -34
  302. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +0 -1
  303. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts +0 -3
  304. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +0 -1
  305. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts +0 -7
  306. package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts.map +0 -1
  307. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +0 -11
  308. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +0 -1
  309. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +0 -3
  310. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +0 -1
  311. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts +0 -3
  312. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +0 -1
  313. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts +0 -7
  314. package/dist/typescript/commonjs/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +0 -1
  315. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +0 -13
  316. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +0 -1
  317. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts +0 -8
  318. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +0 -1
  319. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +0 -6
  320. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +0 -1
  321. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +0 -3
  322. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +0 -1
  323. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +0 -8
  324. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +0 -1
  325. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +0 -10
  326. package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +0 -1
  327. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts +0 -15
  328. package/dist/typescript/commonjs/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +0 -1
  329. package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts +0 -11
  330. package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +0 -1
  331. package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts +0 -28
  332. package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts.map +0 -1
  333. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts +0 -3
  334. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +0 -1
  335. package/dist/typescript/commonjs/features/fluency/context/FluencyContext.d.ts +0 -11
  336. package/dist/typescript/commonjs/features/fluency/context/FluencyContext.d.ts.map +0 -1
  337. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +0 -42
  338. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +0 -1
  339. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +0 -14
  340. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +0 -1
  341. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +0 -106
  342. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +0 -1
  343. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +0 -19
  344. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +0 -1
  345. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +0 -16
  346. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +0 -1
  347. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +0 -22
  348. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +0 -1
  349. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +0 -53
  350. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +0 -1
  351. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +0 -25
  352. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +0 -1
  353. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts +0 -2
  354. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts.map +0 -1
  355. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts +0 -9
  356. package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts.map +0 -1
  357. package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts +0 -4
  358. package/dist/typescript/commonjs/features/fluency/hooks/useSuccessSound.d.ts.map +0 -1
  359. package/dist/typescript/commonjs/features/fluency/index.d.ts +0 -7
  360. package/dist/typescript/commonjs/features/fluency/index.d.ts.map +0 -1
  361. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +0 -9
  362. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +0 -1
  363. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +0 -8
  364. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +0 -1
  365. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +0 -11
  366. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +0 -1
  367. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +0 -16
  368. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +0 -1
  369. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +0 -29
  370. package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +0 -1
  371. package/dist/typescript/commonjs/lib/components/GradientView.d.ts +0 -18
  372. package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +0 -1
  373. package/dist/typescript/module/features/fluency/assets/DivideIcon.d.ts +0 -8
  374. package/dist/typescript/module/features/fluency/assets/DivideIcon.d.ts.map +0 -1
  375. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts +0 -4
  376. package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts.map +0 -1
  377. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts +0 -4
  378. package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts.map +0 -1
  379. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts +0 -3
  380. package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts.map +0 -1
  381. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts +0 -4
  382. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts.map +0 -1
  383. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts +0 -7
  384. package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts.map +0 -1
  385. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts +0 -3
  386. package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts.map +0 -1
  387. package/dist/typescript/module/features/fluency/components/Fluency.d.ts +0 -15
  388. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +0 -1
  389. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts +0 -10
  390. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +0 -1
  391. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +0 -9
  392. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +0 -1
  393. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +0 -3
  394. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +0 -1
  395. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +0 -15
  396. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +0 -1
  397. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +0 -14
  398. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +0 -1
  399. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +0 -12
  400. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +0 -1
  401. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +0 -7
  402. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +0 -1
  403. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts +0 -3
  404. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +0 -1
  405. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts +0 -7
  406. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +0 -1
  407. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +0 -3
  408. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +0 -1
  409. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +0 -3
  410. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +0 -1
  411. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts +0 -5
  412. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.constants.d.ts.map +0 -1
  413. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +0 -17
  414. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +0 -1
  415. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +0 -34
  416. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +0 -1
  417. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts +0 -3
  418. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +0 -1
  419. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts +0 -7
  420. package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts.map +0 -1
  421. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +0 -11
  422. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +0 -1
  423. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +0 -3
  424. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +0 -1
  425. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts +0 -3
  426. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +0 -1
  427. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts +0 -7
  428. package/dist/typescript/module/features/fluency/components/mobile-menu/MobileMenu.d.ts.map +0 -1
  429. package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +0 -13
  430. package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +0 -1
  431. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts +0 -8
  432. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +0 -1
  433. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +0 -6
  434. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +0 -1
  435. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +0 -3
  436. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +0 -1
  437. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +0 -8
  438. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +0 -1
  439. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +0 -10
  440. package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +0 -1
  441. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts +0 -15
  442. package/dist/typescript/module/features/fluency/components/session-results/SkillProgressionRow.d.ts.map +0 -1
  443. package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts +0 -11
  444. package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +0 -1
  445. package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts +0 -28
  446. package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts.map +0 -1
  447. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts +0 -3
  448. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +0 -1
  449. package/dist/typescript/module/features/fluency/context/FluencyContext.d.ts +0 -11
  450. package/dist/typescript/module/features/fluency/context/FluencyContext.d.ts.map +0 -1
  451. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +0 -42
  452. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +0 -1
  453. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +0 -14
  454. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +0 -1
  455. package/dist/typescript/module/features/fluency/fluency.types.d.ts +0 -106
  456. package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +0 -1
  457. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +0 -19
  458. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +0 -1
  459. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +0 -16
  460. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +0 -1
  461. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +0 -22
  462. package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +0 -1
  463. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +0 -53
  464. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +0 -1
  465. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +0 -25
  466. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +0 -1
  467. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts +0 -2
  468. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts.map +0 -1
  469. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts +0 -9
  470. package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts.map +0 -1
  471. package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts +0 -4
  472. package/dist/typescript/module/features/fluency/hooks/useSuccessSound.d.ts.map +0 -1
  473. package/dist/typescript/module/features/fluency/index.d.ts +0 -7
  474. package/dist/typescript/module/features/fluency/index.d.ts.map +0 -1
  475. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +0 -9
  476. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +0 -1
  477. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +0 -8
  478. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +0 -1
  479. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +0 -11
  480. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +0 -1
  481. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +0 -16
  482. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +0 -1
  483. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +0 -29
  484. package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +0 -1
  485. package/dist/typescript/module/lib/components/GradientView.d.ts +0 -18
  486. package/dist/typescript/module/lib/components/GradientView.d.ts.map +0 -1
  487. package/src/features/fluency/assets/DivideIcon.tsx +0 -21
  488. package/src/features/fluency/assets/FlameIcon.tsx +0 -14
  489. package/src/features/fluency/assets/FlashIcon.tsx +0 -14
  490. package/src/features/fluency/assets/SnurrisnurrBg.tsx +0 -193
  491. package/src/features/fluency/assets/SparkleIcon.tsx +0 -14
  492. package/src/features/fluency/assets/StarFillIcon.tsx +0 -20
  493. package/src/features/fluency/assets/TrophyBg.tsx +0 -32
  494. package/src/features/fluency/assets/success.mp3 +0 -0
  495. package/src/features/fluency/components/Fluency.tsx +0 -78
  496. package/src/features/fluency/components/FluencySolving.tsx +0 -39
  497. package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +0 -86
  498. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +0 -84
  499. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +0 -140
  500. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +0 -128
  501. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +0 -51
  502. package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +0 -54
  503. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +0 -70
  504. package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +0 -74
  505. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +0 -87
  506. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx +0 -71
  507. package/src/features/fluency/components/fluency-solving/fluencySolving.constants.ts +0 -25
  508. package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +0 -102
  509. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +0 -37
  510. package/src/features/fluency/components/matrix/FluencyMatrix.tsx +0 -30
  511. package/src/features/fluency/components/matrix/components/CellTooltip.tsx +0 -46
  512. package/src/features/fluency/components/matrix/components/MatrixCell.tsx +0 -101
  513. package/src/features/fluency/components/matrix/components/MatrixFill.tsx +0 -53
  514. package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +0 -101
  515. package/src/features/fluency/components/mobile-menu/MobileMenu.tsx +0 -29
  516. package/src/features/fluency/components/select-math-operator/MathOperatorRow.tsx +0 -38
  517. package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +0 -81
  518. package/src/features/fluency/components/select-math-operator/ProgressBarSparkles.tsx +0 -114
  519. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +0 -73
  520. package/src/features/fluency/components/session-results/FluencySessionResults.tsx +0 -190
  521. package/src/features/fluency/components/session-results/SessionStatCard.tsx +0 -58
  522. package/src/features/fluency/components/session-results/SkillProgressionRow.tsx +0 -100
  523. package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +0 -45
  524. package/src/features/fluency/components/start-banner/MathFlashcard.tsx +0 -70
  525. package/src/features/fluency/components/start-banner/StartBanner.tsx +0 -124
  526. package/src/features/fluency/context/FluencyContext.ts +0 -20
  527. package/src/features/fluency/fluency.constants.ts +0 -101
  528. package/src/features/fluency/fluency.helpers.ts +0 -100
  529. package/src/features/fluency/fluency.types.ts +0 -125
  530. package/src/features/fluency/hooks/useCardSnapAnimation.ts +0 -170
  531. package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +0 -49
  532. package/src/features/fluency/hooks/useFluencyModePreset.ts +0 -46
  533. package/src/features/fluency/hooks/useFluencyNumpad.tsx +0 -139
  534. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +0 -67
  535. package/src/features/fluency/hooks/usePreventPageLeave.ts +0 -11
  536. package/src/features/fluency/hooks/usePreventWebKeys.ts +0 -24
  537. package/src/features/fluency/hooks/useSuccessSound.ts +0 -20
  538. package/src/features/fluency/index.ts +0 -6
  539. package/src/features/fluency/model/FluencyApiModel.ts +0 -21
  540. package/src/features/fluency/model/FluencyDaysStreakModel.ts +0 -11
  541. package/src/features/fluency/model/FluencyMatrixModel.ts +0 -20
  542. package/src/features/fluency/model/FluencyModel.ts +0 -66
  543. package/src/features/fluency/model/FluencySolvingModel.ts +0 -186
  544. package/src/lib/components/GradientView.tsx +0 -63
@@ -1,124 +0,0 @@
1
- import React from 'react'
2
- import { View, StyleSheet } from 'react-native'
3
- import {
4
- Button,
5
- ButtonColor,
6
- ButtonSize,
7
- ButtonVariant,
8
- Typography,
9
- PlayIcon,
10
- COLORS,
11
- SHADOWS,
12
- SPACING,
13
- FONT_FAMILY,
14
- BORDER_RADIUS,
15
- } from '@magmamath/react-native-ui'
16
- import { GradientView } from '../../../../lib/components/GradientView'
17
- import { BannerFlashcards } from './BannerFlashcards'
18
- import { useFluency } from '../../context/FluencyContext'
19
- import { useText } from '../../../../i18n/i18n'
20
- import { FlashIcon } from '../../assets/FlashIcon'
21
-
22
- export const StartBanner = () => {
23
- const t = useText()
24
- const { model, onStartPress } = useFluency()
25
-
26
- return (
27
- <View style={styles.container}>
28
- <View style={styles.gradientClip}>
29
- <GradientView
30
- colors={['#FFFFFF', '#FFF7E9']}
31
- locations={[0.231, 0.8173]}
32
- start={{ x: 0, y: 0 }}
33
- end={{ x: 1, y: 0 }}
34
- style={StyleSheet.absoluteFill}
35
- pointerEvents="none"
36
- />
37
- </View>
38
-
39
- <View style={styles.buttonContainer}>
40
- <View style={styles.buttonGroup}>
41
- <Button
42
- onPress={() => {
43
- model.solving.start()
44
- onStartPress?.()
45
- }}
46
- disabled={false}
47
- isLoading={false}
48
- isActive={false}
49
- icon={<FlashIcon color={COLORS.NEUTRAL_1} />}
50
- variant={ButtonVariant.PRIMARY}
51
- size={ButtonSize.LARGE}
52
- colorScheme={ButtonColor.YELLOW}
53
- raiseLevel={6}
54
- style={{ container: styles.button }}
55
- >
56
- {t('student.fluency.startPractice')}
57
- </Button>
58
- <Typography style={styles.buttonSubtitle}>
59
- 20 {t('student.fluency.cardsReady')}
60
- </Typography>
61
- </View>
62
- </View>
63
-
64
- <BannerFlashcards
65
- examples={[
66
- { left: '15*', right: '=30' },
67
- { left: '10-', right: '=25' },
68
- { left: '5+', right: '=19' },
69
- ]}
70
- />
71
- </View>
72
- )
73
- }
74
-
75
- const styles = StyleSheet.create({
76
- container: {
77
- flex: 1,
78
- height: '100%',
79
- justifyContent: 'center',
80
- paddingVertical: SPACING[400],
81
- paddingHorizontal: SPACING[800],
82
- borderRadius: BORDER_RADIUS[400],
83
- ...SHADOWS[1],
84
- },
85
- gradientClip: {
86
- ...StyleSheet.absoluteFillObject,
87
- borderRadius: BORDER_RADIUS[400],
88
- overflow: 'hidden',
89
- },
90
- buttonContainer: {
91
- alignItems: 'flex-start',
92
- zIndex: 4,
93
- },
94
- buttonGroup: {
95
- alignItems: 'center',
96
- gap: SPACING[200],
97
- },
98
- button: {
99
- minWidth: 220,
100
- maxWidth: 315,
101
- textTransform: 'uppercase',
102
- },
103
- buttonSubtitle: {
104
- fontSize: 13,
105
- fontWeight: '700',
106
- color: COLORS.BLACK,
107
- fontFamily: FONT_FAMILY.buenosAires,
108
- textTransform: 'uppercase',
109
- },
110
- flashcard: {
111
- position: 'absolute',
112
- backgroundColor: COLORS.NEUTRAL_1,
113
- alignItems: 'center',
114
- justifyContent: 'center',
115
- ...SHADOWS[1],
116
- },
117
- springIcon: {
118
- position: 'absolute',
119
- bottom: -28,
120
- right: 0,
121
- marginTop: 6,
122
- alignSelf: 'flex-end',
123
- },
124
- })
@@ -1,20 +0,0 @@
1
- import { createContext, useContext } from 'react'
2
- import type { FluencyModel } from '../model/FluencyModel'
3
- import type { FluencyMode } from '../fluency.constants'
4
-
5
- export type FluencyContextValue = {
6
- model: FluencyModel
7
- onStartPress?: () => void
8
- onPracticePress?: () => void
9
- onModeSelectPress?: (mode: FluencyMode) => void
10
- }
11
-
12
- const FluencyContext = createContext<FluencyContextValue | null>(null)
13
-
14
- export const useFluency = (): FluencyContextValue => {
15
- const value = useContext(FluencyContext)
16
- if (!value) throw new Error('useFluency must be used within FluencyProvider')
17
- return value
18
- }
19
-
20
- export const FluencyProvider = FluencyContext.Provider
@@ -1,101 +0,0 @@
1
- import { ButtonColor, COLORS, SelectOptionColor } from '@magmamath/react-native-ui'
2
- import { createFluencyMode } from './fluency.helpers'
3
- import type { FluencyColorPalette, FluencyModeConfig, FluencyModePreset } from './fluency.types'
4
-
5
- export const FALLBACK_MATRIX_SIZE = 21
6
- export const MAX_INPUT_LENGTH = 3
7
- export const SESSION_LENGTH = 20
8
- export const TIME_THRESHOLD_MS = 4000
9
- export const FLUSH_ATTEMPTS_COUNT = 5
10
-
11
- export enum FluencyMode {
12
- ADDITION = 'addition',
13
- SUBTRACTION = 'subtraction',
14
- MULTIPLICATION = 'multiplication',
15
- DIVISION = 'division',
16
- }
17
-
18
- export enum FluencyMasteryLevel {
19
- LEARNING = 'learning',
20
- GROWING = 'growing',
21
- STRONG = 'strong',
22
- MASTERED = 'mastered',
23
- }
24
-
25
- export enum FluencyColorFamily {
26
- GREEN = 'GREEN',
27
- ORANGE = 'ORANGE',
28
- BLUE = 'BLUE',
29
- PURPLE = 'PURPLE',
30
- }
31
-
32
- export enum StreakStatus {
33
- MISSED = 'missed',
34
- GAINED = 'gained',
35
- TODAY = 'today',
36
- TODAY_GAINED = 'today_gained',
37
- }
38
-
39
- export enum AttemptStatus {
40
- CORRECT = 'correct',
41
- INCORRECT = 'incorrect',
42
- SKIPPED = 'skipped',
43
- }
44
-
45
- export enum MatrixConfig {
46
- STANDARD = 'standard',
47
- }
48
-
49
- export const COLOR_FAMILY_PALETTES: Record<FluencyColorFamily, FluencyColorPalette> = {
50
- [FluencyColorFamily.GREEN]: {
51
- shades: [COLORS.GREEN_2, COLORS.GREEN_3, COLORS.PRIMARY_GREEN, COLORS.GREEN_6],
52
- button: ButtonColor.GREEN,
53
- select: SelectOptionColor.GREEN,
54
- },
55
- [FluencyColorFamily.ORANGE]: {
56
- shades: [COLORS.ORANGE_2, COLORS.ORANGE_3, COLORS.PRIMARY_ORANGE, COLORS.ORANGE_6],
57
- button: ButtonColor.ORANGE,
58
- select: SelectOptionColor.ORANGE,
59
- },
60
- [FluencyColorFamily.BLUE]: {
61
- shades: [COLORS.BLUE_2, COLORS.BLUE_3, COLORS.PRIMARY_BLUE, COLORS.BLUE_6],
62
- button: ButtonColor.BLUE,
63
- select: SelectOptionColor.BLUE,
64
- },
65
- [FluencyColorFamily.PURPLE]: {
66
- shades: [COLORS.PURPLE_2, COLORS.PURPLE_3, COLORS.PRIMARY_PURPLE, COLORS.PURPLE_6],
67
- button: ButtonColor.PURPLE,
68
- select: SelectOptionColor.PURPLE,
69
- },
70
- }
71
-
72
- export const FLUENCY_MODES: readonly FluencyModeConfig[] = [
73
- createFluencyMode({
74
- mode: FluencyMode.ADDITION,
75
- label: 'student.fluency.addition',
76
- symbol: '+',
77
- colorFamily: FluencyColorFamily.GREEN,
78
- }),
79
- createFluencyMode({
80
- mode: FluencyMode.SUBTRACTION,
81
- label: 'student.fluency.subtraction',
82
- symbol: '−',
83
- colorFamily: FluencyColorFamily.ORANGE,
84
- }),
85
- createFluencyMode({
86
- mode: FluencyMode.MULTIPLICATION,
87
- label: 'student.fluency.multiplication',
88
- symbol: '×',
89
- colorFamily: FluencyColorFamily.BLUE,
90
- }),
91
- createFluencyMode({
92
- mode: FluencyMode.DIVISION,
93
- label: 'student.fluency.division',
94
- symbol: '÷',
95
- colorFamily: FluencyColorFamily.PURPLE,
96
- }),
97
- ]
98
-
99
- export const FLUENCY_MODE_PRESETS: Record<FluencyMode, FluencyModePreset> = Object.fromEntries(
100
- FLUENCY_MODES.map(({ mode, preset }) => [mode, preset]),
101
- ) as Record<FluencyMode, FluencyModePreset>
@@ -1,100 +0,0 @@
1
- import {
2
- FluencyColorFamily,
3
- FluencyMasteryLevel,
4
- FluencyMode,
5
- COLOR_FAMILY_PALETTES,
6
- } from './fluency.constants'
7
- import type { FluencyModeConfig, GetMatrixResponse, GridCell, MatrixGrid } from './fluency.types'
8
- import type { TranslationKey } from '../../i18n/i18n'
9
-
10
- export const getMasteryLevelByBox = (box: number): FluencyMasteryLevel | null => {
11
- if (box === 5) return FluencyMasteryLevel.MASTERED
12
- if (box === 4) return FluencyMasteryLevel.STRONG
13
- if (box === 3) return FluencyMasteryLevel.GROWING
14
- if (box === 2) return FluencyMasteryLevel.LEARNING
15
- return null
16
- }
17
-
18
- type CreateFluencyModeParams = {
19
- mode: FluencyMode
20
- label: TranslationKey
21
- symbol: string
22
- colorFamily: FluencyColorFamily
23
- }
24
-
25
- export const createFluencyMode = ({
26
- mode,
27
- label,
28
- symbol,
29
- colorFamily,
30
- }: CreateFluencyModeParams): FluencyModeConfig => {
31
- const palette = COLOR_FAMILY_PALETTES[colorFamily]
32
- const [learning, growing, strong, mastered] = palette.shades
33
-
34
- return {
35
- mode,
36
- label,
37
- symbol,
38
- select: palette.select,
39
- preset: {
40
- buttonColor: palette.button,
41
- symbol,
42
- accentColor: strong, // TODO
43
- header: {
44
- streakColor: { gained: growing, todayBorder: strong },
45
- },
46
- matrix: {
47
- operatorLabel: label,
48
- levelColors: { learning, growing, strong, mastered },
49
- },
50
- },
51
- }
52
- }
53
-
54
- export const buildMatrixGrid = (data: GetMatrixResponse, mode: FluencyMode): MatrixGrid => {
55
- const facts = Object.values(data.operations[mode].facts)
56
- const maxRow = Math.max(0, ...facts.map((f) => f.position.row))
57
- const maxColumn = Math.max(0, ...facts.map((f) => f.position.column))
58
- const isDivision = mode === FluencyMode.DIVISION
59
- const isCommutative = mode === FluencyMode.ADDITION || mode === FluencyMode.MULTIPLICATION
60
-
61
- const factAt = (row: number, col: number) =>
62
- facts.find((f) => f.position.row === row && f.position.column === col)
63
-
64
- // Division columns are 1-indexed in the API (÷1, ÷2...); all others are 0-indexed
65
- const rowNumbers = Array.from({ length: maxRow + 1 }, (_, i) => i)
66
- const columnNumbers = isDivision
67
- ? Array.from({ length: maxColumn }, (_, i) => i + 1)
68
- : Array.from({ length: maxColumn + 1 }, (_, i) => i)
69
-
70
- const headerRow: GridCell[] = [
71
- { isHeader: false, label: null, box: null, numbers: null },
72
- ...columnNumbers.map(
73
- (col): GridCell => ({ isHeader: true, label: col, box: null, numbers: null }),
74
- ),
75
- ]
76
-
77
- const dataRows: GridCell[][] = rowNumbers.map((row) => [
78
- { isHeader: true, label: row, box: null, numbers: null },
79
- ...columnNumbers.map((col): GridCell => {
80
- const fact = factAt(row, col)
81
- const mirrorFact = isCommutative ? factAt(col, row) : null
82
- const primaryBox = fact?.box ?? null
83
- const mirrorBox = mirrorFact?.box ?? null
84
- const effectiveBox =
85
- primaryBox !== null && mirrorBox !== null
86
- ? Math.max(primaryBox, mirrorBox)
87
- : primaryBox ?? mirrorBox
88
- const numbers: readonly [number, number] =
89
- fact?.numbers ?? (isDivision ? [row * col, col] : [row, col])
90
- return {
91
- isHeader: false,
92
- label: null,
93
- box: effectiveBox,
94
- numbers,
95
- }
96
- }),
97
- ])
98
-
99
- return [headerRow, ...dataRows]
100
- }
@@ -1,125 +0,0 @@
1
- import type { ButtonColor, SelectOptionColor } from '@magmamath/react-native-ui'
2
- import type {
3
- AttemptStatus,
4
- FluencyMasteryLevel,
5
- FluencyMode,
6
- MatrixConfig,
7
- } from './fluency.constants'
8
- import type { TranslationKey } from '../../i18n/i18n'
9
-
10
- export type LegendItem = {
11
- label: string
12
- color: string
13
- withBorder?: boolean
14
- }
15
-
16
- export type FluencyColorPalette = {
17
- shades: readonly [string, string, string, string]
18
- button: ButtonColor
19
- select: SelectOptionColor
20
- }
21
-
22
- export type FluencyModePreset = {
23
- buttonColor: ButtonColor
24
- symbol: string
25
- accentColor: string
26
- header: {
27
- streakColor: { gained: string; todayBorder: string }
28
- }
29
- matrix: {
30
- operatorLabel: TranslationKey
31
- levelColors: Record<FluencyMasteryLevel, string>
32
- }
33
- }
34
-
35
- export type FluencyModeConfig = {
36
- mode: FluencyMode
37
- label: TranslationKey
38
- symbol: string
39
- select: SelectOptionColor
40
- preset: FluencyModePreset
41
- }
42
-
43
- export type GetMatrixPayload = {
44
- grade: number
45
- }
46
-
47
- export type FluencyAttemptItem = {
48
- factId: string
49
- status: AttemptStatus
50
- startedAt: string
51
- timeToSolve: number
52
- boxAfter: number
53
- }
54
-
55
- export type FluencyAttemptPayload = {
56
- grade: number
57
- attempts: FluencyAttemptItem[]
58
- matrixConfig?: MatrixConfig
59
- }
60
-
61
- export type FluencyAttemptResponse = {}
62
-
63
- export type FluencyModelProps = {
64
- api: {
65
- getMatrix: (payload: GetMatrixPayload) => Promise<GetMatrixResponse>
66
- getWeeklyStats: () => Promise<GetWeeklyStatsResponse>
67
- postAttempt: (payload: FluencyAttemptPayload) => Promise<FluencyAttemptResponse>
68
- }
69
- }
70
-
71
- export type FluencyConfig = {
72
- grade: number
73
- name: string
74
- }
75
-
76
- export type FluencyModelGateProps = {
77
- config: FluencyConfig
78
- }
79
-
80
- type FactPosition = {
81
- column: number
82
- row: number
83
- }
84
-
85
- export type Fact = {
86
- attemptsCount: number
87
- averageTimeMs: number | null
88
- box: number | null
89
- correctCount: number
90
- difficulty: number
91
- lastAttemptedAt: string | null
92
- lastSolvedAt: string | null
93
- numbers: readonly [number, number]
94
- position: FactPosition
95
- streak: number
96
- }
97
-
98
- type Operator = 'addition' | 'subtraction' | 'multiplication' | 'division'
99
-
100
- type Operation = {
101
- completionRate: number
102
- grade: number | null
103
- facts: Record<string, Fact>
104
- }
105
-
106
- export type GetMatrixResponse = {
107
- studentId: string
108
- operations: Record<Operator, Operation>
109
- }
110
-
111
- export type GetWeeklyStatsResponse = {
112
- daysPracticed: number
113
- daysWithoutPractice: number
114
- practicedDates: string[]
115
- weekStart: string
116
- }
117
-
118
- export type GridCell = {
119
- isHeader: boolean
120
- label: number | null
121
- box: number | null
122
- numbers: readonly [number, number] | null // null for header cells
123
- }
124
-
125
- export type MatrixGrid = GridCell[][]
@@ -1,170 +0,0 @@
1
- import { useRef } from 'react'
2
- import { Dimensions } from 'react-native'
3
- import {
4
- useSharedValue,
5
- useAnimatedStyle,
6
- withTiming,
7
- withDelay,
8
- withSequence,
9
- Easing,
10
- runOnJS,
11
- } from 'react-native-reanimated'
12
- import type { AnimatedStyle } from 'react-native-reanimated'
13
- import type { ViewStyle } from 'react-native'
14
-
15
- export type SnapDirection = 'left' | 'right'
16
-
17
- export type SnapStyles = {
18
- front: AnimatedStyle<ViewStyle>
19
- near: AnimatedStyle<ViewStyle>
20
- mid: AnimatedStyle<ViewStyle>
21
- far: AnimatedStyle<ViewStyle>
22
- }
23
-
24
- type UseCardSnapAnimationParams = {
25
- onComplete?: () => void
26
- }
27
-
28
- const SHAKE_STEP_DURATION = 60
29
-
30
- const SNAP_SUCCESS_DURATION = 300
31
-
32
- const SNAP = {
33
- duration: 240,
34
- easing: Easing.bezier(0.6, 0, 0.4, 1),
35
- rotate: 18,
36
- scale: 0.85,
37
- y: -40,
38
- } as const
39
-
40
- const STEP_UP = {
41
- delay: 80,
42
- duration: 320,
43
- easing: Easing.bezier(0.3, 0.9, 0.2, 1),
44
- } as const
45
-
46
- const L = [
47
- { top: 12, side: 20 },
48
- { top: 24, side: 40 },
49
- { top: 36, side: 60 },
50
- ]
51
-
52
- export const useCardSnapAnimation = (params: UseCardSnapAnimationParams = {}) => {
53
- const isAnimating = useRef(false)
54
- const onCompleteRef = useRef(params.onComplete)
55
- onCompleteRef.current = params.onComplete
56
-
57
- const translateX = useSharedValue(0)
58
- const translateY = useSharedValue(0)
59
- const rotate = useSharedValue(0)
60
- const scale = useSharedValue(1)
61
- const opacity = useSharedValue(1)
62
-
63
- const l1Top = useSharedValue(L[0].top)
64
- const l1Side = useSharedValue(L[0].side)
65
- const l2Top = useSharedValue(L[1].top)
66
- const l2Side = useSharedValue(L[1].side)
67
- const l3Top = useSharedValue(L[2].top)
68
- const l3Side = useSharedValue(L[2].side)
69
- const l3Opacity = useSharedValue(0)
70
-
71
- const front = useAnimatedStyle(
72
- () => ({
73
- transform: [
74
- { translateX: translateX.value },
75
- { translateY: translateY.value },
76
- { rotate: `${rotate.value}deg` },
77
- { scale: scale.value },
78
- ],
79
- opacity: opacity.value,
80
- }),
81
- [translateX, translateY, rotate, scale, opacity],
82
- )
83
-
84
- const near = useAnimatedStyle(
85
- () => ({ top: l1Top.value, left: l1Side.value, right: l1Side.value }),
86
- [l1Top, l1Side],
87
- )
88
-
89
- const mid = useAnimatedStyle(
90
- () => ({ top: l2Top.value, left: l2Side.value, right: l2Side.value }),
91
- [l2Top, l2Side],
92
- )
93
-
94
- const far = useAnimatedStyle(
95
- () => ({ top: l3Top.value, left: l3Side.value, right: l3Side.value, opacity: l3Opacity.value }),
96
- [l3Top, l3Side, l3Opacity],
97
- )
98
-
99
- const complete = () => {
100
- isAnimating.current = false
101
- onCompleteRef.current?.()
102
- }
103
-
104
- const resetBackingCards = () => {
105
- l1Top.value = L[0].top
106
- l1Side.value = L[0].side
107
- l2Top.value = L[1].top
108
- l2Side.value = L[1].side
109
- l3Top.value = L[2].top
110
- l3Side.value = L[2].side
111
- l3Opacity.value = 0
112
- }
113
-
114
- const resetFrontCard = () => {
115
- translateX.value = 0
116
- translateY.value = 0
117
- rotate.value = 0
118
- scale.value = 1
119
- opacity.value = 1
120
- }
121
-
122
- const snap = (toX: number, toRotate: number, duration: number = SNAP.duration) => {
123
- const snapConfig = { duration, easing: SNAP.easing }
124
- const stepConfig = { duration: STEP_UP.duration, easing: STEP_UP.easing }
125
-
126
- translateX.value = withTiming(toX, snapConfig)
127
- translateY.value = withTiming(SNAP.y, snapConfig)
128
- rotate.value = withTiming(toRotate, snapConfig)
129
- scale.value = withTiming(SNAP.scale, snapConfig)
130
- opacity.value = withTiming(0, snapConfig)
131
-
132
- l1Top.value = withDelay(
133
- STEP_UP.delay,
134
- withTiming(0, stepConfig, () => runOnJS(complete)()),
135
- )
136
- l1Side.value = withDelay(STEP_UP.delay, withTiming(0, stepConfig))
137
- l2Top.value = withDelay(STEP_UP.delay, withTiming(L[0].top, stepConfig))
138
- l2Side.value = withDelay(STEP_UP.delay, withTiming(L[0].side, stepConfig))
139
- l3Top.value = withDelay(STEP_UP.delay, withTiming(L[1].top, stepConfig))
140
- l3Side.value = withDelay(STEP_UP.delay, withTiming(L[1].side, stepConfig))
141
- l3Opacity.value = withDelay(STEP_UP.delay, withTiming(1, stepConfig))
142
- }
143
-
144
- const trigger = (direction: SnapDirection) => {
145
- if (isAnimating.current) return false
146
- isAnimating.current = true
147
- resetFrontCard()
148
- resetBackingCards()
149
-
150
- const screenWidth = Dimensions.get('window').width
151
- const toX = direction === 'right' ? screenWidth * 1.6 : -screenWidth * 1.6
152
- const toRotate = direction === 'right' ? SNAP.rotate : -SNAP.rotate
153
-
154
- if (direction === 'right') {
155
- snap(toX, toRotate, SNAP_SUCCESS_DURATION)
156
- return true
157
- }
158
-
159
- translateX.value = withSequence(
160
- withTiming(-10, { duration: SHAKE_STEP_DURATION }),
161
- withTiming(10, { duration: SHAKE_STEP_DURATION }),
162
- withTiming(-6, { duration: SHAKE_STEP_DURATION }),
163
- withTiming(6, { duration: SHAKE_STEP_DURATION }),
164
- withTiming(0, { duration: SHAKE_STEP_DURATION }, () => runOnJS(snap)(toX, toRotate)),
165
- )
166
- return true
167
- }
168
-
169
- return { snapStyles: { front, near, mid, far } as SnapStyles, trigger, resetBackingCards }
170
- }
@@ -1,49 +0,0 @@
1
- import { useCallback, useLayoutEffect, useState } from 'react'
2
-
3
- import { useCardSnapAnimation, type SnapDirection } from './useCardSnapAnimation'
4
- import { type AttemptStatus } from '../fluency.constants'
5
- import type { FluencyCardDisplayContent } from '../components/fluency-solving/fluencySolving.types'
6
-
7
- type StartCardExitParams = {
8
- cardContent: FluencyCardDisplayContent
9
- direction: SnapDirection
10
- status: AttemptStatus
11
- }
12
-
13
- export const useFluencyCardDeckAnimation = () => {
14
- const [exitingCardContent, setExitingCardContent] = useState<FluencyCardDisplayContent | null>(
15
- null,
16
- )
17
- const [exitingCardStatus, setExitingCardStatus] = useState<AttemptStatus | null>(null)
18
- const [shouldResetBackingCards, setShouldResetBackingCards] = useState(false)
19
-
20
- const clearExitingCard = useCallback(() => {
21
- setExitingCardContent(null)
22
- setExitingCardStatus(null)
23
- setShouldResetBackingCards(true)
24
- }, [])
25
-
26
- const animation = useCardSnapAnimation({ onComplete: clearExitingCard })
27
-
28
- useLayoutEffect(() => {
29
- if (!shouldResetBackingCards || exitingCardContent) return
30
-
31
- animation.resetBackingCards()
32
- setShouldResetBackingCards(false)
33
- })
34
-
35
- const startCardExit = ({ cardContent, direction, status }: StartCardExitParams) => {
36
- if (!animation.trigger(direction)) return false
37
-
38
- setExitingCardContent(cardContent)
39
- setExitingCardStatus(status)
40
- return true
41
- }
42
-
43
- return {
44
- exitingCardContent,
45
- exitingCardStatus,
46
- snapStyles: animation.snapStyles,
47
- startCardExit,
48
- }
49
- }