@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.
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +39 -18
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +22 -81
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +15 -29
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +33 -22
- package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
- package/dist/commonjs/lib/components/GradientView.js +57 -0
- package/dist/commonjs/lib/components/GradientView.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +40 -19
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +23 -82
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +16 -30
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +33 -22
- package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
- package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
- package/dist/module/lib/components/GradientView.js +51 -0
- package/dist/module/lib/components/GradientView.js.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
- package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
- package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
- package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
- package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
- package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +41 -25
- package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +37 -72
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +32 -13
- package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +5 -0
- package/src/features/fluency/components/start-banner/StartBanner.tsx +10 -28
- package/src/features/fluency/hooks/useCardSnapAnimation.ts +41 -21
- package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
- package/src/features/fluency/hooks/useFluencySolvingPreset.ts +25 -7
- package/src/lib/components/GradientView.tsx +63 -0
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { AttemptStatus, type FluencyMode } from '../../../fluency.constants';
|
|
2
3
|
type EquationContentProps = {
|
|
3
4
|
leftOperand: number;
|
|
4
5
|
rightOperand: number;
|
|
6
|
+
mode?: FluencyMode;
|
|
5
7
|
value?: string;
|
|
6
8
|
readOnly?: boolean;
|
|
9
|
+
status?: AttemptStatus;
|
|
10
|
+
correctAnswer?: number;
|
|
7
11
|
onChange?: (text: string) => void;
|
|
8
12
|
};
|
|
9
|
-
export declare const EquationContent: ({ leftOperand, rightOperand, value, readOnly, onChange, }: EquationContentProps) => React.JSX.Element;
|
|
13
|
+
export declare const EquationContent: ({ leftOperand, rightOperand, mode, value, readOnly, status, correctAnswer, onChange, }: EquationContentProps) => React.JSX.Element;
|
|
10
14
|
export {};
|
|
11
15
|
//# sourceMappingURL=EquationContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EquationContent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/EquationContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EquationContent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/EquationContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAYrC,OAAO,EAAE,aAAa,EAAoB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAmB9F,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,eAAe,2FASzB,oBAAoB,sBA2CtB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SnapStyles } from '../../../hooks/useCardSnapAnimation';
|
|
3
|
+
import { AttemptStatus } from '../../../fluency.constants';
|
|
4
|
+
import type { FluencyCardDisplayContent } from '../fluencySolving.types';
|
|
5
|
+
type FluencyCardDeckProps = {
|
|
6
|
+
currentCardContent: FluencyCardDisplayContent;
|
|
7
|
+
exitingCardContent: FluencyCardDisplayContent | null;
|
|
8
|
+
exitingCardStatus: AttemptStatus | null;
|
|
9
|
+
snapStyles: SnapStyles;
|
|
10
|
+
onAnswerChange: (text: string) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare const FluencyCardDeck: ({ currentCardContent, exitingCardContent, exitingCardStatus, snapStyles, onAnswerChange, }: FluencyCardDeckProps) => React.JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=FluencyCardDeck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencyCardDeck.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAOxE,KAAK,oBAAoB,GAAG;IAC1B,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C,kBAAkB,EAAE,yBAAyB,GAAG,IAAI,CAAA;IACpD,iBAAiB,EAAE,aAAa,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AAOD,eAAO,MAAM,eAAe,+FAMzB,oBAAoB,sBA6CtB,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FluencyCardDisplayContent } from '../fluencySolving.types';
|
|
3
|
+
import type { AttemptStatus } from '../../../fluency.constants';
|
|
3
4
|
type FluencyEquationCardProps = {
|
|
4
|
-
|
|
5
|
+
cardContent: FluencyCardDisplayContent;
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
status?: AttemptStatus;
|
|
8
|
+
onAnswerChange?: (text: string) => void;
|
|
5
9
|
};
|
|
6
|
-
export declare const FluencyEquationCard: ({
|
|
10
|
+
export declare const FluencyEquationCard: ({ cardContent, readOnly, status, onAnswerChange, }: FluencyEquationCardProps) => React.JSX.Element;
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=FluencyEquationCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluencyEquationCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FluencyEquationCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,yBAAyB,CAAA;AACrF,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAA;AAQ5E,KAAK,wBAAwB,GAAG;IAC9B,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAaD,eAAO,MAAM,mBAAmB,uDAK7B,wBAAwB,sBAe1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluencySolvingCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FluencySolvingCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,eAAO,MAAM,kBAAkB,yBA+C9B,CAAA"}
|
|
@@ -12,6 +12,10 @@ export type SolvingFact = {
|
|
|
12
12
|
attemptsCount: number;
|
|
13
13
|
correctCount: number;
|
|
14
14
|
};
|
|
15
|
+
export type FluencyCardDisplayContent = {
|
|
16
|
+
fact: SolvingFact | null;
|
|
17
|
+
answer: string;
|
|
18
|
+
};
|
|
15
19
|
export type QuestionOutcome = {
|
|
16
20
|
factId: string;
|
|
17
21
|
status: AttemptStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluencySolving.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/fluency-solving/fluencySolving.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA"}
|
|
1
|
+
{"version":3,"file":"fluencySolving.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/fluency-solving/fluencySolving.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA"}
|
package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartBanner.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/start-banner/StartBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StartBanner.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/start-banner/StartBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,eAAO,MAAM,WAAW,yBAmDvB,CAAA"}
|
|
@@ -7,8 +7,13 @@ export type SnapStyles = {
|
|
|
7
7
|
mid: AnimatedStyle<ViewStyle>;
|
|
8
8
|
far: AnimatedStyle<ViewStyle>;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
type UseCardSnapAnimationParams = {
|
|
11
|
+
onComplete?: () => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const useCardSnapAnimation: (params?: UseCardSnapAnimationParams) => {
|
|
11
14
|
snapStyles: SnapStyles;
|
|
12
|
-
trigger: (direction: SnapDirection) =>
|
|
15
|
+
trigger: (direction: SnapDirection) => boolean;
|
|
16
|
+
resetBackingCards: () => void;
|
|
13
17
|
};
|
|
18
|
+
export {};
|
|
14
19
|
//# sourceMappingURL=useCardSnapAnimation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCardSnapAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useCardSnapAnimation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC/B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"useCardSnapAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useCardSnapAnimation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC/B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAC9B,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AA0BD,eAAO,MAAM,oBAAoB,YAAY,0BAA0B;gBAqHnB,UAAU;yBAzBhC,aAAa;;CA0B1C,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SnapDirection } from './useCardSnapAnimation';
|
|
2
|
+
import { type AttemptStatus } from '../fluency.constants';
|
|
3
|
+
import type { FluencyCardDisplayContent } from '../components/fluency-solving/fluencySolving.types';
|
|
4
|
+
type StartCardExitParams = {
|
|
5
|
+
cardContent: FluencyCardDisplayContent;
|
|
6
|
+
direction: SnapDirection;
|
|
7
|
+
status: AttemptStatus;
|
|
8
|
+
};
|
|
9
|
+
export declare const useFluencyCardDeckAnimation: () => {
|
|
10
|
+
exitingCardContent: FluencyCardDisplayContent | null;
|
|
11
|
+
exitingCardStatus: AttemptStatus | null;
|
|
12
|
+
snapStyles: import("./useCardSnapAnimation").SnapStyles;
|
|
13
|
+
startCardExit: ({ cardContent, direction, status }: StartCardExitParams) => boolean;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=useFluencyCardDeckAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFluencyCardDeckAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyCardDeckAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAEnG,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,yBAAyB,CAAA;IACtC,SAAS,EAAE,aAAa,CAAA;IACxB,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;wDAsBqB,mBAAmB;CAc/E,CAAA"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ButtonColor } from '@magmamath/react-native-ui';
|
|
2
|
-
import { FluencyMasteryLevel } from '../fluency.constants';
|
|
2
|
+
import { FluencyMasteryLevel, type FluencyMode } from '../fluency.constants';
|
|
3
3
|
import type { LegendItem } from '../fluency.types';
|
|
4
|
+
type UseFluencySolvingPresetParams = {
|
|
5
|
+
mode?: FluencyMode;
|
|
6
|
+
};
|
|
4
7
|
type UseFluencySolvingPresetResult = {
|
|
5
8
|
symbol: string;
|
|
6
9
|
label: string;
|
|
@@ -17,6 +20,6 @@ type UseFluencySolvingPresetResult = {
|
|
|
17
20
|
items: LegendItem[];
|
|
18
21
|
};
|
|
19
22
|
};
|
|
20
|
-
export declare const useFluencySolvingPreset: () => UseFluencySolvingPresetResult;
|
|
23
|
+
export declare const useFluencySolvingPreset: (params?: UseFluencySolvingPresetParams) => UseFluencySolvingPresetResult;
|
|
21
24
|
export {};
|
|
22
25
|
//# sourceMappingURL=useFluencySolvingPreset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFluencySolvingPreset.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencySolvingPreset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useFluencySolvingPreset.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencySolvingPreset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAwB,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,KAAK,6BAA6B,GAAG;IACnC,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/C,MAAM,EAAE,WAAW,CAAA;KACpB,CAAA;IACD,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,uBAAuB,YACzB,6BAA6B,KACrC,6BAwCF,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
type Point = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
type GradientViewProps = {
|
|
8
|
+
colors: string[];
|
|
9
|
+
start?: Point;
|
|
10
|
+
end?: Point;
|
|
11
|
+
locations?: number[];
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
pointerEvents?: 'none' | 'box-none' | 'box-only' | 'auto';
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export declare const GradientView: ({ colors, start, end, locations, style, pointerEvents, children, }: GradientViewProps) => React.JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=GradientView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GradientView.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/GradientView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExD,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,GAAG,CAAC,EAAE,KAAK,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAeD,eAAO,MAAM,YAAY,uEAQtB,iBAAiB,sBAyBnB,CAAA"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { AttemptStatus, type FluencyMode } from '../../../fluency.constants';
|
|
2
3
|
type EquationContentProps = {
|
|
3
4
|
leftOperand: number;
|
|
4
5
|
rightOperand: number;
|
|
6
|
+
mode?: FluencyMode;
|
|
5
7
|
value?: string;
|
|
6
8
|
readOnly?: boolean;
|
|
9
|
+
status?: AttemptStatus;
|
|
10
|
+
correctAnswer?: number;
|
|
7
11
|
onChange?: (text: string) => void;
|
|
8
12
|
};
|
|
9
|
-
export declare const EquationContent: ({ leftOperand, rightOperand, value, readOnly, onChange, }: EquationContentProps) => React.JSX.Element;
|
|
13
|
+
export declare const EquationContent: ({ leftOperand, rightOperand, mode, value, readOnly, status, correctAnswer, onChange, }: EquationContentProps) => React.JSX.Element;
|
|
10
14
|
export {};
|
|
11
15
|
//# sourceMappingURL=EquationContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EquationContent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/EquationContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"EquationContent.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/EquationContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAYrC,OAAO,EAAE,aAAa,EAAoB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAmB9F,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,eAAe,2FASzB,oBAAoB,sBA2CtB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SnapStyles } from '../../../hooks/useCardSnapAnimation';
|
|
3
|
+
import { AttemptStatus } from '../../../fluency.constants';
|
|
4
|
+
import type { FluencyCardDisplayContent } from '../fluencySolving.types';
|
|
5
|
+
type FluencyCardDeckProps = {
|
|
6
|
+
currentCardContent: FluencyCardDisplayContent;
|
|
7
|
+
exitingCardContent: FluencyCardDisplayContent | null;
|
|
8
|
+
exitingCardStatus: AttemptStatus | null;
|
|
9
|
+
snapStyles: SnapStyles;
|
|
10
|
+
onAnswerChange: (text: string) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare const FluencyCardDeck: ({ currentCardContent, exitingCardContent, exitingCardStatus, snapStyles, onAnswerChange, }: FluencyCardDeckProps) => React.JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=FluencyCardDeck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluencyCardDeck.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAOxE,KAAK,oBAAoB,GAAG;IAC1B,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C,kBAAkB,EAAE,yBAAyB,GAAG,IAAI,CAAA;IACpD,iBAAiB,EAAE,aAAa,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AAOD,eAAO,MAAM,eAAe,+FAMzB,oBAAoB,sBA6CtB,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { FluencyCardDisplayContent } from '../fluencySolving.types';
|
|
3
|
+
import type { AttemptStatus } from '../../../fluency.constants';
|
|
3
4
|
type FluencyEquationCardProps = {
|
|
4
|
-
|
|
5
|
+
cardContent: FluencyCardDisplayContent;
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
status?: AttemptStatus;
|
|
8
|
+
onAnswerChange?: (text: string) => void;
|
|
5
9
|
};
|
|
6
|
-
export declare const FluencyEquationCard: ({
|
|
10
|
+
export declare const FluencyEquationCard: ({ cardContent, readOnly, status, onAnswerChange, }: FluencyEquationCardProps) => React.JSX.Element;
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=FluencyEquationCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluencyEquationCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FluencyEquationCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,yBAAyB,CAAA;AACrF,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,4BAA4B,CAAA;AAQ5E,KAAK,wBAAwB,GAAG;IAC9B,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAaD,eAAO,MAAM,mBAAmB,uDAK7B,wBAAwB,sBAe1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FluencySolvingCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FluencySolvingCard.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,eAAO,MAAM,kBAAkB,yBA+C9B,CAAA"}
|
package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export type SolvingFact = {
|
|
|
12
12
|
attemptsCount: number;
|
|
13
13
|
correctCount: number;
|
|
14
14
|
};
|
|
15
|
+
export type FluencyCardDisplayContent = {
|
|
16
|
+
fact: SolvingFact | null;
|
|
17
|
+
answer: string;
|
|
18
|
+
};
|
|
15
19
|
export type QuestionOutcome = {
|
|
16
20
|
factId: string;
|
|
17
21
|
status: AttemptStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluencySolving.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/fluency-solving/fluencySolving.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA"}
|
|
1
|
+
{"version":3,"file":"fluencySolving.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/fluency-solving/fluencySolving.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA"}
|
package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartBanner.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/start-banner/StartBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StartBanner.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/fluency/components/start-banner/StartBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,eAAO,MAAM,WAAW,yBAmDvB,CAAA"}
|
|
@@ -7,8 +7,13 @@ export type SnapStyles = {
|
|
|
7
7
|
mid: AnimatedStyle<ViewStyle>;
|
|
8
8
|
far: AnimatedStyle<ViewStyle>;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
type UseCardSnapAnimationParams = {
|
|
11
|
+
onComplete?: () => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const useCardSnapAnimation: (params?: UseCardSnapAnimationParams) => {
|
|
11
14
|
snapStyles: SnapStyles;
|
|
12
|
-
trigger: (direction: SnapDirection) =>
|
|
15
|
+
trigger: (direction: SnapDirection) => boolean;
|
|
16
|
+
resetBackingCards: () => void;
|
|
13
17
|
};
|
|
18
|
+
export {};
|
|
14
19
|
//# sourceMappingURL=useCardSnapAnimation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCardSnapAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useCardSnapAnimation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC/B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"useCardSnapAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useCardSnapAnimation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC/B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAC9B,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AA0BD,eAAO,MAAM,oBAAoB,YAAY,0BAA0B;gBAqHnB,UAAU;yBAzBhC,aAAa;;CA0B1C,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SnapDirection } from './useCardSnapAnimation';
|
|
2
|
+
import { type AttemptStatus } from '../fluency.constants';
|
|
3
|
+
import type { FluencyCardDisplayContent } from '../components/fluency-solving/fluencySolving.types';
|
|
4
|
+
type StartCardExitParams = {
|
|
5
|
+
cardContent: FluencyCardDisplayContent;
|
|
6
|
+
direction: SnapDirection;
|
|
7
|
+
status: AttemptStatus;
|
|
8
|
+
};
|
|
9
|
+
export declare const useFluencyCardDeckAnimation: () => {
|
|
10
|
+
exitingCardContent: FluencyCardDisplayContent | null;
|
|
11
|
+
exitingCardStatus: AttemptStatus | null;
|
|
12
|
+
snapStyles: import("./useCardSnapAnimation").SnapStyles;
|
|
13
|
+
startCardExit: ({ cardContent, direction, status }: StartCardExitParams) => boolean;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=useFluencyCardDeckAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFluencyCardDeckAnimation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyCardDeckAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAEnG,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,yBAAyB,CAAA;IACtC,SAAS,EAAE,aAAa,CAAA;IACxB,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;wDAsBqB,mBAAmB;CAc/E,CAAA"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ButtonColor } from '@magmamath/react-native-ui';
|
|
2
|
-
import { FluencyMasteryLevel } from '../fluency.constants';
|
|
2
|
+
import { FluencyMasteryLevel, type FluencyMode } from '../fluency.constants';
|
|
3
3
|
import type { LegendItem } from '../fluency.types';
|
|
4
|
+
type UseFluencySolvingPresetParams = {
|
|
5
|
+
mode?: FluencyMode;
|
|
6
|
+
};
|
|
4
7
|
type UseFluencySolvingPresetResult = {
|
|
5
8
|
symbol: string;
|
|
6
9
|
label: string;
|
|
@@ -17,6 +20,6 @@ type UseFluencySolvingPresetResult = {
|
|
|
17
20
|
items: LegendItem[];
|
|
18
21
|
};
|
|
19
22
|
};
|
|
20
|
-
export declare const useFluencySolvingPreset: () => UseFluencySolvingPresetResult;
|
|
23
|
+
export declare const useFluencySolvingPreset: (params?: UseFluencySolvingPresetParams) => UseFluencySolvingPresetResult;
|
|
21
24
|
export {};
|
|
22
25
|
//# sourceMappingURL=useFluencySolvingPreset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFluencySolvingPreset.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencySolvingPreset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useFluencySolvingPreset.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencySolvingPreset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAwB,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,KAAK,6BAA6B,GAAG;IACnC,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/C,MAAM,EAAE,WAAW,CAAA;KACpB,CAAA;IACD,MAAM,EAAE;QAAE,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,uBAAuB,YACzB,6BAA6B,KACrC,6BAwCF,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
type Point = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
};
|
|
7
|
+
type GradientViewProps = {
|
|
8
|
+
colors: string[];
|
|
9
|
+
start?: Point;
|
|
10
|
+
end?: Point;
|
|
11
|
+
locations?: number[];
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
pointerEvents?: 'none' | 'box-none' | 'box-only' | 'auto';
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export declare const GradientView: ({ colors, start, end, locations, style, pointerEvents, children, }: GradientViewProps) => React.JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=GradientView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GradientView.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/GradientView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExD,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,GAAG,CAAC,EAAE,KAAK,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAeD,eAAO,MAAM,YAAY,uEAQtB,iBAAiB,sBAyBnB,CAAA"}
|
package/package.json
CHANGED
|
@@ -10,35 +10,59 @@ import {
|
|
|
10
10
|
import { useText } from '../../../../../i18n/i18n'
|
|
11
11
|
import { useFluencySolvingPreset } from '../../../hooks/useFluencySolvingPreset'
|
|
12
12
|
import { usePreventWebKeys } from '../../../hooks/usePreventWebKeys'
|
|
13
|
-
import { MAX_INPUT_LENGTH } from '../../../fluency.constants'
|
|
13
|
+
import { AttemptStatus, MAX_INPUT_LENGTH, type FluencyMode } from '../../../fluency.constants'
|
|
14
14
|
|
|
15
15
|
const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End']
|
|
16
16
|
|
|
17
|
+
const STATUS_COLOR: Record<AttemptStatus, string> = {
|
|
18
|
+
[AttemptStatus.CORRECT]: COLORS.PRIMARY_GREEN,
|
|
19
|
+
[AttemptStatus.INCORRECT]: COLORS.PRIMARY_RED,
|
|
20
|
+
[AttemptStatus.SKIPPED]: COLORS.NEUTRAL_7,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const getLabelText = (status: AttemptStatus | undefined, defaultText: string, correctAnswer?: number): string => {
|
|
24
|
+
switch (status) {
|
|
25
|
+
case AttemptStatus.CORRECT: return 'Correct!'
|
|
26
|
+
case AttemptStatus.INCORRECT: return `INCORRECT — ANSWER: ${correctAnswer ?? ''}`
|
|
27
|
+
case AttemptStatus.SKIPPED: return 'Skipped'
|
|
28
|
+
default: return defaultText
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
17
32
|
type EquationContentProps = {
|
|
18
33
|
leftOperand: number
|
|
19
34
|
rightOperand: number
|
|
35
|
+
mode?: FluencyMode
|
|
20
36
|
value?: string
|
|
21
37
|
readOnly?: boolean
|
|
38
|
+
status?: AttemptStatus
|
|
39
|
+
correctAnswer?: number
|
|
22
40
|
onChange?: (text: string) => void
|
|
23
41
|
}
|
|
24
42
|
|
|
25
43
|
export const EquationContent = ({
|
|
26
44
|
leftOperand,
|
|
27
45
|
rightOperand,
|
|
46
|
+
mode,
|
|
28
47
|
value = '',
|
|
29
48
|
readOnly = false,
|
|
49
|
+
status,
|
|
50
|
+
correctAnswer,
|
|
30
51
|
onChange,
|
|
31
52
|
}: EquationContentProps) => {
|
|
32
53
|
const t = useText()
|
|
33
|
-
const modePreset = useFluencySolvingPreset()
|
|
54
|
+
const modePreset = useFluencySolvingPreset({ mode })
|
|
55
|
+
const labelColor = status ? STATUS_COLOR[status] : COLORS.NEUTRAL_7
|
|
56
|
+
const labelText = getLabelText(status, t('student.fluency.typeYourAnswer'), correctAnswer)
|
|
57
|
+
const answerAreaColor = status === AttemptStatus.INCORRECT ? COLORS.PRIMARY_RED : modePreset.colors.accent
|
|
34
58
|
|
|
35
59
|
const inputRef = useRef<TextInput>(null)
|
|
36
60
|
usePreventWebKeys({ ref: inputRef, keys: CURSOR_MOVE_KEYS, enabled: !readOnly })
|
|
37
61
|
|
|
38
62
|
return (
|
|
39
63
|
<>
|
|
40
|
-
<Typography variant={HeadingVariants.H9} style={styles.cardLabel}>
|
|
41
|
-
{
|
|
64
|
+
<Typography variant={HeadingVariants.H9} style={[styles.cardLabel, { color: labelColor }]}>
|
|
65
|
+
{labelText}
|
|
42
66
|
</Typography>
|
|
43
67
|
<View style={styles.equationRow}>
|
|
44
68
|
<Typography style={styles.number}>{leftOperand}</Typography>
|
|
@@ -50,25 +74,20 @@ export const EquationContent = ({
|
|
|
50
74
|
<View
|
|
51
75
|
style={[
|
|
52
76
|
styles.answerBox,
|
|
53
|
-
value.length > 0 && { borderBottomColor:
|
|
77
|
+
value.length > 0 && { borderBottomColor: answerAreaColor },
|
|
54
78
|
]}
|
|
55
79
|
>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
) : (
|
|
68
|
-
<Typography
|
|
69
|
-
style={[styles.number, styles.answerText, { color: modePreset.colors.accent }]}
|
|
70
|
-
/>
|
|
71
|
-
)}
|
|
80
|
+
<TextInput
|
|
81
|
+
ref={readOnly ? undefined : inputRef}
|
|
82
|
+
value={value}
|
|
83
|
+
onChangeText={readOnly ? undefined : onChange}
|
|
84
|
+
editable={!readOnly}
|
|
85
|
+
keyboardType="number-pad"
|
|
86
|
+
maxLength={MAX_INPUT_LENGTH}
|
|
87
|
+
selection={readOnly ? undefined : { start: value.length, end: value.length }}
|
|
88
|
+
style={[styles.number, styles.answerInput, { color: answerAreaColor }]}
|
|
89
|
+
autoFocus={!readOnly}
|
|
90
|
+
/>
|
|
72
91
|
</View>
|
|
73
92
|
</View>
|
|
74
93
|
</>
|
|
@@ -102,16 +121,13 @@ const styles = StyleSheet.create({
|
|
|
102
121
|
fontFamily: FONT_FAMILY.buenosAires,
|
|
103
122
|
},
|
|
104
123
|
answerBox: {
|
|
105
|
-
width:
|
|
124
|
+
width: 135,
|
|
106
125
|
height: 44,
|
|
107
126
|
marginBottom: -SPACING[800],
|
|
108
127
|
alignItems: 'center',
|
|
109
128
|
borderBottomWidth: 8,
|
|
110
129
|
borderBottomColor: COLORS.NEUTRAL_10,
|
|
111
130
|
},
|
|
112
|
-
answerText: {
|
|
113
|
-
position: 'absolute',
|
|
114
|
-
},
|
|
115
131
|
answerInput: {
|
|
116
132
|
position: 'absolute',
|
|
117
133
|
bottom: -SPACING[400],
|