@magmamath/students-features 1.3.25 → 1.3.26-rc.0
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.js +63 -0
- package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -0
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +91 -0
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -0
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +73 -0
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +35 -0
- package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +91 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +118 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js +43 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +124 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +75 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -0
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +80 -0
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -0
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +73 -0
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -0
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +98 -0
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -0
- package/dist/commonjs/features/fluency/fluency.constants.js +77 -0
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -0
- package/dist/commonjs/features/fluency/fluency.helpers.js +9 -0
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -0
- package/dist/commonjs/features/fluency/fluency.types.js +2 -0
- package/dist/commonjs/features/fluency/fluency.types.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js +15 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js.map +1 -0
- package/dist/commonjs/features/fluency/index.js +60 -0
- package/dist/commonjs/features/fluency/index.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyApiModel.js +11 -0
- package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +9 -0
- package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +9 -0
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyModel.js +24 -0
- package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -0
- package/dist/commonjs/features/fluency/model/fluency.instance.js +11 -0
- package/dist/commonjs/features/fluency/model/fluency.instance.js.map +1 -0
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/features/fluency/components/Fluency.js +57 -0
- package/dist/module/features/fluency/components/Fluency.js.map +1 -0
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +85 -0
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -0
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +67 -0
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +29 -0
- package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +85 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +112 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js +37 -0
- package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +118 -0
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +69 -0
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -0
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +74 -0
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -0
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +67 -0
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -0
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +92 -0
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -0
- package/dist/module/features/fluency/fluency.constants.js +73 -0
- package/dist/module/features/fluency/fluency.constants.js.map +1 -0
- package/dist/module/features/fluency/fluency.helpers.js +4 -0
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -0
- package/dist/module/features/fluency/fluency.types.js +2 -0
- package/dist/module/features/fluency/fluency.types.js.map +1 -0
- package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js +10 -0
- package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js.map +1 -0
- package/dist/module/features/fluency/index.js +8 -0
- package/dist/module/features/fluency/index.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyApiModel.js +6 -0
- package/dist/module/features/fluency/model/FluencyApiModel.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +4 -0
- package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyMatrixModel.js +4 -0
- package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyModel.js +19 -0
- package/dist/module/features/fluency/model/FluencyModel.js.map +1 -0
- package/dist/module/features/fluency/model/fluency.instance.js +7 -0
- package/dist/module/features/fluency/model/fluency.instance.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +13 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts +28 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +24 -0
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/index.d.ts +6 -0
- package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +6 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +17 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts +2 -0
- package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts +8 -0
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +11 -0
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +13 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts +8 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts +11 -0
- package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts +28 -0
- package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts +5 -0
- package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +24 -0
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +2 -0
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/fluency.types.d.ts +2 -0
- package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts +3 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/index.d.ts +6 -0
- package/dist/typescript/module/features/fluency/index.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +6 -0
- package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +3 -0
- package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +3 -0
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +17 -0
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts +3 -0
- package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/fluency/__tests__/FluencyModel.test.ts +28 -0
- package/src/features/fluency/components/Fluency.tsx +59 -0
- package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +82 -0
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +51 -0
- package/src/features/fluency/components/matrix/FluencyMatrix.tsx +30 -0
- package/src/features/fluency/components/matrix/components/MatrixFill.tsx +86 -0
- package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +112 -0
- package/src/features/fluency/components/select-math-operator/MathOperatorRow.tsx +38 -0
- package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +127 -0
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +90 -0
- package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +45 -0
- package/src/features/fluency/components/start-banner/MathFlashcard.tsx +69 -0
- package/src/features/fluency/components/start-banner/StartBanner.tsx +92 -0
- package/src/features/fluency/fluency.constants.ts +75 -0
- package/src/features/fluency/fluency.helpers.ts +1 -0
- package/src/features/fluency/fluency.types.ts +1 -0
- package/src/features/fluency/hooks/useFluencyModeUIPreset.ts +8 -0
- package/src/features/fluency/index.ts +5 -0
- package/src/features/fluency/model/FluencyApiModel.ts +5 -0
- package/src/features/fluency/model/FluencyDaysStreakModel.ts +1 -0
- package/src/features/fluency/model/FluencyMatrixModel.ts +1 -0
- package/src/features/fluency/model/FluencyModel.ts +24 -0
- package/src/features/fluency/model/fluency.instance.ts +3 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import { BORDER_RADIUS, Button, ButtonSize, ButtonVariant, COLORS, PlayIcon, SPACING } from '@magmamath/react-native-ui';
|
|
6
|
+
import { useFluencyModeUIPreset } from "../../../hooks/useFluencyModeUIPreset.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
const LEGEND_DOT_SIZE = 14;
|
|
9
|
+
const LEGEND_DOT_BORDER_RADIUS = 3;
|
|
10
|
+
const LEGEND_LABEL_FONT_SIZE = 12;
|
|
11
|
+
export const MatrixLegend = ({}) => {
|
|
12
|
+
const {
|
|
13
|
+
mastery,
|
|
14
|
+
buttonColor,
|
|
15
|
+
operatorName
|
|
16
|
+
} = useFluencyModeUIPreset();
|
|
17
|
+
const legendItems = [{
|
|
18
|
+
label: 'Not started',
|
|
19
|
+
color: COLORS.NEUTRAL_2,
|
|
20
|
+
withBorder: true
|
|
21
|
+
}, {
|
|
22
|
+
label: 'Learning',
|
|
23
|
+
color: mastery.learning
|
|
24
|
+
}, {
|
|
25
|
+
label: 'Growing',
|
|
26
|
+
color: mastery.growing
|
|
27
|
+
}, {
|
|
28
|
+
label: 'Strong',
|
|
29
|
+
color: mastery.strong
|
|
30
|
+
}, {
|
|
31
|
+
label: 'Mastered',
|
|
32
|
+
color: mastery.mastered
|
|
33
|
+
}];
|
|
34
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
35
|
+
style: styles.container,
|
|
36
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
37
|
+
style: styles.legendItems,
|
|
38
|
+
children: legendItems.map(item => /*#__PURE__*/_jsxs(View, {
|
|
39
|
+
style: styles.legendItem,
|
|
40
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
41
|
+
style: [styles.legendDot, {
|
|
42
|
+
backgroundColor: item.color
|
|
43
|
+
}, item.withBorder && styles.legendDotBorder]
|
|
44
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
45
|
+
style: styles.legendLabel,
|
|
46
|
+
children: item.label
|
|
47
|
+
})]
|
|
48
|
+
}, item.label))
|
|
49
|
+
}), /*#__PURE__*/_jsx(Button
|
|
50
|
+
// TODO: Wire to the practice action when the model gains a startPractice event.
|
|
51
|
+
, {
|
|
52
|
+
onPress: () => {},
|
|
53
|
+
variant: ButtonVariant.PRIMARY,
|
|
54
|
+
size: ButtonSize.MEDIUM,
|
|
55
|
+
colorScheme: buttonColor,
|
|
56
|
+
icon: /*#__PURE__*/_jsx(PlayIcon, {
|
|
57
|
+
color: COLORS.NEUTRAL_1
|
|
58
|
+
}),
|
|
59
|
+
raiseLevel: 3,
|
|
60
|
+
style: {
|
|
61
|
+
container: styles.practiceButton,
|
|
62
|
+
text: styles.practiceButtonText
|
|
63
|
+
},
|
|
64
|
+
children: `Practice ${operatorName}`
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const styles = StyleSheet.create({
|
|
69
|
+
container: {
|
|
70
|
+
height: 65,
|
|
71
|
+
flexDirection: 'row',
|
|
72
|
+
alignItems: 'flex-end',
|
|
73
|
+
justifyContent: 'space-between',
|
|
74
|
+
backgroundColor: COLORS.NEUTRAL_2,
|
|
75
|
+
borderBottomWidth: 1,
|
|
76
|
+
borderBottomColor: COLORS.NEUTRAL_5,
|
|
77
|
+
paddingHorizontal: SPACING[300],
|
|
78
|
+
paddingVertical: SPACING[300],
|
|
79
|
+
borderTopLeftRadius: BORDER_RADIUS[400],
|
|
80
|
+
borderTopRightRadius: BORDER_RADIUS[400]
|
|
81
|
+
},
|
|
82
|
+
legendItems: {
|
|
83
|
+
flexDirection: 'row',
|
|
84
|
+
alignItems: 'center',
|
|
85
|
+
gap: SPACING[400]
|
|
86
|
+
},
|
|
87
|
+
legendItem: {
|
|
88
|
+
flexDirection: 'row',
|
|
89
|
+
alignItems: 'center',
|
|
90
|
+
gap: SPACING[150]
|
|
91
|
+
},
|
|
92
|
+
legendDot: {
|
|
93
|
+
width: LEGEND_DOT_SIZE,
|
|
94
|
+
height: LEGEND_DOT_SIZE,
|
|
95
|
+
borderRadius: LEGEND_DOT_BORDER_RADIUS
|
|
96
|
+
},
|
|
97
|
+
legendDotBorder: {
|
|
98
|
+
borderWidth: 0.5,
|
|
99
|
+
borderColor: COLORS.NEUTRAL_5
|
|
100
|
+
},
|
|
101
|
+
legendLabel: {
|
|
102
|
+
fontSize: LEGEND_LABEL_FONT_SIZE,
|
|
103
|
+
color: COLORS.NEUTRAL_7
|
|
104
|
+
},
|
|
105
|
+
practiceButton: {
|
|
106
|
+
alignSelf: 'center'
|
|
107
|
+
},
|
|
108
|
+
practiceButtonText: {
|
|
109
|
+
textTransform: 'uppercase'
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=MatrixLegend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","PlayIcon","SPACING","useFluencyModeUIPreset","jsx","_jsx","jsxs","_jsxs","LEGEND_DOT_SIZE","LEGEND_DOT_BORDER_RADIUS","LEGEND_LABEL_FONT_SIZE","MatrixLegend","mastery","buttonColor","operatorName","legendItems","label","color","NEUTRAL_2","withBorder","learning","growing","strong","mastered","style","styles","container","children","map","item","legendItem","legendDot","backgroundColor","legendDotBorder","legendLabel","onPress","variant","PRIMARY","size","MEDIUM","colorScheme","icon","NEUTRAL_1","raiseLevel","practiceButton","text","practiceButtonText","create","height","flexDirection","alignItems","justifyContent","borderBottomWidth","borderBottomColor","NEUTRAL_5","paddingHorizontal","paddingVertical","borderTopLeftRadius","borderTopRightRadius","gap","width","borderRadius","borderWidth","borderColor","fontSize","NEUTRAL_7","alignSelf","textTransform"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixLegend.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SACEC,aAAa,EACbC,MAAM,EACNC,UAAU,EACVC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,OAAO,QACF,4BAA4B;AACnC,SAASC,sBAAsB,QAAQ,0CAAuC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9E,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,wBAAwB,GAAG,CAAC;AAClC,MAAMC,sBAAsB,GAAG,EAAE;AAUjC,OAAO,MAAMC,YAAY,GAAGA,CAAC,CAAoB,CAAC,KAAK;EACrD,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAa,CAAC,GAAGX,sBAAsB,CAAC,CAAC;EAEvE,MAAMY,WAAyB,GAAG,CAChC;IAAEC,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAEjB,MAAM,CAACkB,SAAS;IAAEC,UAAU,EAAE;EAAK,CAAC,EACnE;IAAEH,KAAK,EAAE,UAAU;IAAEC,KAAK,EAAEL,OAAO,CAACQ;EAAS,CAAC,EAC9C;IAAEJ,KAAK,EAAE,SAAS;IAAEC,KAAK,EAAEL,OAAO,CAACS;EAAQ,CAAC,EAC5C;IAAEL,KAAK,EAAE,QAAQ;IAAEC,KAAK,EAAEL,OAAO,CAACU;EAAO,CAAC,EAC1C;IAAEN,KAAK,EAAE,UAAU;IAAEC,KAAK,EAAEL,OAAO,CAACW;EAAS,CAAC,CAC/C;EAED,oBACEhB,KAAA,CAACd,IAAI;IAAC+B,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BtB,IAAA,CAACZ,IAAI;MAAC+B,KAAK,EAAEC,MAAM,CAACV,WAAY;MAAAY,QAAA,EAC7BZ,WAAW,CAACa,GAAG,CAAEC,IAAI,iBACpBtB,KAAA,CAACd,IAAI;QAAkB+B,KAAK,EAAEC,MAAM,CAACK,UAAW;QAAAH,QAAA,gBAC9CtB,IAAA,CAACZ,IAAI;UACH+B,KAAK,EAAE,CACLC,MAAM,CAACM,SAAS,EAChB;YAAEC,eAAe,EAAEH,IAAI,CAACZ;UAAM,CAAC,EAC/BY,IAAI,CAACV,UAAU,IAAIM,MAAM,CAACQ,eAAe;QACzC,CACH,CAAC,eACF5B,IAAA,CAACX,IAAI;UAAC8B,KAAK,EAAEC,MAAM,CAACS,WAAY;UAAAP,QAAA,EAAEE,IAAI,CAACb;QAAK,CAAO,CAAC;MAAA,GAR3Ca,IAAI,CAACb,KASV,CACP;IAAC,CACE,CAAC,eACPX,IAAA,CAACR;IACC;IAAA;MACAsC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAE;MAClBC,OAAO,EAAErC,aAAa,CAACsC,OAAQ;MAC/BC,IAAI,EAAExC,UAAU,CAACyC,MAAO;MACxBC,WAAW,EAAE3B,WAAY;MACzB4B,IAAI,eAAEpC,IAAA,CAACJ,QAAQ;QAACgB,KAAK,EAAEjB,MAAM,CAAC0C;MAAU,CAAE,CAAE;MAC5CC,UAAU,EAAE,CAAE;MACdnB,KAAK,EAAE;QAAEE,SAAS,EAAED,MAAM,CAACmB,cAAc;QAAEC,IAAI,EAAEpB,MAAM,CAACqB;MAAmB,CAAE;MAAAnB,QAAA,EAE5E,YAAYb,YAAY;IAAE,CACrB,CAAC;EAAA,CACL,CAAC;AAEX,CAAC;AAED,MAAMW,MAAM,GAAG9B,UAAU,CAACoD,MAAM,CAAC;EAC/BrB,SAAS,EAAE;IACTsB,MAAM,EAAE,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,UAAU;IACtBC,cAAc,EAAE,eAAe;IAC/BnB,eAAe,EAAEhC,MAAM,CAACkB,SAAS;IACjCkC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAErD,MAAM,CAACsD,SAAS;IACnCC,iBAAiB,EAAErD,OAAO,CAAC,GAAG,CAAC;IAC/BsD,eAAe,EAAEtD,OAAO,CAAC,GAAG,CAAC;IAC7BuD,mBAAmB,EAAE7D,aAAa,CAAC,GAAG,CAAC;IACvC8D,oBAAoB,EAAE9D,aAAa,CAAC,GAAG;EACzC,CAAC;EACDmB,WAAW,EAAE;IACXkC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBS,GAAG,EAAEzD,OAAO,CAAC,GAAG;EAClB,CAAC;EACD4B,UAAU,EAAE;IACVmB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBS,GAAG,EAAEzD,OAAO,CAAC,GAAG;EAClB,CAAC;EACD6B,SAAS,EAAE;IACT6B,KAAK,EAAEpD,eAAe;IACtBwC,MAAM,EAAExC,eAAe;IACvBqD,YAAY,EAAEpD;EAChB,CAAC;EACDwB,eAAe,EAAE;IACf6B,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAE/D,MAAM,CAACsD;EACtB,CAAC;EACDpB,WAAW,EAAE;IACX8B,QAAQ,EAAEtD,sBAAsB;IAChCO,KAAK,EAAEjB,MAAM,CAACiE;EAChB,CAAC;EACDrB,cAAc,EAAE;IACdsB,SAAS,EAAE;EACb,CAAC;EACDpB,kBAAkB,EAAE;IAClBqB,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { COLORS, SelectOption, SPACING } from '@magmamath/react-native-ui';
|
|
6
|
+
import { ProgressBar } from "./ProgressBar.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export const MathOperatorRow = ({
|
|
9
|
+
title,
|
|
10
|
+
icon,
|
|
11
|
+
progress,
|
|
12
|
+
color,
|
|
13
|
+
selected,
|
|
14
|
+
onSelect,
|
|
15
|
+
showDivider = true
|
|
16
|
+
}) => /*#__PURE__*/_jsxs(View, {
|
|
17
|
+
children: [/*#__PURE__*/_jsx(SelectOption, {
|
|
18
|
+
title: title,
|
|
19
|
+
icon: icon,
|
|
20
|
+
color: color,
|
|
21
|
+
selected: selected,
|
|
22
|
+
onPress: onSelect
|
|
23
|
+
}), /*#__PURE__*/_jsx(ProgressBar, {
|
|
24
|
+
progress: progress,
|
|
25
|
+
color: color
|
|
26
|
+
}), showDivider && /*#__PURE__*/_jsx(View, {
|
|
27
|
+
style: styles.divider
|
|
28
|
+
})]
|
|
29
|
+
});
|
|
30
|
+
const styles = StyleSheet.create({
|
|
31
|
+
divider: {
|
|
32
|
+
height: 1,
|
|
33
|
+
backgroundColor: COLORS.NEUTRAL_3,
|
|
34
|
+
marginVertical: SPACING[600]
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=MathOperatorRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","COLORS","SelectOption","SPACING","ProgressBar","jsx","_jsx","jsxs","_jsxs","MathOperatorRow","title","icon","progress","color","selected","onSelect","showDivider","children","onPress","style","styles","divider","create","height","backgroundColor","NEUTRAL_3","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/MathOperatorRow.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,EAAEC,YAAY,EAAqBC,OAAO,QAAQ,4BAA4B;AAC7F,SAASC,WAAW,QAAQ,kBAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAY3C,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,KAAK;EACLC,IAAI;EACJC,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,WAAW,GAAG;AACM,CAAC,kBACrBR,KAAA,CAACR,IAAI;EAAAiB,QAAA,gBACHX,IAAA,CAACJ,YAAY;IAACQ,KAAK,EAAEA,KAAM;IAACC,IAAI,EAAEA,IAAK;IAACE,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEA,QAAS;IAACI,OAAO,EAAEH;EAAS,CAAE,CAAC,eAC/FT,IAAA,CAACF,WAAW;IAACQ,QAAQ,EAAEA,QAAS;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC,EAChDG,WAAW,iBAAIV,IAAA,CAACN,IAAI;IAACmB,KAAK,EAAEC,MAAM,CAACC;EAAQ,CAAE,CAAC;AAAA,CAC3C,CACP;AAED,MAAMD,MAAM,GAAGrB,UAAU,CAACuB,MAAM,CAAC;EAC/BD,OAAO,EAAE;IACPE,MAAM,EAAE,CAAC;IACTC,eAAe,EAAEvB,MAAM,CAACwB,SAAS;IACjCC,cAAc,EAAEvB,OAAO,CAAC,GAAG;EAC7B;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { BORDER_RADIUS, COLORS, HeadingVariants, SelectOptionColor, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
const PROGRESS_COLOR_SHADES = {
|
|
8
|
+
[SelectOptionColor.GREEN]: {
|
|
9
|
+
low: COLORS.GREEN_2,
|
|
10
|
+
medium: COLORS.GREEN_3,
|
|
11
|
+
high: COLORS.GREEN_6,
|
|
12
|
+
max: COLORS.GREEN_7
|
|
13
|
+
},
|
|
14
|
+
[SelectOptionColor.ORANGE]: {
|
|
15
|
+
low: COLORS.ORANGE_2,
|
|
16
|
+
medium: COLORS.ORANGE_3,
|
|
17
|
+
high: COLORS.ORANGE_6,
|
|
18
|
+
max: COLORS.ORANGE_7
|
|
19
|
+
},
|
|
20
|
+
[SelectOptionColor.BLUE]: {
|
|
21
|
+
low: COLORS.BLUE_2,
|
|
22
|
+
medium: COLORS.BLUE_3,
|
|
23
|
+
high: COLORS.BLUE_6,
|
|
24
|
+
max: COLORS.BLUE_7
|
|
25
|
+
},
|
|
26
|
+
[SelectOptionColor.RED]: {
|
|
27
|
+
low: COLORS.RED_2,
|
|
28
|
+
medium: COLORS.RED_3,
|
|
29
|
+
high: COLORS.RED_6,
|
|
30
|
+
max: COLORS.RED_7
|
|
31
|
+
},
|
|
32
|
+
[SelectOptionColor.YELLOW]: {
|
|
33
|
+
low: COLORS.YELLOW_2,
|
|
34
|
+
medium: COLORS.YELLOW_3,
|
|
35
|
+
high: COLORS.YELLOW_6,
|
|
36
|
+
max: COLORS.YELLOW_7
|
|
37
|
+
},
|
|
38
|
+
[SelectOptionColor.PURPLE]: {
|
|
39
|
+
low: COLORS.PURPLE_2,
|
|
40
|
+
medium: COLORS.PURPLE_3,
|
|
41
|
+
high: COLORS.PURPLE_6,
|
|
42
|
+
max: COLORS.PURPLE_7
|
|
43
|
+
},
|
|
44
|
+
[SelectOptionColor.GREY]: {
|
|
45
|
+
low: COLORS.NEUTRAL_2,
|
|
46
|
+
medium: COLORS.NEUTRAL_3,
|
|
47
|
+
high: COLORS.NEUTRAL_6,
|
|
48
|
+
max: COLORS.NEUTRAL_7
|
|
49
|
+
},
|
|
50
|
+
[SelectOptionColor.SUNSET]: {
|
|
51
|
+
low: COLORS.RED_2,
|
|
52
|
+
medium: COLORS.RED_3,
|
|
53
|
+
high: COLORS.RED_6,
|
|
54
|
+
max: COLORS.RED_7
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const PRIMARY_COLOR_MAP = {
|
|
58
|
+
[SelectOptionColor.GREEN]: COLORS.PRIMARY_GREEN,
|
|
59
|
+
[SelectOptionColor.ORANGE]: COLORS.PRIMARY_ORANGE,
|
|
60
|
+
[SelectOptionColor.BLUE]: COLORS.PRIMARY_BLUE,
|
|
61
|
+
[SelectOptionColor.RED]: COLORS.PRIMARY_RED,
|
|
62
|
+
[SelectOptionColor.YELLOW]: COLORS.PRIMARY_YELLOW,
|
|
63
|
+
[SelectOptionColor.PURPLE]: COLORS.PRIMARY_PURPLE,
|
|
64
|
+
[SelectOptionColor.GREY]: COLORS.NEUTRAL_6,
|
|
65
|
+
[SelectOptionColor.SUNSET]: COLORS.PRIMARY_RED
|
|
66
|
+
};
|
|
67
|
+
const getFillColor = (shades, progress) => {
|
|
68
|
+
if (progress <= 10) return shades.low;
|
|
69
|
+
if (progress <= 20) return shades.medium;
|
|
70
|
+
if (progress <= 80) return shades.high;
|
|
71
|
+
return shades.max;
|
|
72
|
+
};
|
|
73
|
+
export const ProgressBar = ({
|
|
74
|
+
progress,
|
|
75
|
+
color = SelectOptionColor.GREEN
|
|
76
|
+
}) => {
|
|
77
|
+
const normalized = Math.round(Math.min(100, Math.max(0, progress)));
|
|
78
|
+
const fillColor = getFillColor(PROGRESS_COLOR_SHADES[color], normalized);
|
|
79
|
+
const textColor = PRIMARY_COLOR_MAP[color];
|
|
80
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
81
|
+
style: styles.container,
|
|
82
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
83
|
+
style: styles.track,
|
|
84
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
85
|
+
style: [styles.fill, {
|
|
86
|
+
backgroundColor: fillColor,
|
|
87
|
+
width: `${normalized}%`
|
|
88
|
+
}]
|
|
89
|
+
})
|
|
90
|
+
}), /*#__PURE__*/_jsxs(Typography, {
|
|
91
|
+
variant: HeadingVariants.H10,
|
|
92
|
+
style: {
|
|
93
|
+
color: textColor
|
|
94
|
+
},
|
|
95
|
+
children: [normalized, "%"]
|
|
96
|
+
})]
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
const styles = StyleSheet.create({
|
|
100
|
+
container: {
|
|
101
|
+
flexDirection: 'row',
|
|
102
|
+
marginTop: SPACING[200],
|
|
103
|
+
gap: SPACING[200],
|
|
104
|
+
alignItems: 'center'
|
|
105
|
+
},
|
|
106
|
+
track: {
|
|
107
|
+
flex: 1,
|
|
108
|
+
height: 18,
|
|
109
|
+
backgroundColor: COLORS.NEUTRAL_3,
|
|
110
|
+
borderRadius: BORDER_RADIUS[450],
|
|
111
|
+
overflow: 'hidden'
|
|
112
|
+
},
|
|
113
|
+
fill: {
|
|
114
|
+
height: '100%',
|
|
115
|
+
borderRadius: BORDER_RADIUS[450]
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","HeadingVariants","SelectOptionColor","SPACING","Typography","jsx","_jsx","jsxs","_jsxs","PROGRESS_COLOR_SHADES","GREEN","low","GREEN_2","medium","GREEN_3","high","GREEN_6","max","GREEN_7","ORANGE","ORANGE_2","ORANGE_3","ORANGE_6","ORANGE_7","BLUE","BLUE_2","BLUE_3","BLUE_6","BLUE_7","RED","RED_2","RED_3","RED_6","RED_7","YELLOW","YELLOW_2","YELLOW_3","YELLOW_6","YELLOW_7","PURPLE","PURPLE_2","PURPLE_3","PURPLE_6","PURPLE_7","GREY","NEUTRAL_2","NEUTRAL_3","NEUTRAL_6","NEUTRAL_7","SUNSET","PRIMARY_COLOR_MAP","PRIMARY_GREEN","PRIMARY_ORANGE","PRIMARY_BLUE","PRIMARY_RED","PRIMARY_YELLOW","PRIMARY_PURPLE","getFillColor","shades","progress","ProgressBar","color","normalized","Math","round","min","fillColor","textColor","style","styles","container","children","track","fill","backgroundColor","width","variant","H10","create","flexDirection","marginTop","gap","alignItems","flex","height","borderRadius","overflow"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/ProgressBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { BORDER_RADIUS, COLORS, CrossIcon, MinusIcon, PlusIcon, SelectOptionColor, SHADOWS, SPACING } from '@magmamath/react-native-ui';
|
|
6
|
+
import { useUnit } from 'effector-react';
|
|
7
|
+
import { FluencyMode } from "../../fluency.constants.js";
|
|
8
|
+
import { fluencyModel } from "../../model/fluency.instance.js";
|
|
9
|
+
import { MathOperatorRow } from "./MathOperatorRow.js";
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const OPERATOR_CONFIG = [{
|
|
12
|
+
mode: FluencyMode.ADDITION,
|
|
13
|
+
title: 'Addition',
|
|
14
|
+
Icon: PlusIcon,
|
|
15
|
+
color: SelectOptionColor.GREEN,
|
|
16
|
+
progress: 72
|
|
17
|
+
}, {
|
|
18
|
+
mode: FluencyMode.SUBTRACTION,
|
|
19
|
+
title: 'Subtraction',
|
|
20
|
+
Icon: MinusIcon,
|
|
21
|
+
color: SelectOptionColor.ORANGE,
|
|
22
|
+
progress: 45
|
|
23
|
+
}, {
|
|
24
|
+
mode: FluencyMode.MULTIPLICATION,
|
|
25
|
+
title: 'Multiplication',
|
|
26
|
+
Icon: CrossIcon,
|
|
27
|
+
color: SelectOptionColor.BLUE,
|
|
28
|
+
progress: 18
|
|
29
|
+
},
|
|
30
|
+
// TODO: Replace with DivisionIcon once added to rn-ui — division needs its own symbol (÷).
|
|
31
|
+
{
|
|
32
|
+
mode: FluencyMode.DIVISION,
|
|
33
|
+
title: 'Division',
|
|
34
|
+
Icon: MinusIcon,
|
|
35
|
+
color: SelectOptionColor.PURPLE,
|
|
36
|
+
progress: 33
|
|
37
|
+
}];
|
|
38
|
+
export const SelectMathOperator = ({}) => {
|
|
39
|
+
const {
|
|
40
|
+
mode
|
|
41
|
+
} = useUnit({
|
|
42
|
+
mode: fluencyModel.$mode
|
|
43
|
+
});
|
|
44
|
+
return /*#__PURE__*/_jsx(View, {
|
|
45
|
+
style: styles.container,
|
|
46
|
+
children: OPERATOR_CONFIG.map((op, index) => /*#__PURE__*/_jsx(MathOperatorRow, {
|
|
47
|
+
title: op.title,
|
|
48
|
+
icon: /*#__PURE__*/_jsx(op.Icon, {
|
|
49
|
+
color: mode === op.mode ? COLORS.NEUTRAL_1 : undefined
|
|
50
|
+
}),
|
|
51
|
+
progress: op.progress,
|
|
52
|
+
color: op.color,
|
|
53
|
+
selected: mode === op.mode,
|
|
54
|
+
onSelect: () => fluencyModel.setMode(op.mode),
|
|
55
|
+
showDivider: index < OPERATOR_CONFIG.length - 1
|
|
56
|
+
}, op.mode))
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const styles = StyleSheet.create({
|
|
60
|
+
container: {
|
|
61
|
+
width: 270,
|
|
62
|
+
paddingVertical: SPACING[400],
|
|
63
|
+
paddingHorizontal: SPACING[200],
|
|
64
|
+
borderRadius: BORDER_RADIUS[400],
|
|
65
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
66
|
+
...SHADOWS[1]
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=SelectMathOperator.js.map
|
package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","CrossIcon","MinusIcon","PlusIcon","SelectOptionColor","SHADOWS","SPACING","useUnit","FluencyMode","fluencyModel","MathOperatorRow","jsx","_jsx","OPERATOR_CONFIG","mode","ADDITION","title","Icon","color","GREEN","progress","SUBTRACTION","ORANGE","MULTIPLICATION","BLUE","DIVISION","PURPLE","SelectMathOperator","$mode","style","styles","container","children","map","op","index","icon","NEUTRAL_1","undefined","selected","onSelect","setMode","showDivider","length","create","width","paddingVertical","paddingHorizontal","borderRadius","backgroundColor"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/SelectMathOperator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { MathFlashcard } from "./MathFlashcard.js";
|
|
5
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
+
const CARD_LAYOUTS = [{
|
|
7
|
+
card: {
|
|
8
|
+
width: 146,
|
|
9
|
+
height: 88,
|
|
10
|
+
radius: 6
|
|
11
|
+
},
|
|
12
|
+
answer: {
|
|
13
|
+
width: 20,
|
|
14
|
+
height: 29,
|
|
15
|
+
radius: 4
|
|
16
|
+
},
|
|
17
|
+
fontSize: 26,
|
|
18
|
+
position: {
|
|
19
|
+
right: 283,
|
|
20
|
+
top: 31,
|
|
21
|
+
zIndex: 1
|
|
22
|
+
},
|
|
23
|
+
rotation: '21.3deg'
|
|
24
|
+
}, {
|
|
25
|
+
card: {
|
|
26
|
+
width: 195,
|
|
27
|
+
height: 118,
|
|
28
|
+
radius: 9
|
|
29
|
+
},
|
|
30
|
+
answer: {
|
|
31
|
+
width: 27,
|
|
32
|
+
height: 38,
|
|
33
|
+
radius: 6
|
|
34
|
+
},
|
|
35
|
+
fontSize: 35,
|
|
36
|
+
position: {
|
|
37
|
+
right: 148,
|
|
38
|
+
top: -6,
|
|
39
|
+
zIndex: 2
|
|
40
|
+
},
|
|
41
|
+
rotation: '-15.43deg'
|
|
42
|
+
}, {
|
|
43
|
+
card: {
|
|
44
|
+
width: 260,
|
|
45
|
+
height: 157,
|
|
46
|
+
radius: 12
|
|
47
|
+
},
|
|
48
|
+
answer: {
|
|
49
|
+
width: 36,
|
|
50
|
+
height: 51,
|
|
51
|
+
radius: 8
|
|
52
|
+
},
|
|
53
|
+
fontSize: 46,
|
|
54
|
+
position: {
|
|
55
|
+
right: 0,
|
|
56
|
+
top: -11,
|
|
57
|
+
zIndex: 3
|
|
58
|
+
},
|
|
59
|
+
rotation: '8.83deg'
|
|
60
|
+
}];
|
|
61
|
+
export const BannerFlashcards = ({
|
|
62
|
+
examples
|
|
63
|
+
}) => /*#__PURE__*/_jsx(_Fragment, {
|
|
64
|
+
children: CARD_LAYOUTS.map((layout, index) => {
|
|
65
|
+
const example = examples[index];
|
|
66
|
+
if (!example) return null;
|
|
67
|
+
return /*#__PURE__*/_jsx(MathFlashcard, {
|
|
68
|
+
left: example.left,
|
|
69
|
+
right: example.right,
|
|
70
|
+
layout: layout
|
|
71
|
+
}, index);
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=BannerFlashcards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","MathFlashcard","jsx","_jsx","Fragment","_Fragment","CARD_LAYOUTS","card","width","height","radius","answer","fontSize","position","right","top","zIndex","rotation","BannerFlashcards","examples","children","map","layout","index","example","left"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/start-banner/BannerFlashcards.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAyB,oBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAOhE,MAAMC,YAA+B,GAAG,CACtC;EACEC,IAAI,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC3CC,MAAM,EAAE;IAAEH,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CE,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,GAAG,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEV,IAAI,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CC,MAAM,EAAE;IAAEH,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CE,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,GAAG,EAAE,CAAC,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEV,IAAI,EAAE;IAAEC,KAAK,EAAE,GAAG;IAAEC,MAAM,EAAE,GAAG;IAAEC,MAAM,EAAE;EAAG,CAAC;EAC7CC,MAAM,EAAE;IAAEH,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC5CE,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE;IAAEC,KAAK,EAAE,CAAC;IAAEC,GAAG,EAAE,CAAC,EAAE;IAAEC,MAAM,EAAE;EAAE,CAAC;EAC3CC,QAAQ,EAAE;AACZ,CAAC,CACF;AAMD,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAgC,CAAC,kBAClEhB,IAAA,CAAAE,SAAA;EAAAe,QAAA,EACGd,YAAY,CAACe,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IACnC,MAAMC,OAAO,GAAGL,QAAQ,CAACI,KAAK,CAAC;IAC/B,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;IACzB,oBAAOrB,IAAA,CAACF,aAAa;MAAawB,IAAI,EAAED,OAAO,CAACC,IAAK;MAACX,KAAK,EAAEU,OAAO,CAACV,KAAM;MAACQ,MAAM,EAAEA;IAAO,GAAhEC,KAAkE,CAAC;EAChG,CAAC;AAAC,CACF,CACH","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import { COLORS, SHADOWS } from '@magmamath/react-native-ui';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export const MathFlashcard = ({
|
|
8
|
+
left,
|
|
9
|
+
right,
|
|
10
|
+
layout
|
|
11
|
+
}) => /*#__PURE__*/_jsx(View, {
|
|
12
|
+
style: [styles.card, {
|
|
13
|
+
width: layout.card.width,
|
|
14
|
+
height: layout.card.height,
|
|
15
|
+
borderRadius: layout.card.radius,
|
|
16
|
+
right: layout.position.right,
|
|
17
|
+
top: layout.position.top,
|
|
18
|
+
zIndex: layout.position.zIndex,
|
|
19
|
+
transform: [{
|
|
20
|
+
rotate: layout.rotation
|
|
21
|
+
}]
|
|
22
|
+
}],
|
|
23
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
24
|
+
style: styles.row,
|
|
25
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
26
|
+
style: [styles.text, {
|
|
27
|
+
fontSize: layout.fontSize
|
|
28
|
+
}],
|
|
29
|
+
children: left
|
|
30
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
31
|
+
style: [styles.answerBox, {
|
|
32
|
+
width: layout.answer.width,
|
|
33
|
+
height: layout.answer.height,
|
|
34
|
+
borderRadius: layout.answer.radius
|
|
35
|
+
}]
|
|
36
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
37
|
+
style: [styles.text, {
|
|
38
|
+
fontSize: layout.fontSize
|
|
39
|
+
}],
|
|
40
|
+
children: right
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
const styles = StyleSheet.create({
|
|
45
|
+
card: {
|
|
46
|
+
position: 'absolute',
|
|
47
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
...SHADOWS[1]
|
|
51
|
+
},
|
|
52
|
+
row: {
|
|
53
|
+
flexDirection: 'row',
|
|
54
|
+
alignItems: 'center',
|
|
55
|
+
gap: 1
|
|
56
|
+
},
|
|
57
|
+
text: {
|
|
58
|
+
fontWeight: 'bold',
|
|
59
|
+
color: COLORS.BLACK
|
|
60
|
+
},
|
|
61
|
+
answerBox: {
|
|
62
|
+
backgroundColor: COLORS.NEUTRAL_2,
|
|
63
|
+
borderWidth: 1,
|
|
64
|
+
borderColor: COLORS.NEUTRAL_5
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=MathFlashcard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","COLORS","SHADOWS","jsx","_jsx","jsxs","_jsxs","MathFlashcard","left","right","layout","style","styles","card","width","height","borderRadius","radius","position","top","zIndex","transform","rotate","rotation","children","row","text","fontSize","answerBox","answer","create","backgroundColor","NEUTRAL_1","alignItems","justifyContent","flexDirection","gap","fontWeight","color","BLACK","NEUTRAL_2","borderWidth","borderColor","NEUTRAL_5"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/start-banner/MathFlashcard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgB5D,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,IAAI;EAAEC,KAAK;EAAEC;AAA2B,CAAC,kBACvEN,IAAA,CAACN,IAAI;EACHa,KAAK,EAAE,CACLC,MAAM,CAACC,IAAI,EACX;IACEC,KAAK,EAAEJ,MAAM,CAACG,IAAI,CAACC,KAAK;IACxBC,MAAM,EAAEL,MAAM,CAACG,IAAI,CAACE,MAAM;IAC1BC,YAAY,EAAEN,MAAM,CAACG,IAAI,CAACI,MAAM;IAChCR,KAAK,EAAEC,MAAM,CAACQ,QAAQ,CAACT,KAAK;IAC5BU,GAAG,EAAET,MAAM,CAACQ,QAAQ,CAACC,GAAG;IACxBC,MAAM,EAAEV,MAAM,CAACQ,QAAQ,CAACE,MAAM;IAC9BC,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAEZ,MAAM,CAACa;IAAS,CAAC;EACzC,CAAC,CACD;EAAAC,QAAA,eAEFlB,KAAA,CAACR,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACa,GAAI;IAAAD,QAAA,gBACtBpB,IAAA,CAACL,IAAI;MAACY,KAAK,EAAE,CAACC,MAAM,CAACc,IAAI,EAAE;QAAEC,QAAQ,EAAEjB,MAAM,CAACiB;MAAS,CAAC,CAAE;MAAAH,QAAA,EAAEhB;IAAI,CAAO,CAAC,eACxEJ,IAAA,CAACN,IAAI;MACHa,KAAK,EAAE,CACLC,MAAM,CAACgB,SAAS,EAChB;QAAEd,KAAK,EAAEJ,MAAM,CAACmB,MAAM,CAACf,KAAK;QAAEC,MAAM,EAAEL,MAAM,CAACmB,MAAM,CAACd,MAAM;QAAEC,YAAY,EAAEN,MAAM,CAACmB,MAAM,CAACZ;MAAO,CAAC;IAChG,CACH,CAAC,eACFb,IAAA,CAACL,IAAI;MAACY,KAAK,EAAE,CAACC,MAAM,CAACc,IAAI,EAAE;QAAEC,QAAQ,EAAEjB,MAAM,CAACiB;MAAS,CAAC,CAAE;MAAAH,QAAA,EAAEf;IAAK,CAAO,CAAC;EAAA,CACrE;AAAC,CACH,CACP;AAED,MAAMG,MAAM,GAAGZ,UAAU,CAAC8B,MAAM,CAAC;EAC/BjB,IAAI,EAAE;IACJK,QAAQ,EAAE,UAAU;IACpBa,eAAe,EAAE9B,MAAM,CAAC+B,SAAS;IACjCC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxB,GAAGhC,OAAO,CAAC,CAAC;EACd,CAAC;EACDuB,GAAG,EAAE;IACHU,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBG,GAAG,EAAE;EACP,CAAC;EACDV,IAAI,EAAE;IACJW,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAErC,MAAM,CAACsC;EAChB,CAAC;EACDX,SAAS,EAAE;IACTG,eAAe,EAAE9B,MAAM,CAACuC,SAAS;IACjCC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEzC,MAAM,CAAC0C;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import { BORDER_RADIUS, Button, ButtonSize, ButtonVariant, COLORS, PlayIcon, SHADOWS, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { BannerFlashcards } from "./BannerFlashcards.js";
|
|
7
|
+
import { useFluencyModeUIPreset } from "../../hooks/useFluencyModeUIPreset.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const StartBanner = ({}) => {
|
|
10
|
+
const {
|
|
11
|
+
buttonColor
|
|
12
|
+
} = useFluencyModeUIPreset();
|
|
13
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
14
|
+
style: styles.container,
|
|
15
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
16
|
+
style: styles.buttonContainer,
|
|
17
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
18
|
+
style: styles.buttonGroup,
|
|
19
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
20
|
+
onPress: () => {},
|
|
21
|
+
disabled: false,
|
|
22
|
+
isLoading: false,
|
|
23
|
+
isActive: false,
|
|
24
|
+
icon: /*#__PURE__*/_jsx(PlayIcon, {
|
|
25
|
+
color: COLORS.NEUTRAL_1
|
|
26
|
+
}),
|
|
27
|
+
variant: ButtonVariant.PRIMARY,
|
|
28
|
+
size: ButtonSize.LARGE,
|
|
29
|
+
colorScheme: buttonColor,
|
|
30
|
+
raiseLevel: 6,
|
|
31
|
+
style: {
|
|
32
|
+
container: styles.button
|
|
33
|
+
},
|
|
34
|
+
children: "Start fluency practice"
|
|
35
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
36
|
+
style: styles.buttonSubtitle,
|
|
37
|
+
children: "20 individualized ready"
|
|
38
|
+
})]
|
|
39
|
+
})
|
|
40
|
+
}), /*#__PURE__*/_jsx(BannerFlashcards, {
|
|
41
|
+
examples: [{
|
|
42
|
+
left: '15*',
|
|
43
|
+
right: '=30'
|
|
44
|
+
}, {
|
|
45
|
+
left: '10-',
|
|
46
|
+
right: '=25'
|
|
47
|
+
}, {
|
|
48
|
+
left: '5+',
|
|
49
|
+
right: '=19'
|
|
50
|
+
}]
|
|
51
|
+
})]
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
const styles = StyleSheet.create({
|
|
55
|
+
container: {
|
|
56
|
+
flex: 1,
|
|
57
|
+
height: '100%',
|
|
58
|
+
justifyContent: 'center',
|
|
59
|
+
paddingVertical: SPACING[400],
|
|
60
|
+
paddingHorizontal: SPACING[800],
|
|
61
|
+
borderRadius: BORDER_RADIUS[400],
|
|
62
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
63
|
+
...SHADOWS[1]
|
|
64
|
+
},
|
|
65
|
+
buttonContainer: {
|
|
66
|
+
alignItems: 'flex-start',
|
|
67
|
+
zIndex: 4
|
|
68
|
+
},
|
|
69
|
+
buttonGroup: {
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
gap: SPACING[200]
|
|
72
|
+
},
|
|
73
|
+
button: {
|
|
74
|
+
minWidth: 220,
|
|
75
|
+
maxWidth: 315,
|
|
76
|
+
textTransform: 'uppercase'
|
|
77
|
+
},
|
|
78
|
+
buttonSubtitle: {
|
|
79
|
+
fontSize: 12,
|
|
80
|
+
fontWeight: '700',
|
|
81
|
+
color: COLORS.BLACK,
|
|
82
|
+
textTransform: 'uppercase'
|
|
83
|
+
},
|
|
84
|
+
flashcard: {
|
|
85
|
+
position: 'absolute',
|
|
86
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
justifyContent: 'center',
|
|
89
|
+
...SHADOWS[1]
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=StartBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","PlayIcon","SHADOWS","SPACING","Typography","BannerFlashcards","useFluencyModeUIPreset","jsx","_jsx","jsxs","_jsxs","StartBanner","buttonColor","style","styles","container","children","buttonContainer","buttonGroup","onPress","disabled","isLoading","isActive","icon","color","NEUTRAL_1","variant","PRIMARY","size","LARGE","colorScheme","raiseLevel","button","buttonSubtitle","examples","left","right","create","flex","height","justifyContent","paddingVertical","paddingHorizontal","borderRadius","backgroundColor","alignItems","zIndex","gap","minWidth","maxWidth","textTransform","fontSize","fontWeight","BLACK","flashcard","position"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/start-banner/StartBanner.tsx"],"mappings":"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","ignoreList":[]}
|