@magmamath/students-features 1.3.26-rc.7 → 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 (83) hide show
  1. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +39 -18
  2. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  3. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
  4. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  5. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +22 -81
  6. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  7. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  8. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  9. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +15 -29
  10. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  11. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  12. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  13. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
  14. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  15. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  16. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  17. package/dist/commonjs/lib/components/GradientView.js +57 -0
  18. package/dist/commonjs/lib/components/GradientView.js.map +1 -0
  19. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +40 -19
  20. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  21. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
  22. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  23. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +23 -82
  24. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  25. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  26. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  27. package/dist/module/features/fluency/components/start-banner/StartBanner.js +16 -30
  28. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  29. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  30. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  31. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
  32. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  33. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  34. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  35. package/dist/module/lib/components/GradientView.js +51 -0
  36. package/dist/module/lib/components/GradientView.js.map +1 -0
  37. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  38. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  39. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  40. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  41. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  42. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  43. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  44. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  45. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  46. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  47. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  48. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  49. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  50. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  51. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  52. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  53. package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
  54. package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
  55. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  56. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  57. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  58. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  59. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  60. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  61. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  62. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  63. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  64. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  65. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  66. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  67. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  68. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  69. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  70. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  71. package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
  72. package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
  73. package/package.json +1 -1
  74. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +41 -25
  75. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
  76. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +37 -72
  77. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +32 -13
  78. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +5 -0
  79. package/src/features/fluency/components/start-banner/StartBanner.tsx +10 -28
  80. package/src/features/fluency/hooks/useCardSnapAnimation.ts +41 -21
  81. package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
  82. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +25 -7
  83. package/src/lib/components/GradientView.tsx +63 -0
@@ -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":"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","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":[]}
@@ -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,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":[]}
@@ -6,18 +6,43 @@ import { COLORS, FONT_FAMILY, HeadingVariants, SPACING, Typography } from '@magm
6
6
  import { useText } from "../../../../../i18n/i18n.js";
7
7
  import { useFluencySolvingPreset } from "../../../hooks/useFluencySolvingPreset.js";
8
8
  import { usePreventWebKeys } from "../../../hooks/usePreventWebKeys.js";
9
- import { MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
9
+ import { AttemptStatus, MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
10
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
11
  const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
12
+ const STATUS_COLOR = {
13
+ [AttemptStatus.CORRECT]: COLORS.PRIMARY_GREEN,
14
+ [AttemptStatus.INCORRECT]: COLORS.PRIMARY_RED,
15
+ [AttemptStatus.SKIPPED]: COLORS.NEUTRAL_7
16
+ };
17
+ const getLabelText = (status, defaultText, correctAnswer) => {
18
+ switch (status) {
19
+ case AttemptStatus.CORRECT:
20
+ return 'Correct!';
21
+ case AttemptStatus.INCORRECT:
22
+ return `INCORRECT — ANSWER: ${correctAnswer ?? ''}`;
23
+ case AttemptStatus.SKIPPED:
24
+ return 'Skipped';
25
+ default:
26
+ return defaultText;
27
+ }
28
+ };
12
29
  export const EquationContent = ({
13
30
  leftOperand,
14
31
  rightOperand,
32
+ mode,
15
33
  value = '',
16
34
  readOnly = false,
35
+ status,
36
+ correctAnswer,
17
37
  onChange
18
38
  }) => {
19
39
  const t = useText();
20
- const modePreset = useFluencySolvingPreset();
40
+ const modePreset = useFluencySolvingPreset({
41
+ mode
42
+ });
43
+ const labelColor = status ? STATUS_COLOR[status] : COLORS.NEUTRAL_7;
44
+ const labelText = getLabelText(status, t('student.fluency.typeYourAnswer'), correctAnswer);
45
+ const answerAreaColor = status === AttemptStatus.INCORRECT ? COLORS.PRIMARY_RED : modePreset.colors.accent;
21
46
  const inputRef = useRef(null);
22
47
  usePreventWebKeys({
23
48
  ref: inputRef,
@@ -27,8 +52,10 @@ export const EquationContent = ({
27
52
  return /*#__PURE__*/_jsxs(_Fragment, {
28
53
  children: [/*#__PURE__*/_jsx(Typography, {
29
54
  variant: HeadingVariants.H9,
30
- style: styles.cardLabel,
31
- children: t('student.fluency.typeYourAnswer')
55
+ style: [styles.cardLabel, {
56
+ color: labelColor
57
+ }],
58
+ children: labelText
32
59
  }), /*#__PURE__*/_jsxs(View, {
33
60
  style: styles.equationRow,
34
61
  children: [/*#__PURE__*/_jsx(Typography, {
@@ -47,26 +74,23 @@ export const EquationContent = ({
47
74
  children: "="
48
75
  }), /*#__PURE__*/_jsx(View, {
49
76
  style: [styles.answerBox, value.length > 0 && {
50
- borderBottomColor: modePreset.colors.accent
77
+ borderBottomColor: answerAreaColor
51
78
  }],
52
- children: !readOnly ? /*#__PURE__*/_jsx(TextInput, {
53
- ref: inputRef,
79
+ children: /*#__PURE__*/_jsx(TextInput, {
80
+ ref: readOnly ? undefined : inputRef,
54
81
  value: value,
55
- onChangeText: onChange,
82
+ onChangeText: readOnly ? undefined : onChange,
83
+ editable: !readOnly,
56
84
  keyboardType: "number-pad",
57
85
  maxLength: MAX_INPUT_LENGTH,
58
- selection: {
86
+ selection: readOnly ? undefined : {
59
87
  start: value.length,
60
88
  end: value.length
61
89
  },
62
90
  style: [styles.number, styles.answerInput, {
63
- color: modePreset.colors.accent
91
+ color: answerAreaColor
64
92
  }],
65
- autoFocus: true
66
- }) : /*#__PURE__*/_jsx(Typography, {
67
- style: [styles.number, styles.answerText, {
68
- color: modePreset.colors.accent
69
- }]
93
+ autoFocus: !readOnly
70
94
  })
71
95
  })]
72
96
  })]
@@ -99,16 +123,13 @@ const styles = StyleSheet.create({
99
123
  fontFamily: FONT_FAMILY.buenosAires
100
124
  },
101
125
  answerBox: {
102
- width: 130,
126
+ width: 135,
103
127
  height: 44,
104
128
  marginBottom: -SPACING[800],
105
129
  alignItems: 'center',
106
130
  borderBottomWidth: 8,
107
131
  borderBottomColor: COLORS.NEUTRAL_10
108
132
  },
109
- answerText: {
110
- position: 'absolute'
111
- },
112
133
  answerInput: {
113
134
  position: 'absolute',
114
135
  bottom: -SPACING[400],
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","View","StyleSheet","TextInput","Platform","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","useText","useFluencySolvingPreset","usePreventWebKeys","MAX_INPUT_LENGTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","t","modePreset","inputRef","ref","keys","enabled","children","variant","H9","style","styles","cardLabel","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","onChangeText","keyboardType","maxLength","selection","start","end","answerInput","autoFocus","answerText","create","fontSize","fontWeight","letterSpacing","marginBottom","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","View","StyleSheet","TextInput","Platform","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","useText","useFluencySolvingPreset","usePreventWebKeys","AttemptStatus","MAX_INPUT_LENGTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CURSOR_MOVE_KEYS","STATUS_COLOR","CORRECT","PRIMARY_GREEN","INCORRECT","PRIMARY_RED","SKIPPED","NEUTRAL_7","getLabelText","status","defaultText","correctAnswer","EquationContent","leftOperand","rightOperand","mode","value","readOnly","onChange","t","modePreset","labelColor","labelText","answerAreaColor","colors","accent","inputRef","ref","keys","enabled","children","variant","H9","style","styles","cardLabel","color","equationRow","number","symbol","equals","answerBox","length","borderBottomColor","undefined","onChangeText","editable","keyboardType","maxLength","selection","start","end","answerInput","autoFocus","create","fontSize","fontWeight","letterSpacing","marginBottom","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import Animated from 'react-native-reanimated';
6
+ import { BORDER_RADIUS, COLORS, SHADOWS } from '@magmamath/react-native-ui';
7
+ import { GradientView } from "../../../../../lib/components/GradientView.js";
8
+ import { FluencyEquationCard } from "./FluencyEquationCard.js";
9
+ import { AttemptStatus } from "../../../fluency.constants.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const CARD_GRADIENT_COLORS = {
12
+ [AttemptStatus.CORRECT]: ['#ecfbf3', '#ffffff'],
13
+ [AttemptStatus.INCORRECT]: ['#fff0f1', '#ffffff']
14
+ };
15
+ const hideAnswer = cardContent => ({
16
+ ...cardContent,
17
+ answer: ''
18
+ });
19
+ export const FluencyCardDeck = ({
20
+ currentCardContent,
21
+ exitingCardContent,
22
+ exitingCardStatus,
23
+ snapStyles,
24
+ onAnswerChange
25
+ }) => {
26
+ const backingCardContent = hideAnswer(currentCardContent);
27
+ return /*#__PURE__*/_jsxs(View, {
28
+ style: styles.stack,
29
+ children: [/*#__PURE__*/_jsx(Animated.View, {
30
+ style: [styles.card, styles.cardFar, snapStyles.far]
31
+ }), /*#__PURE__*/_jsx(Animated.View, {
32
+ style: [styles.card, styles.cardMid, snapStyles.mid]
33
+ }), /*#__PURE__*/_jsx(Animated.View, {
34
+ style: [styles.card, styles.cardNear, snapStyles.near],
35
+ children: /*#__PURE__*/_jsx(FluencyEquationCard, {
36
+ cardContent: backingCardContent,
37
+ readOnly: true
38
+ })
39
+ }), !exitingCardContent && /*#__PURE__*/_jsx(Animated.View, {
40
+ style: [styles.card, styles.cardFront],
41
+ children: /*#__PURE__*/_jsx(FluencyEquationCard, {
42
+ cardContent: currentCardContent,
43
+ onAnswerChange: onAnswerChange
44
+ })
45
+ }), exitingCardContent && /*#__PURE__*/_jsxs(Animated.View, {
46
+ style: [styles.card, styles.cardFront, snapStyles.front, exitingCardStatus === AttemptStatus.INCORRECT && styles.cardIncorrect, exitingCardStatus === AttemptStatus.CORRECT && styles.cardCorrect],
47
+ children: [(exitingCardStatus === AttemptStatus.CORRECT || exitingCardStatus === AttemptStatus.INCORRECT) && /*#__PURE__*/_jsx(GradientView, {
48
+ colors: CARD_GRADIENT_COLORS[exitingCardStatus],
49
+ style: [StyleSheet.absoluteFill, {
50
+ borderRadius: BORDER_RADIUS[400]
51
+ }],
52
+ pointerEvents: "none"
53
+ }), /*#__PURE__*/_jsx(FluencyEquationCard, {
54
+ cardContent: exitingCardContent,
55
+ status: exitingCardStatus ?? undefined,
56
+ readOnly: true
57
+ })]
58
+ })]
59
+ });
60
+ };
61
+ const styles = StyleSheet.create({
62
+ stack: {
63
+ width: '100%',
64
+ maxWidth: 560
65
+ },
66
+ card: {
67
+ height: 260,
68
+ borderRadius: BORDER_RADIUS[400],
69
+ backgroundColor: COLORS.NEUTRAL_1,
70
+ ...SHADOWS[5]
71
+ },
72
+ cardFar: {
73
+ position: 'absolute',
74
+ top: 36,
75
+ left: 60,
76
+ right: 60,
77
+ opacity: 0
78
+ },
79
+ cardMid: {
80
+ position: 'absolute',
81
+ top: 24,
82
+ left: 40,
83
+ right: 40
84
+ },
85
+ cardNear: {
86
+ position: 'absolute',
87
+ top: 12,
88
+ left: 20,
89
+ right: 20,
90
+ alignItems: 'center',
91
+ justifyContent: 'center',
92
+ ...SHADOWS[5]
93
+ },
94
+ cardFront: {
95
+ alignItems: 'center',
96
+ justifyContent: 'center'
97
+ },
98
+ cardCorrect: {
99
+ borderWidth: 1.5,
100
+ borderColor: COLORS.PRIMARY_GREEN
101
+ },
102
+ cardIncorrect: {
103
+ borderWidth: 1.5,
104
+ borderColor: COLORS.PRIMARY_RED
105
+ }
106
+ });
107
+ //# sourceMappingURL=FluencyCardDeck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","StyleSheet","Animated","BORDER_RADIUS","COLORS","SHADOWS","GradientView","FluencyEquationCard","AttemptStatus","jsx","_jsx","jsxs","_jsxs","CARD_GRADIENT_COLORS","CORRECT","INCORRECT","hideAnswer","cardContent","answer","FluencyCardDeck","currentCardContent","exitingCardContent","exitingCardStatus","snapStyles","onAnswerChange","backingCardContent","style","styles","stack","children","card","cardFar","far","cardMid","mid","cardNear","near","readOnly","cardFront","front","cardIncorrect","cardCorrect","colors","absoluteFill","borderRadius","pointerEvents","status","undefined","create","width","maxWidth","height","backgroundColor","NEUTRAL_1","position","top","left","right","opacity","alignItems","justifyContent","borderWidth","borderColor","PRIMARY_GREEN","PRIMARY_RED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx"],"mappings":"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","ignoreList":[]}