@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.
Files changed (213) hide show
  1. package/dist/commonjs/features/fluency/components/Fluency.js +63 -0
  2. package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -0
  3. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js +91 -0
  4. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -0
  5. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +73 -0
  6. package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -0
  7. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js +35 -0
  8. package/dist/commonjs/features/fluency/components/matrix/FluencyMatrix.js.map +1 -0
  9. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +91 -0
  10. package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -0
  11. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +118 -0
  12. package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -0
  13. package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js +43 -0
  14. package/dist/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.js.map +1 -0
  15. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +124 -0
  16. package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -0
  17. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +75 -0
  18. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -0
  19. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +80 -0
  20. package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -0
  21. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +73 -0
  22. package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -0
  23. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +98 -0
  24. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -0
  25. package/dist/commonjs/features/fluency/fluency.constants.js +77 -0
  26. package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -0
  27. package/dist/commonjs/features/fluency/fluency.helpers.js +9 -0
  28. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -0
  29. package/dist/commonjs/features/fluency/fluency.types.js +2 -0
  30. package/dist/commonjs/features/fluency/fluency.types.js.map +1 -0
  31. package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js +15 -0
  32. package/dist/commonjs/features/fluency/hooks/useFluencyModeUIPreset.js.map +1 -0
  33. package/dist/commonjs/features/fluency/index.js +60 -0
  34. package/dist/commonjs/features/fluency/index.js.map +1 -0
  35. package/dist/commonjs/features/fluency/model/FluencyApiModel.js +11 -0
  36. package/dist/commonjs/features/fluency/model/FluencyApiModel.js.map +1 -0
  37. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js +9 -0
  38. package/dist/commonjs/features/fluency/model/FluencyDaysStreakModel.js.map +1 -0
  39. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +9 -0
  40. package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -0
  41. package/dist/commonjs/features/fluency/model/FluencyModel.js +24 -0
  42. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -0
  43. package/dist/commonjs/features/fluency/model/fluency.instance.js +11 -0
  44. package/dist/commonjs/features/fluency/model/fluency.instance.js.map +1 -0
  45. package/dist/commonjs/index.js +12 -0
  46. package/dist/commonjs/index.js.map +1 -1
  47. package/dist/module/features/fluency/components/Fluency.js +57 -0
  48. package/dist/module/features/fluency/components/Fluency.js.map +1 -0
  49. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js +85 -0
  50. package/dist/module/features/fluency/components/day-streak-counter/DayStreak.js.map +1 -0
  51. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +67 -0
  52. package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -0
  53. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js +29 -0
  54. package/dist/module/features/fluency/components/matrix/FluencyMatrix.js.map +1 -0
  55. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +85 -0
  56. package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -0
  57. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +112 -0
  58. package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -0
  59. package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js +37 -0
  60. package/dist/module/features/fluency/components/select-math-operator/MathOperatorRow.js.map +1 -0
  61. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +118 -0
  62. package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -0
  63. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +69 -0
  64. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -0
  65. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +74 -0
  66. package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -0
  67. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +67 -0
  68. package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -0
  69. package/dist/module/features/fluency/components/start-banner/StartBanner.js +92 -0
  70. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -0
  71. package/dist/module/features/fluency/fluency.constants.js +73 -0
  72. package/dist/module/features/fluency/fluency.constants.js.map +1 -0
  73. package/dist/module/features/fluency/fluency.helpers.js +4 -0
  74. package/dist/module/features/fluency/fluency.helpers.js.map +1 -0
  75. package/dist/module/features/fluency/fluency.types.js +2 -0
  76. package/dist/module/features/fluency/fluency.types.js.map +1 -0
  77. package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js +10 -0
  78. package/dist/module/features/fluency/hooks/useFluencyModeUIPreset.js.map +1 -0
  79. package/dist/module/features/fluency/index.js +8 -0
  80. package/dist/module/features/fluency/index.js.map +1 -0
  81. package/dist/module/features/fluency/model/FluencyApiModel.js +6 -0
  82. package/dist/module/features/fluency/model/FluencyApiModel.js.map +1 -0
  83. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js +4 -0
  84. package/dist/module/features/fluency/model/FluencyDaysStreakModel.js.map +1 -0
  85. package/dist/module/features/fluency/model/FluencyMatrixModel.js +4 -0
  86. package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -0
  87. package/dist/module/features/fluency/model/FluencyModel.js +19 -0
  88. package/dist/module/features/fluency/model/FluencyModel.js.map +1 -0
  89. package/dist/module/features/fluency/model/fluency.instance.js +7 -0
  90. package/dist/module/features/fluency/model/fluency.instance.js.map +1 -0
  91. package/dist/module/index.js +1 -0
  92. package/dist/module/index.js.map +1 -1
  93. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts +2 -0
  94. package/dist/typescript/commonjs/features/fluency/__tests__/FluencyModel.test.d.ts.map +1 -0
  95. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +8 -0
  96. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -0
  97. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts +11 -0
  98. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -0
  99. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +5 -0
  100. package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -0
  101. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts +5 -0
  102. package/dist/typescript/commonjs/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -0
  103. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts +5 -0
  104. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -0
  105. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts +5 -0
  106. package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -0
  107. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +13 -0
  108. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +1 -0
  109. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts +8 -0
  110. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -0
  111. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +5 -0
  112. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -0
  113. package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts +11 -0
  114. package/dist/typescript/commonjs/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +1 -0
  115. package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts +28 -0
  116. package/dist/typescript/commonjs/features/fluency/components/start-banner/MathFlashcard.d.ts.map +1 -0
  117. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts +5 -0
  118. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -0
  119. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +24 -0
  120. package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -0
  121. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +2 -0
  122. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -0
  123. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +2 -0
  124. package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -0
  125. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts +3 -0
  126. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +1 -0
  127. package/dist/typescript/commonjs/features/fluency/index.d.ts +6 -0
  128. package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -0
  129. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts +6 -0
  130. package/dist/typescript/commonjs/features/fluency/model/FluencyApiModel.d.ts.map +1 -0
  131. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts +3 -0
  132. package/dist/typescript/commonjs/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -0
  133. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +3 -0
  134. package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -0
  135. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +17 -0
  136. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -0
  137. package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts +3 -0
  138. package/dist/typescript/commonjs/features/fluency/model/fluency.instance.d.ts.map +1 -0
  139. package/dist/typescript/commonjs/index.d.ts +1 -0
  140. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  141. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts +2 -0
  142. package/dist/typescript/module/features/fluency/__tests__/FluencyModel.test.d.ts.map +1 -0
  143. package/dist/typescript/module/features/fluency/components/Fluency.d.ts +8 -0
  144. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -0
  145. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts +11 -0
  146. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreak.d.ts.map +1 -0
  147. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts +5 -0
  148. package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -0
  149. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts +5 -0
  150. package/dist/typescript/module/features/fluency/components/matrix/FluencyMatrix.d.ts.map +1 -0
  151. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts +5 -0
  152. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -0
  153. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts +5 -0
  154. package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -0
  155. package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts +13 -0
  156. package/dist/typescript/module/features/fluency/components/select-math-operator/MathOperatorRow.d.ts.map +1 -0
  157. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts +8 -0
  158. package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -0
  159. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts +5 -0
  160. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -0
  161. package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts +11 -0
  162. package/dist/typescript/module/features/fluency/components/start-banner/BannerFlashcards.d.ts.map +1 -0
  163. package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts +28 -0
  164. package/dist/typescript/module/features/fluency/components/start-banner/MathFlashcard.d.ts.map +1 -0
  165. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts +5 -0
  166. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -0
  167. package/dist/typescript/module/features/fluency/fluency.constants.d.ts +24 -0
  168. package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -0
  169. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +2 -0
  170. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -0
  171. package/dist/typescript/module/features/fluency/fluency.types.d.ts +2 -0
  172. package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -0
  173. package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts +3 -0
  174. package/dist/typescript/module/features/fluency/hooks/useFluencyModeUIPreset.d.ts.map +1 -0
  175. package/dist/typescript/module/features/fluency/index.d.ts +6 -0
  176. package/dist/typescript/module/features/fluency/index.d.ts.map +1 -0
  177. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts +6 -0
  178. package/dist/typescript/module/features/fluency/model/FluencyApiModel.d.ts.map +1 -0
  179. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts +3 -0
  180. package/dist/typescript/module/features/fluency/model/FluencyDaysStreakModel.d.ts.map +1 -0
  181. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +3 -0
  182. package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -0
  183. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +17 -0
  184. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -0
  185. package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts +3 -0
  186. package/dist/typescript/module/features/fluency/model/fluency.instance.d.ts.map +1 -0
  187. package/dist/typescript/module/index.d.ts +1 -0
  188. package/dist/typescript/module/index.d.ts.map +1 -1
  189. package/package.json +1 -1
  190. package/src/features/fluency/__tests__/FluencyModel.test.ts +28 -0
  191. package/src/features/fluency/components/Fluency.tsx +59 -0
  192. package/src/features/fluency/components/day-streak-counter/DayStreak.tsx +82 -0
  193. package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +51 -0
  194. package/src/features/fluency/components/matrix/FluencyMatrix.tsx +30 -0
  195. package/src/features/fluency/components/matrix/components/MatrixFill.tsx +86 -0
  196. package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +112 -0
  197. package/src/features/fluency/components/select-math-operator/MathOperatorRow.tsx +38 -0
  198. package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +127 -0
  199. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +90 -0
  200. package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +45 -0
  201. package/src/features/fluency/components/start-banner/MathFlashcard.tsx +69 -0
  202. package/src/features/fluency/components/start-banner/StartBanner.tsx +92 -0
  203. package/src/features/fluency/fluency.constants.ts +75 -0
  204. package/src/features/fluency/fluency.helpers.ts +1 -0
  205. package/src/features/fluency/fluency.types.ts +1 -0
  206. package/src/features/fluency/hooks/useFluencyModeUIPreset.ts +8 -0
  207. package/src/features/fluency/index.ts +5 -0
  208. package/src/features/fluency/model/FluencyApiModel.ts +5 -0
  209. package/src/features/fluency/model/FluencyDaysStreakModel.ts +1 -0
  210. package/src/features/fluency/model/FluencyMatrixModel.ts +1 -0
  211. package/src/features/fluency/model/FluencyModel.ts +24 -0
  212. package/src/features/fluency/model/fluency.instance.ts +3 -0
  213. 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":"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","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":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,aAAa,EACbC,MAAM,EACNC,eAAe,EACfC,iBAAiB,EACjBC,OAAO,EACPC,UAAU,QACL,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASnC,MAAMC,qBAAgE,GAAG;EACvE,CAACP,iBAAiB,CAACQ,KAAK,GAAG;IACzBC,GAAG,EAAEX,MAAM,CAACY,OAAO;IACnBC,MAAM,EAAEb,MAAM,CAACc,OAAO;IACtBC,IAAI,EAAEf,MAAM,CAACgB,OAAO;IACpBC,GAAG,EAAEjB,MAAM,CAACkB;EACd,CAAC;EACD,CAAChB,iBAAiB,CAACiB,MAAM,GAAG;IAC1BR,GAAG,EAAEX,MAAM,CAACoB,QAAQ;IACpBP,MAAM,EAAEb,MAAM,CAACqB,QAAQ;IACvBN,IAAI,EAAEf,MAAM,CAACsB,QAAQ;IACrBL,GAAG,EAAEjB,MAAM,CAACuB;EACd,CAAC;EACD,CAACrB,iBAAiB,CAACsB,IAAI,GAAG;IACxBb,GAAG,EAAEX,MAAM,CAACyB,MAAM;IAClBZ,MAAM,EAAEb,MAAM,CAAC0B,MAAM;IACrBX,IAAI,EAAEf,MAAM,CAAC2B,MAAM;IACnBV,GAAG,EAAEjB,MAAM,CAAC4B;EACd,CAAC;EACD,CAAC1B,iBAAiB,CAAC2B,GAAG,GAAG;IACvBlB,GAAG,EAAEX,MAAM,CAAC8B,KAAK;IACjBjB,MAAM,EAAEb,MAAM,CAAC+B,KAAK;IACpBhB,IAAI,EAAEf,MAAM,CAACgC,KAAK;IAClBf,GAAG,EAAEjB,MAAM,CAACiC;EACd,CAAC;EACD,CAAC/B,iBAAiB,CAACgC,MAAM,GAAG;IAC1BvB,GAAG,EAAEX,MAAM,CAACmC,QAAQ;IACpBtB,MAAM,EAAEb,MAAM,CAACoC,QAAQ;IACvBrB,IAAI,EAAEf,MAAM,CAACqC,QAAQ;IACrBpB,GAAG,EAAEjB,MAAM,CAACsC;EACd,CAAC;EACD,CAACpC,iBAAiB,CAACqC,MAAM,GAAG;IAC1B5B,GAAG,EAAEX,MAAM,CAACwC,QAAQ;IACpB3B,MAAM,EAAEb,MAAM,CAACyC,QAAQ;IACvB1B,IAAI,EAAEf,MAAM,CAAC0C,QAAQ;IACrBzB,GAAG,EAAEjB,MAAM,CAAC2C;EACd,CAAC;EACD,CAACzC,iBAAiB,CAAC0C,IAAI,GAAG;IACxBjC,GAAG,EAAEX,MAAM,CAAC6C,SAAS;IACrBhC,MAAM,EAAEb,MAAM,CAAC8C,SAAS;IACxB/B,IAAI,EAAEf,MAAM,CAAC+C,SAAS;IACtB9B,GAAG,EAAEjB,MAAM,CAACgD;EACd,CAAC;EACD,CAAC9C,iBAAiB,CAAC+C,MAAM,GAAG;IAC1BtC,GAAG,EAAEX,MAAM,CAAC8B,KAAK;IACjBjB,MAAM,EAAEb,MAAM,CAAC+B,KAAK;IACpBhB,IAAI,EAAEf,MAAM,CAACgC,KAAK;IAClBf,GAAG,EAAEjB,MAAM,CAACiC;EACd;AACF,CAAC;AAED,MAAMiB,iBAAoD,GAAG;EAC3D,CAAChD,iBAAiB,CAACQ,KAAK,GAAGV,MAAM,CAACmD,aAAa;EAC/C,CAACjD,iBAAiB,CAACiB,MAAM,GAAGnB,MAAM,CAACoD,cAAc;EACjD,CAAClD,iBAAiB,CAACsB,IAAI,GAAGxB,MAAM,CAACqD,YAAY;EAC7C,CAACnD,iBAAiB,CAAC2B,GAAG,GAAG7B,MAAM,CAACsD,WAAW;EAC3C,CAACpD,iBAAiB,CAACgC,MAAM,GAAGlC,MAAM,CAACuD,cAAc;EACjD,CAACrD,iBAAiB,CAACqC,MAAM,GAAGvC,MAAM,CAACwD,cAAc;EACjD,CAACtD,iBAAiB,CAAC0C,IAAI,GAAG5C,MAAM,CAAC+C,SAAS;EAC1C,CAAC7C,iBAAiB,CAAC+C,MAAM,GAAGjD,MAAM,CAACsD;AACrC,CAAC;AAED,MAAMG,YAAY,GAAGA,CAACC,MAAsB,EAAEC,QAAgB,KAAa;EACzE,IAAIA,QAAQ,IAAI,EAAE,EAAE,OAAOD,MAAM,CAAC/C,GAAG;EACrC,IAAIgD,QAAQ,IAAI,EAAE,EAAE,OAAOD,MAAM,CAAC7C,MAAM;EACxC,IAAI8C,QAAQ,IAAI,EAAE,EAAE,OAAOD,MAAM,CAAC3C,IAAI;EACtC,OAAO2C,MAAM,CAACzC,GAAG;AACnB,CAAC;AAOD,OAAO,MAAM2C,WAAW,GAAGA,CAAC;EAAED,QAAQ;EAAEE,KAAK,GAAG3D,iBAAiB,CAACQ;AAAwB,CAAC,KAAK;EAC9F,MAAMoD,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAAC,GAAG,EAAEF,IAAI,CAAC9C,GAAG,CAAC,CAAC,EAAE0C,QAAQ,CAAC,CAAC,CAAC;EACnE,MAAMO,SAAS,GAAGT,YAAY,CAAChD,qBAAqB,CAACoD,KAAK,CAAC,EAAEC,UAAU,CAAC;EACxE,MAAMK,SAAS,GAAGjB,iBAAiB,CAACW,KAAK,CAAC;EAC1C,oBACErD,KAAA,CAACV,IAAI;IAACsE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BjE,IAAA,CAACR,IAAI;MAACsE,KAAK,EAAEC,MAAM,CAACG,KAAM;MAAAD,QAAA,eACxBjE,IAAA,CAACR,IAAI;QAACsE,KAAK,EAAE,CAACC,MAAM,CAACI,IAAI,EAAE;UAAEC,eAAe,EAAER,SAAS;UAAES,KAAK,EAAE,GAAGb,UAAU;QAAI,CAAC;MAAE,CAAE;IAAC,CACnF,CAAC,eACPtD,KAAA,CAACJ,UAAU;MAACwE,OAAO,EAAE3E,eAAe,CAAC4E,GAAI;MAACT,KAAK,EAAE;QAAEP,KAAK,EAAEM;MAAU,CAAE;MAAAI,QAAA,GACnET,UAAU,EAAC,GACd;IAAA,CAAY,CAAC;EAAA,CACT,CAAC;AAEX,CAAC;AAED,MAAMO,MAAM,GAAGxE,UAAU,CAACiF,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAE7E,OAAO,CAAC,GAAG,CAAC;IACvB8E,GAAG,EAAE9E,OAAO,CAAC,GAAG,CAAC;IACjB+E,UAAU,EAAE;EACd,CAAC;EACDV,KAAK,EAAE;IACLW,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,EAAE;IACVV,eAAe,EAAE1E,MAAM,CAAC8C,SAAS;IACjCuC,YAAY,EAAEtF,aAAa,CAAC,GAAG,CAAC;IAChCuF,QAAQ,EAAE;EACZ,CAAC;EACDb,IAAI,EAAE;IACJW,MAAM,EAAE,MAAM;IACdC,YAAY,EAAEtF,aAAa,CAAC,GAAG;EACjC;AACF,CAAC,CAAC","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
@@ -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":[]}