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

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 (212) hide show
  1. package/dist/commonjs/features/fluency/assets/SparkleIcon.js +30 -0
  2. package/dist/commonjs/features/fluency/assets/SparkleIcon.js.map +1 -0
  3. package/dist/commonjs/features/fluency/components/FluencySolving.js +6 -27
  4. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
  5. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
  6. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  7. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +8 -7
  8. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  9. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +45 -21
  10. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  11. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
  12. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  13. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +22 -81
  14. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  15. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  16. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  17. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +50 -34
  18. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  19. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +69 -0
  20. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
  21. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +1 -1
  22. package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
  23. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +12 -6
  24. package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  25. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
  26. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  27. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js +127 -0
  28. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
  29. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
  30. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  31. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +24 -14
  32. package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
  33. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +26 -30
  34. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  35. package/dist/commonjs/features/fluency/fluency.constants.js +1 -0
  36. package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
  37. package/dist/commonjs/features/fluency/fluency.helpers.js +6 -1
  38. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
  39. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  40. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  41. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
  42. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  43. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +3 -0
  44. package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
  45. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  46. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  47. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js +18 -0
  48. package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
  49. package/dist/commonjs/lib/components/GradientView.js +57 -0
  50. package/dist/commonjs/lib/components/GradientView.js.map +1 -0
  51. package/dist/module/features/fluency/assets/SparkleIcon.js +22 -0
  52. package/dist/module/features/fluency/assets/SparkleIcon.js.map +1 -0
  53. package/dist/module/features/fluency/components/FluencySolving.js +6 -26
  54. package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
  55. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
  56. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
  57. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +9 -8
  58. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
  59. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +46 -22
  60. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  61. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
  62. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  63. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +23 -82
  64. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  65. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  66. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  67. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +51 -35
  68. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  69. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +62 -0
  70. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
  71. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +1 -1
  72. package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
  73. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +13 -7
  74. package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
  75. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
  76. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
  77. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js +121 -0
  78. package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
  79. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
  80. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  81. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +24 -14
  82. package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
  83. package/dist/module/features/fluency/components/start-banner/StartBanner.js +27 -31
  84. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  85. package/dist/module/features/fluency/fluency.constants.js +1 -0
  86. package/dist/module/features/fluency/fluency.constants.js.map +1 -1
  87. package/dist/module/features/fluency/fluency.helpers.js +6 -1
  88. package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
  89. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  90. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  91. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
  92. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  93. package/dist/module/features/fluency/hooks/useFluencyNumpad.js +3 -0
  94. package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
  95. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  96. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  97. package/dist/module/features/fluency/hooks/usePreventPageLeave.js +13 -0
  98. package/dist/module/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
  99. package/dist/module/lib/components/GradientView.js +51 -0
  100. package/dist/module/lib/components/GradientView.js.map +1 -0
  101. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts +4 -0
  102. package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
  103. package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
  104. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +1 -5
  105. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  106. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  107. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  108. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  109. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  110. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  111. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  112. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  113. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  114. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +1 -8
  115. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
  116. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
  117. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
  118. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  119. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  120. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +1 -1
  121. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  122. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  123. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
  124. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
  125. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
  126. package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
  127. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  128. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +2 -1
  129. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
  131. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  132. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  133. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  134. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  135. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
  136. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
  137. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  138. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  139. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
  140. package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
  141. package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
  142. package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
  143. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts +4 -0
  144. package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
  145. package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
  146. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +1 -5
  147. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
  148. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
  149. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  150. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  151. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  152. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  153. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  154. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  155. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  156. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts +1 -8
  157. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
  158. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
  159. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
  160. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  161. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  162. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +1 -1
  163. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
  164. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
  165. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
  166. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
  167. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
  168. package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
  169. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  170. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +2 -1
  171. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
  172. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
  173. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  174. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  175. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  176. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  177. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
  178. package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
  179. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  180. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  181. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
  182. package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
  183. package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
  184. package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
  185. package/package.json +1 -1
  186. package/src/features/fluency/assets/SparkleIcon.tsx +14 -0
  187. package/src/features/fluency/components/FluencySolving.tsx +7 -31
  188. package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +35 -35
  189. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +16 -12
  190. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +53 -29
  191. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
  192. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +37 -72
  193. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +32 -13
  194. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +50 -35
  195. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx +71 -0
  196. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +5 -0
  197. package/src/features/fluency/components/matrix/components/CellTooltip.tsx +1 -1
  198. package/src/features/fluency/components/matrix/components/MatrixCell.tsx +19 -6
  199. package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +27 -8
  200. package/src/features/fluency/components/select-math-operator/ProgressBarSparkles.tsx +114 -0
  201. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +1 -0
  202. package/src/features/fluency/components/session-results/FluencySessionResults.tsx +17 -11
  203. package/src/features/fluency/components/start-banner/StartBanner.tsx +19 -28
  204. package/src/features/fluency/fluency.constants.ts +1 -0
  205. package/src/features/fluency/fluency.helpers.ts +9 -1
  206. package/src/features/fluency/hooks/useCardSnapAnimation.ts +41 -21
  207. package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
  208. package/src/features/fluency/hooks/useFluencyNumpad.tsx +3 -0
  209. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +25 -7
  210. package/src/features/fluency/hooks/usePreventPageLeave.ts +11 -0
  211. package/src/i18n/.generated/schema.json +9 -1
  212. package/src/lib/components/GradientView.tsx +63 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_fluencyConstants","require","getMasteryLevelByBox","box","FluencyMasteryLevel","MASTERED","STRONG","GROWING","LEARNING","exports","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","factAt","col","find","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","numbers","dataRows","fact"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fluencyConstants","require","getMasteryLevelByBox","box","FluencyMasteryLevel","MASTERED","STRONG","GROWING","LEARNING","exports","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","isCommutative","ADDITION","MULTIPLICATION","factAt","col","find","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","numbers","dataRows","fact","mirrorFact","primaryBox","mirrorBox","effectiveBox"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,8 @@ exports.useCardSnapAnimation = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeReanimated = require("react-native-reanimated");
10
+ const SHAKE_STEP_DURATION = 60;
11
+ const SNAP_SUCCESS_DURATION = 300;
10
12
  const SNAP = {
11
13
  duration: 240,
12
14
  easing: _reactNativeReanimated.Easing.bezier(0.6, 0, 0.4, 1),
@@ -19,8 +21,6 @@ const STEP_UP = {
19
21
  duration: 320,
20
22
  easing: _reactNativeReanimated.Easing.bezier(0.3, 0.9, 0.2, 1)
21
23
  };
22
-
23
- // Initial positions of each backing layer: [top, side]
24
24
  const L = [{
25
25
  top: 12,
26
26
  side: 20
@@ -31,8 +31,10 @@ const L = [{
31
31
  top: 36,
32
32
  side: 60
33
33
  }];
34
- const useCardSnapAnimation = () => {
34
+ const useCardSnapAnimation = (params = {}) => {
35
35
  const isAnimating = (0, _react.useRef)(false);
36
+ const onCompleteRef = (0, _react.useRef)(params.onComplete);
37
+ onCompleteRef.current = params.onComplete;
36
38
  const translateX = (0, _reactNativeReanimated.useSharedValue)(0);
37
39
  const translateY = (0, _reactNativeReanimated.useSharedValue)(0);
38
40
  const rotate = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -73,12 +75,11 @@ const useCardSnapAnimation = () => {
73
75
  right: l3Side.value,
74
76
  opacity: l3Opacity.value
75
77
  }), [l3Top, l3Side, l3Opacity]);
76
- const reset = () => {
77
- translateX.value = 0;
78
- translateY.value = 0;
79
- rotate.value = 0;
80
- scale.value = 1;
81
- opacity.value = 1;
78
+ const complete = () => {
79
+ isAnimating.current = false;
80
+ onCompleteRef.current?.();
81
+ };
82
+ const resetBackingCards = () => {
82
83
  l1Top.value = L[0].top;
83
84
  l1Side.value = L[0].side;
84
85
  l2Top.value = L[1].top;
@@ -86,11 +87,17 @@ const useCardSnapAnimation = () => {
86
87
  l3Top.value = L[2].top;
87
88
  l3Side.value = L[2].side;
88
89
  l3Opacity.value = 0;
89
- isAnimating.current = false;
90
90
  };
91
- const snap = (toX, toRotate) => {
91
+ const resetFrontCard = () => {
92
+ translateX.value = 0;
93
+ translateY.value = 0;
94
+ rotate.value = 0;
95
+ scale.value = 1;
96
+ opacity.value = 1;
97
+ };
98
+ const snap = (toX, toRotate, duration = SNAP.duration) => {
92
99
  const snapConfig = {
93
- duration: SNAP.duration,
100
+ duration,
94
101
  easing: SNAP.easing
95
102
  };
96
103
  const stepConfig = {
@@ -102,7 +109,7 @@ const useCardSnapAnimation = () => {
102
109
  rotate.value = (0, _reactNativeReanimated.withTiming)(toRotate, snapConfig);
103
110
  scale.value = (0, _reactNativeReanimated.withTiming)(SNAP.scale, snapConfig);
104
111
  opacity.value = (0, _reactNativeReanimated.withTiming)(0, snapConfig);
105
- l1Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig, () => (0, _reactNativeReanimated.runOnJS)(reset)()));
112
+ l1Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig, () => (0, _reactNativeReanimated.runOnJS)(complete)()));
106
113
  l1Side.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(0, stepConfig));
107
114
  l2Top.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(L[0].top, stepConfig));
108
115
  l2Side.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(L[0].side, stepConfig));
@@ -111,26 +118,29 @@ const useCardSnapAnimation = () => {
111
118
  l3Opacity.value = (0, _reactNativeReanimated.withDelay)(STEP_UP.delay, (0, _reactNativeReanimated.withTiming)(1, stepConfig));
112
119
  };
113
120
  const trigger = direction => {
114
- if (isAnimating.current) return;
121
+ if (isAnimating.current) return false;
115
122
  isAnimating.current = true;
123
+ resetFrontCard();
124
+ resetBackingCards();
116
125
  const screenWidth = _reactNative.Dimensions.get('window').width;
117
126
  const toX = direction === 'right' ? screenWidth * 1.6 : -screenWidth * 1.6;
118
127
  const toRotate = direction === 'right' ? SNAP.rotate : -SNAP.rotate;
119
128
  if (direction === 'right') {
120
- snap(toX, toRotate);
121
- return;
129
+ snap(toX, toRotate, SNAP_SUCCESS_DURATION);
130
+ return true;
122
131
  }
123
132
  translateX.value = (0, _reactNativeReanimated.withSequence)((0, _reactNativeReanimated.withTiming)(-10, {
124
- duration: 60
133
+ duration: SHAKE_STEP_DURATION
125
134
  }), (0, _reactNativeReanimated.withTiming)(10, {
126
- duration: 60
135
+ duration: SHAKE_STEP_DURATION
127
136
  }), (0, _reactNativeReanimated.withTiming)(-6, {
128
- duration: 60
137
+ duration: SHAKE_STEP_DURATION
129
138
  }), (0, _reactNativeReanimated.withTiming)(6, {
130
- duration: 60
139
+ duration: SHAKE_STEP_DURATION
131
140
  }), (0, _reactNativeReanimated.withTiming)(0, {
132
- duration: 60
141
+ duration: SHAKE_STEP_DURATION
133
142
  }, () => (0, _reactNativeReanimated.runOnJS)(snap)(toX, toRotate)));
143
+ return true;
134
144
  };
135
145
  return {
136
146
  snapStyles: {
@@ -139,7 +149,8 @@ const useCardSnapAnimation = () => {
139
149
  mid,
140
150
  far
141
151
  },
142
- trigger
152
+ trigger,
153
+ resetBackingCards
143
154
  };
144
155
  };
145
156
  exports.useCardSnapAnimation = useCardSnapAnimation;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","SNAP","duration","easing","Easing","bezier","rotate","scale","y","STEP_UP","delay","L","top","side","useCardSnapAnimation","isAnimating","useRef","translateX","useSharedValue","translateY","opacity","l1Top","l1Side","l2Top","l2Side","l3Top","l3Side","l3Opacity","front","useAnimatedStyle","transform","value","near","left","right","mid","far","reset","current","snap","toX","toRotate","snapConfig","stepConfig","withTiming","withDelay","runOnJS","trigger","direction","screenWidth","Dimensions","get","width","withSequence","snapStyles","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useCardSnapAnimation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","SHAKE_STEP_DURATION","SNAP_SUCCESS_DURATION","SNAP","duration","easing","Easing","bezier","rotate","scale","y","STEP_UP","delay","L","top","side","useCardSnapAnimation","params","isAnimating","useRef","onCompleteRef","onComplete","current","translateX","useSharedValue","translateY","opacity","l1Top","l1Side","l2Top","l2Side","l3Top","l3Side","l3Opacity","front","useAnimatedStyle","transform","value","near","left","right","mid","far","complete","resetBackingCards","resetFrontCard","snap","toX","toRotate","snapConfig","stepConfig","withTiming","withDelay","runOnJS","trigger","direction","screenWidth","Dimensions","get","width","withSequence","snapStyles","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useCardSnapAnimation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAyBA,MAAMG,mBAAmB,GAAG,EAAE;AAE9B,MAAMC,qBAAqB,GAAG,GAAG;AAEjC,MAAMC,IAAI,GAAG;EACXC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAEC,6BAAM,CAACC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;EACrCC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE,IAAI;EACXC,CAAC,EAAE,CAAC;AACN,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdC,KAAK,EAAE,EAAE;EACTR,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAEC,6BAAM,CAACC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,CAAU;AAEV,MAAMM,CAAC,GAAG,CACR;EAAEC,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC,EACrB;EAAED,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC,EACrB;EAAED,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC,CACtB;AAEM,MAAMC,oBAAoB,GAAGA,CAACC,MAAkC,GAAG,CAAC,CAAC,KAAK;EAC/E,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EACjC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAACF,MAAM,CAACI,UAAU,CAAC;EAC/CD,aAAa,CAACE,OAAO,GAAGL,MAAM,CAACI,UAAU;EAEzC,MAAME,UAAU,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACpC,MAAMC,UAAU,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EACpC,MAAMhB,MAAM,GAAG,IAAAgB,qCAAc,EAAC,CAAC,CAAC;EAChC,MAAMf,KAAK,GAAG,IAAAe,qCAAc,EAAC,CAAC,CAAC;EAC/B,MAAME,OAAO,GAAG,IAAAF,qCAAc,EAAC,CAAC,CAAC;EAEjC,MAAMG,KAAK,GAAG,IAAAH,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC;EACtC,MAAMc,MAAM,GAAG,IAAAJ,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;EACxC,MAAMc,KAAK,GAAG,IAAAL,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC;EACtC,MAAMgB,MAAM,GAAG,IAAAN,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;EACxC,MAAMgB,KAAK,GAAG,IAAAP,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC;EACtC,MAAMkB,MAAM,GAAG,IAAAR,qCAAc,EAACX,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;EACxC,MAAMkB,SAAS,GAAG,IAAAT,qCAAc,EAAC,CAAC,CAAC;EAEnC,MAAMU,KAAK,GAAG,IAAAC,uCAAgB,EAC5B,OAAO;IACLC,SAAS,EAAE,CACT;MAAEb,UAAU,EAAEA,UAAU,CAACc;IAAM,CAAC,EAChC;MAAEZ,UAAU,EAAEA,UAAU,CAACY;IAAM,CAAC,EAChC;MAAE7B,MAAM,EAAE,GAAGA,MAAM,CAAC6B,KAAK;IAAM,CAAC,EAChC;MAAE5B,KAAK,EAAEA,KAAK,CAAC4B;IAAM,CAAC,CACvB;IACDX,OAAO,EAAEA,OAAO,CAACW;EACnB,CAAC,CAAC,EACF,CAACd,UAAU,EAAEE,UAAU,EAAEjB,MAAM,EAAEC,KAAK,EAAEiB,OAAO,CACjD,CAAC;EAED,MAAMY,IAAI,GAAG,IAAAH,uCAAgB,EAC3B,OAAO;IAAErB,GAAG,EAAEa,KAAK,CAACU,KAAK;IAAEE,IAAI,EAAEX,MAAM,CAACS,KAAK;IAAEG,KAAK,EAAEZ,MAAM,CAACS;EAAM,CAAC,CAAC,EACrE,CAACV,KAAK,EAAEC,MAAM,CAChB,CAAC;EAED,MAAMa,GAAG,GAAG,IAAAN,uCAAgB,EAC1B,OAAO;IAAErB,GAAG,EAAEe,KAAK,CAACQ,KAAK;IAAEE,IAAI,EAAET,MAAM,CAACO,KAAK;IAAEG,KAAK,EAAEV,MAAM,CAACO;EAAM,CAAC,CAAC,EACrE,CAACR,KAAK,EAAEC,MAAM,CAChB,CAAC;EAED,MAAMY,GAAG,GAAG,IAAAP,uCAAgB,EAC1B,OAAO;IAAErB,GAAG,EAAEiB,KAAK,CAACM,KAAK;IAAEE,IAAI,EAAEP,MAAM,CAACK,KAAK;IAAEG,KAAK,EAAER,MAAM,CAACK,KAAK;IAAEX,OAAO,EAAEO,SAAS,CAACI;EAAM,CAAC,CAAC,EAC/F,CAACN,KAAK,EAAEC,MAAM,EAAEC,SAAS,CAC3B,CAAC;EAED,MAAMU,QAAQ,GAAGA,CAAA,KAAM;IACrBzB,WAAW,CAACI,OAAO,GAAG,KAAK;IAC3BF,aAAa,CAACE,OAAO,GAAG,CAAC;EAC3B,CAAC;EAED,MAAMsB,iBAAiB,GAAGA,CAAA,KAAM;IAC9BjB,KAAK,CAACU,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG;IACtBc,MAAM,CAACS,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI;IACxBc,KAAK,CAACQ,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG;IACtBgB,MAAM,CAACO,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI;IACxBgB,KAAK,CAACM,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG;IACtBkB,MAAM,CAACK,KAAK,GAAGxB,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI;IACxBkB,SAAS,CAACI,KAAK,GAAG,CAAC;EACrB,CAAC;EAED,MAAMQ,cAAc,GAAGA,CAAA,KAAM;IAC3BtB,UAAU,CAACc,KAAK,GAAG,CAAC;IACpBZ,UAAU,CAACY,KAAK,GAAG,CAAC;IACpB7B,MAAM,CAAC6B,KAAK,GAAG,CAAC;IAChB5B,KAAK,CAAC4B,KAAK,GAAG,CAAC;IACfX,OAAO,CAACW,KAAK,GAAG,CAAC;EACnB,CAAC;EAED,MAAMS,IAAI,GAAGA,CAACC,GAAW,EAAEC,QAAgB,EAAE5C,QAAgB,GAAGD,IAAI,CAACC,QAAQ,KAAK;IAChF,MAAM6C,UAAU,GAAG;MAAE7C,QAAQ;MAAEC,MAAM,EAAEF,IAAI,CAACE;IAAO,CAAC;IACpD,MAAM6C,UAAU,GAAG;MAAE9C,QAAQ,EAAEO,OAAO,CAACP,QAAQ;MAAEC,MAAM,EAAEM,OAAO,CAACN;IAAO,CAAC;IAEzEkB,UAAU,CAACc,KAAK,GAAG,IAAAc,iCAAU,EAACJ,GAAG,EAAEE,UAAU,CAAC;IAC9CxB,UAAU,CAACY,KAAK,GAAG,IAAAc,iCAAU,EAAChD,IAAI,CAACO,CAAC,EAAEuC,UAAU,CAAC;IACjDzC,MAAM,CAAC6B,KAAK,GAAG,IAAAc,iCAAU,EAACH,QAAQ,EAAEC,UAAU,CAAC;IAC/CxC,KAAK,CAAC4B,KAAK,GAAG,IAAAc,iCAAU,EAAChD,IAAI,CAACM,KAAK,EAAEwC,UAAU,CAAC;IAChDvB,OAAO,CAACW,KAAK,GAAG,IAAAc,iCAAU,EAAC,CAAC,EAAEF,UAAU,CAAC;IAEzCtB,KAAK,CAACU,KAAK,GAAG,IAAAe,gCAAS,EACrBzC,OAAO,CAACC,KAAK,EACb,IAAAuC,iCAAU,EAAC,CAAC,EAAED,UAAU,EAAE,MAAM,IAAAG,8BAAO,EAACV,QAAQ,CAAC,CAAC,CAAC,CACrD,CAAC;IACDf,MAAM,CAACS,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAAC,CAAC,EAAED,UAAU,CAAC,CAAC;IAClErB,KAAK,CAACQ,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAACtC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,EAAEoC,UAAU,CAAC,CAAC;IACxEpB,MAAM,CAACO,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAACtC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,EAAEmC,UAAU,CAAC,CAAC;IAC1EnB,KAAK,CAACM,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAACtC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAG,EAAEoC,UAAU,CAAC,CAAC;IACxElB,MAAM,CAACK,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAACtC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,EAAEmC,UAAU,CAAC,CAAC;IAC1EjB,SAAS,CAACI,KAAK,GAAG,IAAAe,gCAAS,EAACzC,OAAO,CAACC,KAAK,EAAE,IAAAuC,iCAAU,EAAC,CAAC,EAAED,UAAU,CAAC,CAAC;EACvE,CAAC;EAED,MAAMI,OAAO,GAAIC,SAAwB,IAAK;IAC5C,IAAIrC,WAAW,CAACI,OAAO,EAAE,OAAO,KAAK;IACrCJ,WAAW,CAACI,OAAO,GAAG,IAAI;IAC1BuB,cAAc,CAAC,CAAC;IAChBD,iBAAiB,CAAC,CAAC;IAEnB,MAAMY,WAAW,GAAGC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;IAClD,MAAMZ,GAAG,GAAGQ,SAAS,KAAK,OAAO,GAAGC,WAAW,GAAG,GAAG,GAAG,CAACA,WAAW,GAAG,GAAG;IAC1E,MAAMR,QAAQ,GAAGO,SAAS,KAAK,OAAO,GAAGpD,IAAI,CAACK,MAAM,GAAG,CAACL,IAAI,CAACK,MAAM;IAEnE,IAAI+C,SAAS,KAAK,OAAO,EAAE;MACzBT,IAAI,CAACC,GAAG,EAAEC,QAAQ,EAAE9C,qBAAqB,CAAC;MAC1C,OAAO,IAAI;IACb;IAEAqB,UAAU,CAACc,KAAK,GAAG,IAAAuB,mCAAY,EAC7B,IAAAT,iCAAU,EAAC,CAAC,EAAE,EAAE;MAAE/C,QAAQ,EAAEH;IAAoB,CAAC,CAAC,EAClD,IAAAkD,iCAAU,EAAC,EAAE,EAAE;MAAE/C,QAAQ,EAAEH;IAAoB,CAAC,CAAC,EACjD,IAAAkD,iCAAU,EAAC,CAAC,CAAC,EAAE;MAAE/C,QAAQ,EAAEH;IAAoB,CAAC,CAAC,EACjD,IAAAkD,iCAAU,EAAC,CAAC,EAAE;MAAE/C,QAAQ,EAAEH;IAAoB,CAAC,CAAC,EAChD,IAAAkD,iCAAU,EAAC,CAAC,EAAE;MAAE/C,QAAQ,EAAEH;IAAoB,CAAC,EAAE,MAAM,IAAAoD,8BAAO,EAACP,IAAI,CAAC,CAACC,GAAG,EAAEC,QAAQ,CAAC,CACrF,CAAC;IACD,OAAO,IAAI;EACb,CAAC;EAED,OAAO;IAAEa,UAAU,EAAE;MAAE3B,KAAK;MAAEI,IAAI;MAAEG,GAAG;MAAEC;IAAI,CAAe;IAAEY,OAAO;IAAEV;EAAkB,CAAC;AAC5F,CAAC;AAAAkB,OAAA,CAAA9C,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFluencyCardDeckAnimation = void 0;
7
+ var _react = require("react");
8
+ var _useCardSnapAnimation = require("./useCardSnapAnimation.js");
9
+ const useFluencyCardDeckAnimation = () => {
10
+ const [exitingCardContent, setExitingCardContent] = (0, _react.useState)(null);
11
+ const [exitingCardStatus, setExitingCardStatus] = (0, _react.useState)(null);
12
+ const [shouldResetBackingCards, setShouldResetBackingCards] = (0, _react.useState)(false);
13
+ const clearExitingCard = (0, _react.useCallback)(() => {
14
+ setExitingCardContent(null);
15
+ setExitingCardStatus(null);
16
+ setShouldResetBackingCards(true);
17
+ }, []);
18
+ const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)({
19
+ onComplete: clearExitingCard
20
+ });
21
+ (0, _react.useLayoutEffect)(() => {
22
+ if (!shouldResetBackingCards || exitingCardContent) return;
23
+ animation.resetBackingCards();
24
+ setShouldResetBackingCards(false);
25
+ });
26
+ const startCardExit = ({
27
+ cardContent,
28
+ direction,
29
+ status
30
+ }) => {
31
+ if (!animation.trigger(direction)) return false;
32
+ setExitingCardContent(cardContent);
33
+ setExitingCardStatus(status);
34
+ return true;
35
+ };
36
+ return {
37
+ exitingCardContent,
38
+ exitingCardStatus,
39
+ snapStyles: animation.snapStyles,
40
+ startCardExit
41
+ };
42
+ };
43
+ exports.useFluencyCardDeckAnimation = useFluencyCardDeckAnimation;
44
+ //# sourceMappingURL=useFluencyCardDeckAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_useCardSnapAnimation","useFluencyCardDeckAnimation","exitingCardContent","setExitingCardContent","useState","exitingCardStatus","setExitingCardStatus","shouldResetBackingCards","setShouldResetBackingCards","clearExitingCard","useCallback","animation","useCardSnapAnimation","onComplete","useLayoutEffect","resetBackingCards","startCardExit","cardContent","direction","status","trigger","snapStyles","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyCardDeckAnimation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AAUO,MAAME,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAC,eAAQ,EAC1D,IACF,CAAC;EACD,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAF,eAAQ,EAAuB,IAAI,CAAC;EACtF,MAAM,CAACG,uBAAuB,EAAEC,0BAA0B,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAE7E,MAAMK,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACzCP,qBAAqB,CAAC,IAAI,CAAC;IAC3BG,oBAAoB,CAAC,IAAI,CAAC;IAC1BE,0BAA0B,CAAC,IAAI,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,SAAS,GAAG,IAAAC,0CAAoB,EAAC;IAAEC,UAAU,EAAEJ;EAAiB,CAAC,CAAC;EAExE,IAAAK,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACP,uBAAuB,IAAIL,kBAAkB,EAAE;IAEpDS,SAAS,CAACI,iBAAiB,CAAC,CAAC;IAC7BP,0BAA0B,CAAC,KAAK,CAAC;EACnC,CAAC,CAAC;EAEF,MAAMQ,aAAa,GAAGA,CAAC;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAA4B,CAAC,KAAK;IACjF,IAAI,CAACR,SAAS,CAACS,OAAO,CAACF,SAAS,CAAC,EAAE,OAAO,KAAK;IAE/Cf,qBAAqB,CAACc,WAAW,CAAC;IAClCX,oBAAoB,CAACa,MAAM,CAAC;IAC5B,OAAO,IAAI;EACb,CAAC;EAED,OAAO;IACLjB,kBAAkB;IAClBG,iBAAiB;IACjBgB,UAAU,EAAEV,SAAS,CAACU,UAAU;IAChCL;EACF,CAAC;AACH,CAAC;AAAAM,OAAA,CAAArB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -10,6 +10,7 @@ var _BackspaceIcon = require("../../../shared/icons/keyboard/BackspaceIcon.js");
10
10
  var _effectorReact = require("effector-react");
11
11
  var _commonConstants = require("../../../shared/common.constants.js");
12
12
  var _constants = require("../../../lib/constants.js");
13
+ var _i18n = require("../../../i18n/i18n.js");
13
14
  var _FluencyContext = require("../context/FluencyContext.js");
14
15
  var _fluencyConstants = require("../fluency.constants.js");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -112,6 +113,7 @@ const ENTER_COLOR_SCHEME = {
112
113
  const useFluencyNumpad = ({
113
114
  onSubmit
114
115
  }) => {
116
+ const t = (0, _i18n.useText)();
115
117
  const {
116
118
  model
117
119
  } = (0, _FluencyContext.useFluency)();
@@ -153,6 +155,7 @@ const useFluencyNumpad = ({
153
155
  ...props
154
156
  }) => ({
155
157
  ...props,
158
+ title: props.key === _constants.KeyboardKeys.ENTER ? t('student.fluency.enter') : props.title,
156
159
  selected: pressedKey === props.key,
157
160
  customColorScheme: props.key === _constants.KeyboardKeys.ENTER && answer !== null ? ENTER_COLOR_SCHEME : customColorScheme,
158
161
  onPressIn: () => pressKey(props.key)
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","current","setTimeout","window","addEventListener","removeEventListener","options","map","props","selected","onPressIn","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_i18n","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","useText","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","current","setTimeout","window","addEventListener","removeEventListener","options","map","props","selected","onPressIn","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ var _reactNativeUi = require("@magmamath/react-native-ui");
9
9
  var _fluencyConstants = require("../fluency.constants.js");
10
10
  var _FluencyContext = require("../context/FluencyContext.js");
11
11
  var _i18n = require("../../../i18n/i18n.js");
12
- const useFluencySolvingPreset = () => {
12
+ const useFluencySolvingPreset = params => {
13
13
  const t = (0, _i18n.useText)();
14
14
  const {
15
15
  model
@@ -21,7 +21,7 @@ const useFluencySolvingPreset = () => {
21
21
  matrixMode: model.matrix.$mode,
22
22
  current: model.solving.$current
23
23
  });
24
- const preset = _fluencyConstants.FLUENCY_MODE_PRESETS[current?.mode ?? matrixMode];
24
+ const preset = _fluencyConstants.FLUENCY_MODE_PRESETS[params?.mode ?? current?.mode ?? matrixMode];
25
25
  const legendItems = [{
26
26
  label: t('student.fluency.notStarted'),
27
27
  color: _reactNativeUi.COLORS.NEUTRAL_2,
@@ -1 +1 @@
1
- {"version":3,"names":["_effectorReact","require","_reactNativeUi","_fluencyConstants","_FluencyContext","_i18n","useFluencySolvingPreset","t","useText","model","useFluency","matrixMode","current","useUnit","matrix","$mode","solving","$current","preset","FLUENCY_MODE_PRESETS","mode","legendItems","label","color","COLORS","NEUTRAL_2","withBorder","levelColors","FluencyMasteryLevel","LEARNING","GROWING","STRONG","MASTERED","symbol","operatorLabel","colors","level","accent","accentColor","streak","header","streakColor","button","buttonColor","legend","items","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencySolvingPreset.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAcO,MAAMK,uBAAuB,GAAGA,CAAA,KAAqC;EAC1E,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAO,EAAC;IACtCF,UAAU,EAAEF,KAAK,CAACK,MAAM,CAACC,KAAK;IAC9BH,OAAO,EAAEH,KAAK,CAACO,OAAO,CAACC;EACzB,CAAC,CAAC;EACF,MAAMC,MAAM,GAAGC,sCAAoB,CAACP,OAAO,EAAEQ,IAAI,IAAIT,UAAU,CAAC;EAEhE,MAAMU,WAAyB,GAAG,CAChC;IAAEC,KAAK,EAAEf,CAAC,CAAC,4BAA4B,CAAC;IAAEgB,KAAK,EAAEC,qBAAM,CAACC,SAAS;IAAEC,UAAU,EAAE;EAAK,CAAC,EACrF;IAAEJ,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAAEgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACC,QAAQ;EAAE,CAAC,EAC/G;IAAEP,KAAK,EAAEf,CAAC,CAAC,gCAAgC,CAAC;IAAEgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACE,OAAO;EAAE,CAAC,EAC7G;IAAER,KAAK,EAAEf,CAAC,CAAC,+BAA+B,CAAC;IAAEgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACG,MAAM;EAAE,CAAC,EAC3G;IAAET,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAAEgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACI,QAAQ;EAAE,CAAC,CAChH;EAED,OAAO;IACLC,MAAM,EAAEf,MAAM,CAACe,MAAM;IACrBX,KAAK,EAAEf,CAAC,CAACW,MAAM,CAACJ,MAAM,CAACoB,aAAa,CAAC;IACrCC,MAAM,EAAE;MACNC,KAAK,EAAElB,MAAM,CAACJ,MAAM,CAACa,WAAW;MAChCU,MAAM,EAAEnB,MAAM,CAACoB,WAAW;MAC1BC,MAAM,EAAErB,MAAM,CAACsB,MAAM,CAACC,WAAW;MACjCC,MAAM,EAAExB,MAAM,CAACyB;IACjB,CAAC;IACDC,MAAM,EAAE;MAAEC,KAAK,EAAExB;IAAY;EAC/B,CAAC;AACH,CAAC;AAAAyB,OAAA,CAAAxC,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effectorReact","require","_reactNativeUi","_fluencyConstants","_FluencyContext","_i18n","useFluencySolvingPreset","params","t","useText","model","useFluency","matrixMode","current","useUnit","matrix","$mode","solving","$current","preset","FLUENCY_MODE_PRESETS","mode","legendItems","label","color","COLORS","NEUTRAL_2","withBorder","levelColors","FluencyMasteryLevel","LEARNING","GROWING","STRONG","MASTERED","symbol","operatorLabel","colors","level","accent","accentColor","streak","header","streakColor","button","buttonColor","legend","items","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencySolvingPreset.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAkBO,MAAMK,uBAAuB,GAClCC,MAAsC,IACJ;EAClC,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAO,EAAC;IACtCF,UAAU,EAAEF,KAAK,CAACK,MAAM,CAACC,KAAK;IAC9BH,OAAO,EAAEH,KAAK,CAACO,OAAO,CAACC;EACzB,CAAC,CAAC;EACF,MAAMC,MAAM,GAAGC,sCAAoB,CAACb,MAAM,EAAEc,IAAI,IAAIR,OAAO,EAAEQ,IAAI,IAAIT,UAAU,CAAC;EAEhF,MAAMU,WAAyB,GAAG,CAChC;IAAEC,KAAK,EAAEf,CAAC,CAAC,4BAA4B,CAAC;IAAEgB,KAAK,EAAEC,qBAAM,CAACC,SAAS;IAAEC,UAAU,EAAE;EAAK,CAAC,EACrF;IACEJ,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAC3CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACC,QAAQ;EAC/D,CAAC,EACD;IACEP,KAAK,EAAEf,CAAC,CAAC,gCAAgC,CAAC;IAC1CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACE,OAAO;EAC9D,CAAC,EACD;IACER,KAAK,EAAEf,CAAC,CAAC,+BAA+B,CAAC;IACzCgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACG,MAAM;EAC7D,CAAC,EACD;IACET,KAAK,EAAEf,CAAC,CAAC,iCAAiC,CAAC;IAC3CgB,KAAK,EAAEL,MAAM,CAACJ,MAAM,CAACa,WAAW,CAACC,qCAAmB,CAACI,QAAQ;EAC/D,CAAC,CACF;EAED,OAAO;IACLC,MAAM,EAAEf,MAAM,CAACe,MAAM;IACrBX,KAAK,EAAEf,CAAC,CAACW,MAAM,CAACJ,MAAM,CAACoB,aAAa,CAAC;IACrCC,MAAM,EAAE;MACNC,KAAK,EAAElB,MAAM,CAACJ,MAAM,CAACa,WAAW;MAChCU,MAAM,EAAEnB,MAAM,CAACoB,WAAW;MAC1BC,MAAM,EAAErB,MAAM,CAACsB,MAAM,CAACC,WAAW;MACjCC,MAAM,EAAExB,MAAM,CAACyB;IACjB,CAAC;IACDC,MAAM,EAAE;MAAEC,KAAK,EAAExB;IAAY;EAC/B,CAAC;AACH,CAAC;AAAAyB,OAAA,CAAAzC,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePreventPageLeave = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ const usePreventPageLeave = () => {
10
+ (0, _react.useEffect)(() => {
11
+ if (_reactNative.Platform.OS !== 'web') return;
12
+ const handleBeforeUnload = event => event.preventDefault();
13
+ window.addEventListener('beforeunload', handleBeforeUnload);
14
+ return () => window.removeEventListener('beforeunload', handleBeforeUnload);
15
+ }, []);
16
+ };
17
+ exports.usePreventPageLeave = usePreventPageLeave;
18
+ //# sourceMappingURL=usePreventPageLeave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","usePreventPageLeave","useEffect","Platform","OS","handleBeforeUnload","event","preventDefault","window","addEventListener","removeEventListener","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/usePreventPageLeave.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,MAAME,mBAAmB,GAAGA,CAAA,KAAM;EACvC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC3B,MAAMC,kBAAkB,GAAIC,KAAwB,IAAKA,KAAK,CAACC,cAAc,CAAC,CAAC;IAC/EC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,kBAAkB,CAAC;IAC3D,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,kBAAkB,CAAC;EAC7E,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAAM,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GradientView = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const buildCssGradient = (colors, start, end, locations) => {
12
+ const angle = Math.round(Math.atan2(end.x - start.x, -(end.y - start.y)) * (180 / Math.PI));
13
+ const stops = colors.map((color, i) => {
14
+ const pct = locations ? `${Math.round(locations[i] * 100)}%` : `${Math.round(i / (colors.length - 1) * 100)}%`;
15
+ return `${color} ${pct}`;
16
+ }).join(', ');
17
+ return `linear-gradient(${angle}deg, ${stops})`;
18
+ };
19
+ const GradientView = ({
20
+ colors,
21
+ start = {
22
+ x: 0,
23
+ y: 0
24
+ },
25
+ end = {
26
+ x: 0,
27
+ y: 1
28
+ },
29
+ locations,
30
+ style,
31
+ pointerEvents,
32
+ children
33
+ }) => {
34
+ if (_reactNative.Platform.OS === 'web') {
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
36
+ pointerEvents: pointerEvents,
37
+ style: [style, {
38
+ backgroundImage: buildCssGradient(colors, start, end, locations)
39
+ }],
40
+ children: children
41
+ });
42
+ }
43
+ const {
44
+ LinearGradient
45
+ } = require('expo-linear-gradient');
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearGradient, {
47
+ colors: colors,
48
+ start: start,
49
+ end: end,
50
+ locations: locations,
51
+ style: style,
52
+ pointerEvents: pointerEvents,
53
+ children: children
54
+ });
55
+ };
56
+ exports.GradientView = GradientView;
57
+ //# sourceMappingURL=GradientView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","buildCssGradient","colors","start","end","locations","angle","Math","round","atan2","x","y","PI","stops","map","color","i","pct","length","join","GradientView","style","pointerEvents","children","Platform","OS","jsx","View","backgroundImage","LinearGradient","exports"],"sourceRoot":"../../../../src","sources":["lib/components/GradientView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA6C,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAe7C,MAAMG,gBAAgB,GAAGA,CAACC,MAAgB,EAAEC,KAAY,EAAEC,GAAU,EAAEC,SAAoB,KAAa;EACrG,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,KAAK,CAACL,GAAG,CAACM,CAAC,GAAGP,KAAK,CAACO,CAAC,EAAE,EAAEN,GAAG,CAACO,CAAC,GAAGR,KAAK,CAACQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAGJ,IAAI,CAACK,EAAE,CAAC,CAAC;EAC3F,MAAMC,KAAK,GAAGX,MAAM,CACjBY,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IACjB,MAAMC,GAAG,GAAGZ,SAAS,GACjB,GAAGE,IAAI,CAACC,KAAK,CAACH,SAAS,CAACW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GACpC,GAAGT,IAAI,CAACC,KAAK,CAAEQ,CAAC,IAAId,MAAM,CAACgB,MAAM,GAAG,CAAC,CAAC,GAAI,GAAG,CAAC,GAAG;IACrD,OAAO,GAAGH,KAAK,IAAIE,GAAG,EAAE;EAC1B,CAAC,CAAC,CACDE,IAAI,CAAC,IAAI,CAAC;EACb,OAAO,mBAAmBb,KAAK,QAAQO,KAAK,GAAG;AACjD,CAAC;AAEM,MAAMO,YAAY,GAAGA,CAAC;EAC3BlB,MAAM;EACNC,KAAK,GAAG;IAAEO,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EACtBP,GAAG,GAAG;IAAEM,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EACpBN,SAAS;EACTgB,KAAK;EACLC,aAAa;EACbC;AACiB,CAAC,KAAK;EACvB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,oBACE,IAAA5B,WAAA,CAAA6B,GAAA,EAAC9B,YAAA,CAAA+B,IAAI;MACHL,aAAa,EAAEA,aAAc;MAC7BD,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEO,eAAe,EAAE3B,gBAAgB,CAACC,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAEC,SAAS;MAAE,CAAC,CAAS;MAAAkB,QAAA,EAE3FA;IAAQ,CACL,CAAC;EAEX;EAEA,MAAM;IAAEM;EAAe,CAAC,GAAGlC,OAAO,CAAC,sBAAsB,CAAC;EAC1D,oBACE,IAAAE,WAAA,CAAA6B,GAAA,EAACG,cAAc;IACb3B,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEA,GAAI;IACTC,SAAS,EAAEA,SAAU;IACrBgB,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAAAC,QAAA,EAE5BA;EAAQ,CACK,CAAC;AAErB,CAAC;AAAAO,OAAA,CAAAV,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import Svg, { Path } from 'react-native-svg';
5
+ import { COLORS } from '@magmamath/react-native-ui';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const SparkleIcon = ({
8
+ size = 20,
9
+ color = COLORS.NEUTRAL_9
10
+ }) => {
11
+ return /*#__PURE__*/_jsx(Svg, {
12
+ width: size,
13
+ height: size,
14
+ viewBox: "0 0 21 21",
15
+ fill: "none",
16
+ children: /*#__PURE__*/_jsx(Path, {
17
+ d: "M20.063 11.863c-3.688 1.348-6.782 4.42-8.24 8.244-.505 1.19-2.111 1.19-2.587 0-1.517-3.793-4.61-6.864-8.299-8.18-1.25-.502-1.25-2.352 0-2.79 3.688-1.348 6.782-4.42 8.24-8.244.505-1.19 2.111-1.19 2.587 0 1.517 3.793 4.61 6.864 8.299 8.18 1.25.502 1.25 2.352 0 2.79z",
18
+ fill: color
19
+ })
20
+ });
21
+ };
22
+ //# sourceMappingURL=SparkleIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","SparkleIcon","size","color","NEUTRAL_9","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/SparkleIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAASC,MAAM,QAAmB,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EACjF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,0QAA0Q;MAC5QF,IAAI,EAAEL;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -1,36 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect } from 'react';
4
- import { View, StyleSheet, Platform } from 'react-native';
3
+ import React from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
5
  import { COLORS } from '@magmamath/react-native-ui';
6
- import { useUnit } from 'effector-react';
7
- import { SESSION_LENGTH } from "../fluency.constants.js";
8
6
  import { FluencyProvider } from "../context/FluencyContext.js";
9
7
  import { FluencySolvingHeader } from "./fluency-solving/components/FluencySolvingHeader.js";
10
8
  import { FluencySolvingProgress } from "./fluency-solving/components/FluencySolvingProgress.js";
11
9
  import { FluencySolvingCard } from "./fluency-solving/components/FluencySolvingCard.js";
12
10
  import { FluencySessionResults } from "./session-results/FluencySessionResults.js";
11
+ import { usePreventPageLeave } from "../hooks/usePreventPageLeave.js";
13
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
13
  export const FluencySolving = ({
15
14
  model,
16
15
  onClosePress,
17
16
  onEndModalPress
18
17
  }) => {
19
- const {
20
- outcomes,
21
- isSessionComplete,
22
- config
23
- } = useUnit({
24
- outcomes: model.solving.$outcomes,
25
- isSessionComplete: model.solving.$isSessionComplete,
26
- config: model.$config
27
- });
28
- useEffect(() => {
29
- if (Platform.OS !== 'web' || isSessionComplete) return;
30
- const handleBeforeUnload = event => event.preventDefault();
31
- window.addEventListener('beforeunload', handleBeforeUnload);
32
- return () => window.removeEventListener('beforeunload', handleBeforeUnload);
33
- }, []);
18
+ usePreventPageLeave();
34
19
  return /*#__PURE__*/_jsxs(FluencyProvider, {
35
20
  value: {
36
21
  model
@@ -39,13 +24,8 @@ export const FluencySolving = ({
39
24
  style: styles.container,
40
25
  children: [/*#__PURE__*/_jsx(FluencySolvingHeader, {
41
26
  onClosePress: onClosePress
42
- }), /*#__PURE__*/_jsx(FluencySolvingProgress, {
43
- total: SESSION_LENGTH,
44
- activeIndex: outcomes.length,
45
- outcomes: outcomes
46
- }), /*#__PURE__*/_jsx(FluencySolvingCard, {})]
47
- }), isSessionComplete && /*#__PURE__*/_jsx(FluencySessionResults, {
48
- studentName: config?.name ?? '',
27
+ }), /*#__PURE__*/_jsx(FluencySolvingProgress, {}), /*#__PURE__*/_jsx(FluencySolvingCard, {})]
28
+ }), /*#__PURE__*/_jsx(FluencySessionResults, {
49
29
  onClosePress: onClosePress,
50
30
  onEndModalPress: onEndModalPress
51
31
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","View","StyleSheet","Platform","COLORS","useUnit","SESSION_LENGTH","FluencyProvider","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","jsx","_jsx","jsxs","_jsxs","FluencySolving","model","onClosePress","onEndModalPress","outcomes","isSessionComplete","config","solving","$outcomes","$isSessionComplete","$config","OS","handleBeforeUnload","event","preventDefault","window","addEventListener","removeEventListener","value","children","style","styles","container","total","activeIndex","length","studentName","name","create","flex","backgroundColor","NEUTRAL_1"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencySolving.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACzD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,OAAO,QAAQ,gBAAgB;AAExC,SAASC,cAAc,QAAQ,yBAAsB;AACrD,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,oBAAoB,QAAQ,sDAAmD;AACxF,SAASC,sBAAsB,QAAQ,wDAAqD;AAC5F,SAASC,kBAAkB,QAAQ,oDAAiD;AACpF,SAASC,qBAAqB,QAAQ,4CAAyC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ/E,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAqC,CAAC,KAAK;EAC/F,MAAM;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC;EAAO,CAAC,GAAGjB,OAAO,CAAC;IACtDe,QAAQ,EAAEH,KAAK,CAACM,OAAO,CAACC,SAAS;IACjCH,iBAAiB,EAAEJ,KAAK,CAACM,OAAO,CAACE,kBAAkB;IACnDH,MAAM,EAAEL,KAAK,CAACS;EAChB,CAAC,CAAC;EAEF1B,SAAS,CAAC,MAAM;IACd,IAAIG,QAAQ,CAACwB,EAAE,KAAK,KAAK,IAAIN,iBAAiB,EAAE;IAEhD,MAAMO,kBAAkB,GAAIC,KAAwB,IAAKA,KAAK,CAACC,cAAc,CAAC,CAAC;IAE/EC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,kBAAkB,CAAC;IAC3D,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,kBAAkB,CAAC;EAC7E,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEb,KAAA,CAACR,eAAe;IAAC2B,KAAK,EAAE;MAAEjB;IAAM,CAAE;IAAAkB,QAAA,gBAChCpB,KAAA,CAACd,IAAI;MAACmC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,gBAC5BtB,IAAA,CAACL,oBAAoB;QAACU,YAAY,EAAEA;MAAa,CAAE,CAAC,eACpDL,IAAA,CAACJ,sBAAsB;QACrB8B,KAAK,EAAEjC,cAAe;QACtBkC,WAAW,EAAEpB,QAAQ,CAACqB,MAAO;QAC7BrB,QAAQ,EAAEA;MAAS,CACpB,CAAC,eACFP,IAAA,CAACH,kBAAkB,IAAE,CAAC;IAAA,CAClB,CAAC,EAENW,iBAAiB,iBAChBR,IAAA,CAACF,qBAAqB;MACpB+B,WAAW,EAAEpB,MAAM,EAAEqB,IAAI,IAAI,EAAG;MAChCzB,YAAY,EAAEA,YAAa;MAC3BC,eAAe,EAAEA;IAAgB,CAClC,CACF;EAAA,CACc,CAAC;AAEtB,CAAC;AAED,MAAMkB,MAAM,GAAGnC,UAAU,CAAC0C,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE1C,MAAM,CAAC2C;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","COLORS","FluencyProvider","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","usePreventPageLeave","jsx","_jsx","jsxs","_jsxs","FluencySolving","model","onClosePress","onEndModalPress","value","children","style","styles","container","create","flex","backgroundColor","NEUTRAL_1"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencySolving.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,oBAAoB,QAAQ,sDAAmD;AACxF,SAASC,sBAAsB,QAAQ,wDAAqD;AAC5F,SAASC,kBAAkB,QAAQ,oDAAiD;AACpF,SAASC,qBAAqB,QAAQ,4CAAyC;AAC/E,SAASC,mBAAmB,QAAQ,iCAA8B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASlE,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAqC,CAAC,KAAK;EAC/FR,mBAAmB,CAAC,CAAC;EAErB,oBACEI,KAAA,CAACT,eAAe;IAACc,KAAK,EAAE;MAAEH;IAAM,CAAE;IAAAI,QAAA,gBAChCN,KAAA,CAACZ,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,gBAC5BR,IAAA,CAACN,oBAAoB;QAACW,YAAY,EAAEA;MAAa,CAAE,CAAC,eACpDL,IAAA,CAACL,sBAAsB,IAAE,CAAC,eAC1BK,IAAA,CAACJ,kBAAkB,IAAE,CAAC;IAAA,CAClB,CAAC,eAEPI,IAAA,CAACH,qBAAqB;MAACQ,YAAY,EAAEA,YAAa;MAACC,eAAe,EAAEA;IAAgB,CAAE,CAAC;EAAA,CACxE,CAAC;AAEtB,CAAC;AAED,MAAMI,MAAM,GAAGnB,UAAU,CAACqB,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEtB,MAAM,CAACuB;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}