@magmamath/students-features 1.3.26-rc.6 → 1.3.26-rc.7
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/assets/SparkleIcon.js +30 -0
- package/dist/commonjs/features/fluency/assets/SparkleIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/components/FluencySolving.js +6 -27
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +8 -7
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +8 -5
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +50 -34
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +69 -0
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +12 -6
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js +127 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +24 -14
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +17 -7
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +1 -0
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +6 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +3 -0
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js +18 -0
- package/dist/commonjs/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
- package/dist/module/features/fluency/assets/SparkleIcon.js +22 -0
- package/dist/module/features/fluency/assets/SparkleIcon.js.map +1 -0
- package/dist/module/features/fluency/components/FluencySolving.js +6 -26
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +48 -42
- package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +9 -8
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +8 -5
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +51 -35
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js +62 -0
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +1 -1
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +13 -7
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +32 -14
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js +121 -0
- package/dist/module/features/fluency/components/select-math-operator/ProgressBarSparkles.js.map +1 -0
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +2 -1
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +24 -14
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +17 -7
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +1 -0
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +6 -1
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js +3 -0
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/hooks/usePreventPageLeave.js +13 -0
- package/dist/module/features/fluency/hooks/usePreventPageLeave.js.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +1 -5
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -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/FluencySolvingProgress.d.ts +1 -8
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.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/fluency.constants.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/SparkleIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +1 -5
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -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/FluencySolvingProgress.d.ts +1 -8
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts +3 -0
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts +6 -0
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBarSparkles.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +1 -2
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.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/fluency.constants.d.ts +2 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts +2 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventPageLeave.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/features/fluency/assets/SparkleIcon.tsx +14 -0
- package/src/features/fluency/components/FluencySolving.tsx +7 -31
- package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +35 -35
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +16 -12
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +15 -7
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +50 -35
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx +71 -0
- package/src/features/fluency/components/matrix/components/CellTooltip.tsx +1 -1
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +19 -6
- package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +27 -8
- package/src/features/fluency/components/select-math-operator/ProgressBarSparkles.tsx +114 -0
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +1 -0
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +17 -11
- package/src/features/fluency/components/start-banner/StartBanner.tsx +15 -6
- package/src/features/fluency/fluency.constants.ts +1 -0
- package/src/features/fluency/fluency.helpers.ts +9 -1
- package/src/features/fluency/hooks/useFluencyNumpad.tsx +3 -0
- package/src/features/fluency/hooks/usePreventPageLeave.ts +11 -0
- package/src/i18n/.generated/schema.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","Typography","StreakDay","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","COLORS","FONT_FAMILY","SHADOWS","SPACING","Typography","StreakDay","useText","useFluency","useStoreMap","StreakStatus","jsx","_jsx","jsxs","_jsxs","ONE_DAY_MS","DAY_LABEL_KEYS","generateStreakDates","stats","todayMs","Date","setHours","startMs","weekStart","practiced","Set","practicedDates","map","d","i","dayMs","isPracticed","has","isToday","TODAY_GAINED","GAINED","TODAY","MISSED","DayStreakCounter","t","model","statuses","streak","$stats","style","styles","container","children","label","streakDays","key","status","create","width","height","paddingVertical","paddingHorizontal","borderRadius","backgroundColor","NEUTRAL_1","fontSize","fontWeight","fontFamily","buenosAires","color","NEUTRAL_8","flexDirection","marginTop","gap"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { useRef } from 'react';
|
|
4
4
|
import { View, StyleSheet, TextInput, Platform } from 'react-native';
|
|
5
5
|
import { COLORS, FONT_FAMILY, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { useText } from "../../../../../i18n/i18n.js";
|
|
6
7
|
import { useFluencySolvingPreset } from "../../../hooks/useFluencySolvingPreset.js";
|
|
7
8
|
import { usePreventWebKeys } from "../../../hooks/usePreventWebKeys.js";
|
|
8
9
|
import { MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
|
|
@@ -15,6 +16,7 @@ export const EquationContent = ({
|
|
|
15
16
|
readOnly = false,
|
|
16
17
|
onChange
|
|
17
18
|
}) => {
|
|
19
|
+
const t = useText();
|
|
18
20
|
const modePreset = useFluencySolvingPreset();
|
|
19
21
|
const inputRef = useRef(null);
|
|
20
22
|
usePreventWebKeys({
|
|
@@ -26,7 +28,7 @@ export const EquationContent = ({
|
|
|
26
28
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
27
29
|
variant: HeadingVariants.H9,
|
|
28
30
|
style: styles.cardLabel,
|
|
29
|
-
children:
|
|
31
|
+
children: t('student.fluency.typeYourAnswer')
|
|
30
32
|
}), /*#__PURE__*/_jsxs(View, {
|
|
31
33
|
style: styles.equationRow,
|
|
32
34
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
@@ -75,7 +77,7 @@ const styles = StyleSheet.create({
|
|
|
75
77
|
fontSize: 11,
|
|
76
78
|
fontWeight: '700',
|
|
77
79
|
letterSpacing: 1.3,
|
|
78
|
-
marginBottom: SPACING[
|
|
80
|
+
marginBottom: SPACING[500],
|
|
79
81
|
color: COLORS.NEUTRAL_7
|
|
80
82
|
},
|
|
81
83
|
equationRow: {
|
|
@@ -85,20 +87,21 @@ const styles = StyleSheet.create({
|
|
|
85
87
|
marginTop: SPACING[600]
|
|
86
88
|
},
|
|
87
89
|
number: {
|
|
88
|
-
fontSize:
|
|
90
|
+
fontSize: 75,
|
|
89
91
|
color: COLORS.NEUTRAL_10,
|
|
90
92
|
fontWeight: '700',
|
|
91
93
|
fontFamily: FONT_FAMILY.buenosAires
|
|
92
94
|
},
|
|
93
95
|
equals: {
|
|
94
|
-
fontSize:
|
|
96
|
+
fontSize: 75,
|
|
95
97
|
color: COLORS.NEUTRAL_7,
|
|
96
98
|
fontWeight: '700',
|
|
97
99
|
fontFamily: FONT_FAMILY.buenosAires
|
|
98
100
|
},
|
|
99
101
|
answerBox: {
|
|
100
|
-
width:
|
|
102
|
+
width: 130,
|
|
101
103
|
height: 44,
|
|
104
|
+
marginBottom: -SPACING[800],
|
|
102
105
|
alignItems: 'center',
|
|
103
106
|
borderBottomWidth: 8,
|
|
104
107
|
borderBottomColor: COLORS.NEUTRAL_10
|
package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","View","StyleSheet","TextInput","Platform","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","useFluencySolvingPreset","usePreventWebKeys","MAX_INPUT_LENGTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","modePreset","inputRef","ref","keys","enabled","children","variant","H9","style","styles","cardLabel","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","onChangeText","keyboardType","maxLength","selection","start","end","answerInput","autoFocus","answerText","create","fontSize","fontWeight","letterSpacing","marginBottom","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"names":["React","useRef","View","StyleSheet","TextInput","Platform","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","useText","useFluencySolvingPreset","usePreventWebKeys","MAX_INPUT_LENGTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","t","modePreset","inputRef","ref","keys","enabled","children","variant","H9","style","styles","cardLabel","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","onChangeText","keyboardType","maxLength","selection","start","end","answerInput","autoFocus","answerText","create","fontSize","fontWeight","letterSpacing","marginBottom","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js
CHANGED
|
@@ -3,63 +3,79 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
5
5
|
import { COLORS, SPACING } from '@magmamath/react-native-ui';
|
|
6
|
-
import { AttemptStatus } from "../../../fluency.constants.js";
|
|
6
|
+
import { AttemptStatus, SESSION_LENGTH } from "../../../fluency.constants.js";
|
|
7
|
+
import { FluencySolvingProgressDot } from "./FluencySolvingProgressDot.js";
|
|
8
|
+
import { useFluency } from "../../../context/FluencyContext.js";
|
|
9
|
+
import { useUnit } from 'effector-react';
|
|
7
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
const GROUP_SIZE = 5;
|
|
12
|
+
const ProgressDot = ({
|
|
13
|
+
index,
|
|
10
14
|
activeIndex,
|
|
11
|
-
|
|
15
|
+
outcome
|
|
12
16
|
}) => {
|
|
17
|
+
if (index === activeIndex) return /*#__PURE__*/_jsx(FluencySolvingProgressDot, {});
|
|
18
|
+
if (index < activeIndex && outcome) return /*#__PURE__*/_jsx(View, {
|
|
19
|
+
style: DOT_STYLE_BY_OUTCOME[outcome.status]
|
|
20
|
+
});
|
|
21
|
+
return /*#__PURE__*/_jsx(View, {
|
|
22
|
+
style: styles.dot
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export const FluencySolvingProgress = () => {
|
|
26
|
+
const {
|
|
27
|
+
model
|
|
28
|
+
} = useFluency();
|
|
29
|
+
const outcomes = useUnit(model.solving.$outcomes);
|
|
13
30
|
return /*#__PURE__*/_jsx(View, {
|
|
14
31
|
style: styles.container,
|
|
15
32
|
children: Array.from({
|
|
16
|
-
length:
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
return /*#__PURE__*/_jsx(
|
|
24
|
-
|
|
33
|
+
length: SESSION_LENGTH / GROUP_SIZE
|
|
34
|
+
}, (_, groupIndex) => /*#__PURE__*/_jsx(View, {
|
|
35
|
+
style: styles.group,
|
|
36
|
+
children: Array.from({
|
|
37
|
+
length: GROUP_SIZE
|
|
38
|
+
}, (_, dotIndex) => {
|
|
39
|
+
const index = groupIndex * GROUP_SIZE + dotIndex;
|
|
40
|
+
return /*#__PURE__*/_jsx(ProgressDot, {
|
|
41
|
+
index: index,
|
|
42
|
+
activeIndex: outcomes.length,
|
|
43
|
+
outcome: outcomes[index]
|
|
25
44
|
}, index);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
style: styles.dot
|
|
29
|
-
}, index);
|
|
30
|
-
})
|
|
45
|
+
})
|
|
46
|
+
}, groupIndex))
|
|
31
47
|
});
|
|
32
48
|
};
|
|
33
49
|
const styles = StyleSheet.create({
|
|
34
50
|
container: {
|
|
35
51
|
flexDirection: 'row',
|
|
36
|
-
gap: SPACING[
|
|
52
|
+
gap: SPACING[500],
|
|
37
53
|
paddingHorizontal: SPACING[600],
|
|
38
54
|
paddingVertical: 14,
|
|
39
|
-
justifyContent: 'center'
|
|
55
|
+
justifyContent: 'center',
|
|
56
|
+
alignItems: 'center'
|
|
57
|
+
},
|
|
58
|
+
group: {
|
|
59
|
+
flexDirection: 'row',
|
|
60
|
+
gap: 8,
|
|
61
|
+
alignItems: 'center'
|
|
40
62
|
},
|
|
41
63
|
dot: {
|
|
42
|
-
width:
|
|
43
|
-
height:
|
|
44
|
-
borderRadius:
|
|
64
|
+
width: 10,
|
|
65
|
+
height: 10,
|
|
66
|
+
borderRadius: 5,
|
|
45
67
|
backgroundColor: COLORS.NEUTRAL_4
|
|
46
68
|
},
|
|
47
|
-
dotActive: {
|
|
48
|
-
width: 34,
|
|
49
|
-
height: 12,
|
|
50
|
-
backgroundColor: COLORS.NEUTRAL_10,
|
|
51
|
-
borderRadius: 9999
|
|
52
|
-
},
|
|
53
69
|
dotCorrect: {
|
|
54
|
-
width:
|
|
55
|
-
height:
|
|
56
|
-
borderRadius:
|
|
70
|
+
width: 10,
|
|
71
|
+
height: 10,
|
|
72
|
+
borderRadius: 5,
|
|
57
73
|
backgroundColor: COLORS.PRIMARY_GREEN
|
|
58
74
|
},
|
|
59
75
|
dotWrong: {
|
|
60
|
-
width:
|
|
61
|
-
height:
|
|
62
|
-
borderRadius:
|
|
76
|
+
width: 10,
|
|
77
|
+
height: 10,
|
|
78
|
+
borderRadius: 5,
|
|
63
79
|
backgroundColor: COLORS.PRIMARY_RED
|
|
64
80
|
}
|
|
65
81
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","COLORS","SPACING","AttemptStatus","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","COLORS","SPACING","AttemptStatus","SESSION_LENGTH","FluencySolvingProgressDot","useFluency","useUnit","jsx","_jsx","GROUP_SIZE","ProgressDot","index","activeIndex","outcome","style","DOT_STYLE_BY_OUTCOME","status","styles","dot","FluencySolvingProgress","model","outcomes","solving","$outcomes","container","children","Array","from","length","_","groupIndex","group","dotIndex","create","flexDirection","gap","paddingHorizontal","paddingVertical","justifyContent","alignItems","width","height","borderRadius","backgroundColor","NEUTRAL_4","dotCorrect","PRIMARY_GREEN","dotWrong","PRIMARY_RED","CORRECT","INCORRECT","SKIPPED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import Animated, { cancelAnimation, Easing, interpolate, useAnimatedStyle, useSharedValue, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import { COLORS } from '@magmamath/react-native-ui';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const DOT_SIZE = 16;
|
|
9
|
+
const RING_SPREAD_MIN = 4;
|
|
10
|
+
const RING_SPREAD_MAX = 8;
|
|
11
|
+
const RING_SIZE = DOT_SIZE + RING_SPREAD_MAX * 2;
|
|
12
|
+
const RING_SCALE_MIN = (DOT_SIZE + RING_SPREAD_MIN * 2) / RING_SIZE;
|
|
13
|
+
const RING_OPACITY_MIN = 0.06;
|
|
14
|
+
const RING_OPACITY_MAX = 0.12;
|
|
15
|
+
const PULSE_DURATION_MS = 800;
|
|
16
|
+
export const FluencySolvingProgressDot = () => {
|
|
17
|
+
const progress = useSharedValue(0);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
progress.value = withRepeat(withSequence(withTiming(1, {
|
|
20
|
+
duration: PULSE_DURATION_MS,
|
|
21
|
+
easing: Easing.inOut(Easing.ease)
|
|
22
|
+
}), withTiming(0, {
|
|
23
|
+
duration: PULSE_DURATION_MS,
|
|
24
|
+
easing: Easing.inOut(Easing.ease)
|
|
25
|
+
})), -1, false);
|
|
26
|
+
return () => cancelAnimation(progress);
|
|
27
|
+
}, [progress]);
|
|
28
|
+
const ringStyle = useAnimatedStyle(() => {
|
|
29
|
+
const scale = interpolate(progress.value, [0, 1], [RING_SCALE_MIN, 1]);
|
|
30
|
+
const opacity = interpolate(progress.value, [0, 1], [RING_OPACITY_MAX, RING_OPACITY_MIN]);
|
|
31
|
+
return {
|
|
32
|
+
opacity,
|
|
33
|
+
transform: [{
|
|
34
|
+
scale
|
|
35
|
+
}]
|
|
36
|
+
};
|
|
37
|
+
}, [progress]);
|
|
38
|
+
return /*#__PURE__*/_jsx(View, {
|
|
39
|
+
style: styles.dot,
|
|
40
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
41
|
+
style: [styles.ring, ringStyle]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const styles = StyleSheet.create({
|
|
46
|
+
dot: {
|
|
47
|
+
width: DOT_SIZE,
|
|
48
|
+
height: DOT_SIZE,
|
|
49
|
+
borderRadius: DOT_SIZE / 2,
|
|
50
|
+
backgroundColor: COLORS.NEUTRAL_10
|
|
51
|
+
},
|
|
52
|
+
ring: {
|
|
53
|
+
position: 'absolute',
|
|
54
|
+
top: -RING_SPREAD_MAX,
|
|
55
|
+
left: -RING_SPREAD_MAX,
|
|
56
|
+
width: RING_SIZE,
|
|
57
|
+
height: RING_SIZE,
|
|
58
|
+
borderRadius: RING_SIZE / 2,
|
|
59
|
+
backgroundColor: COLORS.NEUTRAL_10
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=FluencySolvingProgressDot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","View","StyleSheet","Animated","cancelAnimation","Easing","interpolate","useAnimatedStyle","useSharedValue","withRepeat","withSequence","withTiming","COLORS","jsx","_jsx","DOT_SIZE","RING_SPREAD_MIN","RING_SPREAD_MAX","RING_SIZE","RING_SCALE_MIN","RING_OPACITY_MIN","RING_OPACITY_MAX","PULSE_DURATION_MS","FluencySolvingProgressDot","progress","value","duration","easing","inOut","ease","ringStyle","scale","opacity","transform","style","styles","dot","children","ring","create","width","height","borderRadius","backgroundColor","NEUTRAL_10","position","top","left"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingProgressDot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,13 +31,13 @@ const styles = StyleSheet.create({
|
|
|
31
31
|
},
|
|
32
32
|
label: {
|
|
33
33
|
fontSize: 13,
|
|
34
|
-
lineHeight: 16,
|
|
35
34
|
color: COLORS.NEUTRAL_9,
|
|
36
35
|
textAlign: 'center'
|
|
37
36
|
},
|
|
38
37
|
arrow: {
|
|
39
38
|
width: 0,
|
|
40
39
|
height: 0,
|
|
40
|
+
marginTop: -4,
|
|
41
41
|
borderLeftWidth: 9,
|
|
42
42
|
borderRightWidth: 9,
|
|
43
43
|
borderTopWidth: 12,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","jsx","_jsx","jsxs","_jsxs","CellTooltip","label","style","styles","container","children","bubble","arrow","create","alignItems","backgroundColor","NEUTRAL_1","borderRadius","paddingHorizontal","paddingVertical","fontSize","
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","jsx","_jsx","jsxs","_jsxs","CellTooltip","label","style","styles","container","children","bubble","arrow","create","alignItems","backgroundColor","NEUTRAL_1","borderRadius","paddingHorizontal","paddingVertical","fontSize","color","NEUTRAL_9","textAlign","width","height","marginTop","borderLeftWidth","borderRightWidth","borderTopWidth","borderStyle","borderLeftColor","borderRightColor","borderTopColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/CellTooltip.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,aAAa,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMpF,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAwB,CAAC,kBACrDF,KAAA,CAACV,IAAI;EAACa,KAAK,EAAEC,MAAM,CAACC,SAAU;EAAAC,QAAA,gBAC5BR,IAAA,CAACR,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACG,MAAO;IAAAD,QAAA,eACzBR,IAAA,CAACP,IAAI;MAACY,KAAK,EAAEC,MAAM,CAACF,KAAM;MAAAI,QAAA,EAAEJ;IAAK,CAAO;EAAC,CACrC,CAAC,eACPJ,IAAA,CAACR,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACI;EAAM,CAAE,CAAC;AAAA,CACzB,CACP;AAED,MAAMJ,MAAM,GAAGZ,UAAU,CAACiB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,UAAU,EAAE;EACd,CAAC;EACDH,MAAM,EAAE;IACNI,eAAe,EAAEjB,MAAM,CAACkB,SAAS;IACjCC,YAAY,EAAEpB,aAAa,CAAC,GAAG,CAAC;IAChCqB,iBAAiB,EAAElB,OAAO,CAAC,GAAG,CAAC;IAC/BmB,eAAe,EAAEnB,OAAO,CAAC,GAAG,CAAC;IAC7B,GAAGD,OAAO,CAAC,CAAC;EACd,CAAC;EACDO,KAAK,EAAE;IACLc,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEvB,MAAM,CAACwB,SAAS;IACvBC,SAAS,EAAE;EACb,CAAC;EACDX,KAAK,EAAE;IACLY,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE,CAAC,CAAC;IACbC,eAAe,EAAE,CAAC;IAClBC,gBAAgB,EAAE,CAAC;IACnBC,cAAc,EAAE,EAAE;IAClBC,WAAW,EAAE,OAAO;IACpBC,eAAe,EAAE,aAAa;IAC9BC,gBAAgB,EAAE,aAAa;IAC/BC,cAAc,EAAEnC,MAAM,CAACkB;EACzB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { Pressable, View, Text, StyleSheet } from 'react-native';
|
|
5
|
-
import {
|
|
5
|
+
import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
|
|
6
|
+
import { BORDER_RADIUS, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui';
|
|
6
7
|
import { getMasteryLevelByBox } from "../../../fluency.helpers.js";
|
|
7
8
|
import { FluencyMasteryLevel } from "../../../fluency.constants.js";
|
|
8
9
|
import { StarFillIcon } from "../../../assets/StarFillIcon.js";
|
|
@@ -28,9 +29,12 @@ export const MatrixCell = ({
|
|
|
28
29
|
const deactivate = () => setIsActive(false);
|
|
29
30
|
return /*#__PURE__*/_jsxs(View, {
|
|
30
31
|
style: [styles.wrapper, showTooltip && styles.wrapperActive],
|
|
31
|
-
children: [showTooltip && /*#__PURE__*/_jsx(View, {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
children: [showTooltip && /*#__PURE__*/_jsx(Animated.View, {
|
|
33
|
+
entering: FadeIn.duration(200),
|
|
34
|
+
exiting: FadeOut.duration(200),
|
|
35
|
+
style: [styles.tooltipContainer, {
|
|
36
|
+
pointerEvents: 'none'
|
|
37
|
+
}],
|
|
34
38
|
children: /*#__PURE__*/_jsx(CellTooltip, {
|
|
35
39
|
label: tooltipLabel
|
|
36
40
|
})
|
|
@@ -66,16 +70,18 @@ const styles = StyleSheet.create({
|
|
|
66
70
|
},
|
|
67
71
|
tooltipContainer: {
|
|
68
72
|
position: 'absolute',
|
|
69
|
-
bottom: '
|
|
73
|
+
bottom: '80%',
|
|
70
74
|
left: 0,
|
|
71
75
|
right: 0,
|
|
72
76
|
alignItems: 'center',
|
|
73
|
-
paddingBottom: SPACING[50]
|
|
77
|
+
paddingBottom: SPACING[50],
|
|
78
|
+
zIndex: 1
|
|
74
79
|
},
|
|
75
80
|
headerText: {
|
|
76
81
|
fontSize: 12,
|
|
77
82
|
fontWeight: '600',
|
|
78
|
-
color: COLORS.
|
|
83
|
+
color: COLORS.NEUTRAL_2,
|
|
84
|
+
fontFamily: FONT_FAMILY.buenosAires
|
|
79
85
|
},
|
|
80
86
|
symbolText: {
|
|
81
87
|
fontSize: 24,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Pressable","View","Text","StyleSheet","BORDER_RADIUS","COLORS","SPACING","getMasteryLevelByBox","FluencyMasteryLevel","StarFillIcon","CellTooltip","jsx","_jsx","jsxs","_jsxs","MatrixCell","label","box","isHeader","levelColors","tooltipLabel","isActive","setIsActive","masteryLevel","isMastered","MASTERED","bgColor","NEUTRAL_5","NEUTRAL_2","showTooltip","activate","deactivate","style","styles","wrapper","wrapperActive","children","tooltipContainer","pointerEvents","cell","backgroundColor","onHoverIn","onHoverOut","onPressIn","onPressOut","color","PRIMARY_YELLOW","undefined","symbolText","headerText","create","flex","zIndex","borderRadius","alignItems","justifyContent","position","bottom","left","right","paddingBottom","fontSize","fontWeight","
|
|
1
|
+
{"version":3,"names":["React","useState","Pressable","View","Text","StyleSheet","Animated","FadeIn","FadeOut","BORDER_RADIUS","COLORS","FONT_FAMILY","SPACING","getMasteryLevelByBox","FluencyMasteryLevel","StarFillIcon","CellTooltip","jsx","_jsx","jsxs","_jsxs","MatrixCell","label","box","isHeader","levelColors","tooltipLabel","isActive","setIsActive","masteryLevel","isMastered","MASTERED","bgColor","NEUTRAL_5","NEUTRAL_2","showTooltip","activate","deactivate","style","styles","wrapper","wrapperActive","children","entering","duration","exiting","tooltipContainer","pointerEvents","cell","backgroundColor","onHoverIn","onHoverOut","onPressIn","onPressOut","color","PRIMARY_YELLOW","undefined","symbolText","headerText","create","flex","zIndex","borderRadius","alignItems","justifyContent","position","bottom","left","right","paddingBottom","fontSize","fontWeight","fontFamily","buenosAires","NEUTRAL_7"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/matrix/components/MatrixCell.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
5
|
import { BORDER_RADIUS, COLORS, HeadingVariants, SelectOptionColor, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { ProgressBarSparkles } from "./ProgressBarSparkles.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
const PRIMARY_COLOR_MAP = {
|
|
8
9
|
[SelectOptionColor.GREEN]: COLORS.PRIMARY_GREEN,
|
|
@@ -14,29 +15,44 @@ const PRIMARY_COLOR_MAP = {
|
|
|
14
15
|
[SelectOptionColor.GREY]: COLORS.NEUTRAL_6,
|
|
15
16
|
[SelectOptionColor.SUNSET]: COLORS.PRIMARY_RED
|
|
16
17
|
};
|
|
18
|
+
const SPARKLE_COLOR_MAP = {
|
|
19
|
+
[SelectOptionColor.GREEN]: COLORS.GREEN_3,
|
|
20
|
+
[SelectOptionColor.ORANGE]: COLORS.ORANGE_3,
|
|
21
|
+
[SelectOptionColor.BLUE]: COLORS.BLUE_3,
|
|
22
|
+
[SelectOptionColor.RED]: COLORS.RED_3,
|
|
23
|
+
[SelectOptionColor.YELLOW]: COLORS.YELLOW_3,
|
|
24
|
+
[SelectOptionColor.PURPLE]: COLORS.PURPLE_3,
|
|
25
|
+
[SelectOptionColor.GREY]: COLORS.NEUTRAL_4,
|
|
26
|
+
[SelectOptionColor.SUNSET]: COLORS.RED_3
|
|
27
|
+
};
|
|
17
28
|
export const ProgressBar = ({
|
|
18
29
|
progress,
|
|
19
30
|
color = SelectOptionColor.GREEN
|
|
20
31
|
}) => {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
32
|
+
const progressRounded = Math.round(Math.min(100, Math.max(0, progress)));
|
|
33
|
+
const variantColor = PRIMARY_COLOR_MAP[color];
|
|
34
|
+
const isComplete = progressRounded === 100;
|
|
24
35
|
return /*#__PURE__*/_jsxs(View, {
|
|
25
36
|
style: styles.container,
|
|
26
|
-
children: [/*#__PURE__*/
|
|
27
|
-
style: styles.
|
|
28
|
-
children: /*#__PURE__*/_jsx(View, {
|
|
29
|
-
style:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
38
|
+
style: styles.trackWrapper,
|
|
39
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
40
|
+
style: styles.track,
|
|
41
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
42
|
+
style: [styles.fill, {
|
|
43
|
+
backgroundColor: variantColor,
|
|
44
|
+
width: `${progressRounded}%`
|
|
45
|
+
}]
|
|
46
|
+
})
|
|
47
|
+
}), isComplete && /*#__PURE__*/_jsx(ProgressBarSparkles, {
|
|
48
|
+
color: SPARKLE_COLOR_MAP[color]
|
|
49
|
+
})]
|
|
34
50
|
}), /*#__PURE__*/_jsxs(Typography, {
|
|
35
51
|
variant: HeadingVariants.H10,
|
|
36
52
|
style: {
|
|
37
|
-
color:
|
|
53
|
+
color: variantColor
|
|
38
54
|
},
|
|
39
|
-
children: [
|
|
55
|
+
children: [progressRounded, "%"]
|
|
40
56
|
})]
|
|
41
57
|
});
|
|
42
58
|
};
|
|
@@ -47,8 +63,10 @@ const styles = StyleSheet.create({
|
|
|
47
63
|
gap: SPACING[200],
|
|
48
64
|
alignItems: 'center'
|
|
49
65
|
},
|
|
66
|
+
trackWrapper: {
|
|
67
|
+
flex: 1
|
|
68
|
+
},
|
|
50
69
|
track: {
|
|
51
|
-
flex: 1,
|
|
52
70
|
height: 18,
|
|
53
71
|
backgroundColor: COLORS.NEUTRAL_3,
|
|
54
72
|
borderRadius: BORDER_RADIUS[450],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","HeadingVariants","SelectOptionColor","SPACING","Typography","jsx","_jsx","jsxs","_jsxs","PRIMARY_COLOR_MAP","GREEN","PRIMARY_GREEN","ORANGE","PRIMARY_ORANGE","BLUE","PRIMARY_BLUE","RED","PRIMARY_RED","YELLOW","PRIMARY_YELLOW","PURPLE","PRIMARY_PURPLE","GREY","NEUTRAL_6","SUNSET","ProgressBar","progress","color","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","BORDER_RADIUS","COLORS","HeadingVariants","SelectOptionColor","SPACING","Typography","ProgressBarSparkles","jsx","_jsx","jsxs","_jsxs","PRIMARY_COLOR_MAP","GREEN","PRIMARY_GREEN","ORANGE","PRIMARY_ORANGE","BLUE","PRIMARY_BLUE","RED","PRIMARY_RED","YELLOW","PRIMARY_YELLOW","PURPLE","PRIMARY_PURPLE","GREY","NEUTRAL_6","SUNSET","SPARKLE_COLOR_MAP","GREEN_3","ORANGE_3","BLUE_3","RED_3","YELLOW_3","PURPLE_3","NEUTRAL_4","ProgressBar","progress","color","progressRounded","Math","round","min","max","variantColor","isComplete","style","styles","container","children","trackWrapper","track","fill","backgroundColor","width","variant","H10","create","flexDirection","marginTop","gap","alignItems","flex","height","NEUTRAL_3","borderRadius","overflow"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/ProgressBar.tsx"],"mappings":"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","ignoreList":[]}
|