@magmamath/students-features 1.2.0 → 1.2.1-rc.10

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 (398) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  2. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +1 -1
  6. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  7. package/dist/commonjs/features/pmProgress/PmProgress.js +62 -0
  8. package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
  9. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +22 -0
  10. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  11. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js +2 -0
  12. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js.map +1 -0
  13. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +44 -0
  14. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  15. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js +26 -0
  16. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  17. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +69 -0
  18. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  19. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +38 -0
  20. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  21. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +21 -0
  22. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  23. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js +82 -0
  24. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  25. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js +49 -0
  26. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  27. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js +25 -0
  28. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  29. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js +20 -0
  30. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  31. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
  32. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  33. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +199 -0
  34. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  35. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +71 -0
  36. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +95 -0
  38. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  39. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +71 -0
  40. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  41. package/dist/commonjs/features/pmProgress/components/list/Fluency.js +70 -0
  42. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +187 -0
  44. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +119 -0
  46. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +86 -0
  48. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  49. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +118 -0
  50. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  51. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  52. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/index.js +36 -0
  54. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  56. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  58. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +45 -0
  60. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  62. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +79 -0
  64. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +148 -0
  66. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +33 -0
  68. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +193 -0
  70. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  72. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  73. package/dist/commonjs/index.js +15 -3
  74. package/dist/commonjs/index.js.map +1 -1
  75. package/dist/commonjs/shared/icons/PentagonIcon.js +32 -0
  76. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  77. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  78. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  79. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +32 -0
  80. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  81. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  82. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  83. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  84. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  85. package/dist/commonjs/shared/translation/localization/ca.json +19 -0
  86. package/dist/commonjs/shared/translation/localization/de.json +19 -0
  87. package/dist/commonjs/shared/translation/localization/en.json +19 -0
  88. package/dist/commonjs/shared/translation/localization/gb.json +19 -0
  89. package/dist/commonjs/shared/translation/localization/sct.json +19 -0
  90. package/dist/commonjs/shared/translation/localization/sw.json +19 -0
  91. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  92. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  93. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  94. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  95. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  96. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  97. package/dist/module/features/pmProgress/PmProgress.js +56 -0
  98. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  99. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +15 -0
  100. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  101. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  102. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  103. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  104. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  105. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  106. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  107. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +63 -0
  108. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  109. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  110. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  111. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  112. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  113. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +76 -0
  114. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  115. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  116. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  117. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +20 -0
  118. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  119. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js +15 -0
  120. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  121. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  122. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  123. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +192 -0
  124. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  125. package/dist/module/features/pmProgress/components/insights/PmInsights.js +64 -0
  126. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  127. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +90 -0
  128. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  129. package/dist/module/features/pmProgress/components/insights/StatsCard.js +65 -0
  130. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  131. package/dist/module/features/pmProgress/components/list/Fluency.js +64 -0
  132. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  133. package/dist/module/features/pmProgress/components/list/ListCard.js +180 -0
  134. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  135. package/dist/module/features/pmProgress/components/list/ListItem.js +112 -0
  136. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  137. package/dist/module/features/pmProgress/components/list/PmDomainList.js +80 -0
  138. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  139. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +112 -0
  140. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  141. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  142. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  143. package/dist/module/features/pmProgress/index.js +9 -0
  144. package/dist/module/features/pmProgress/index.js.map +1 -0
  145. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  146. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  147. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  148. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  149. package/dist/module/features/pmProgress/model/PmProgressModel.js +40 -0
  150. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  151. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  152. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  153. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +74 -0
  154. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  155. package/dist/module/features/pmProgress/model/PmTreeModel.js +143 -0
  156. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  157. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +30 -0
  158. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  159. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +177 -0
  160. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  161. package/dist/module/features/pmProgress/shared/pmProgress.types.js +10 -0
  162. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  163. package/dist/module/index.js +1 -0
  164. package/dist/module/index.js.map +1 -1
  165. package/dist/module/shared/icons/PentagonIcon.js +24 -0
  166. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  167. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  168. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  169. package/dist/module/shared/icons/SliceDiamondIcon.js +24 -0
  170. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  171. package/dist/module/shared/icons/StarIcon.js +24 -0
  172. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  173. package/dist/module/shared/icons/TimerIcon.js +27 -0
  174. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  175. package/dist/module/shared/translation/localization/ca.json +19 -0
  176. package/dist/module/shared/translation/localization/de.json +19 -0
  177. package/dist/module/shared/translation/localization/en.json +19 -0
  178. package/dist/module/shared/translation/localization/gb.json +19 -0
  179. package/dist/module/shared/translation/localization/sct.json +19 -0
  180. package/dist/module/shared/translation/localization/sw.json +19 -0
  181. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  182. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  184. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  185. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  186. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  187. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  188. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  189. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  190. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  191. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  192. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  193. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  194. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  195. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  196. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  197. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  198. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  199. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  200. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  201. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  202. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  203. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  204. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  205. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  206. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  207. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  208. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  209. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  210. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  211. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  212. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  214. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  215. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  216. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  217. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  218. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  219. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +26 -0
  220. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  221. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +10 -0
  222. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  223. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  224. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  225. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  226. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  227. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  228. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  229. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +4 -0
  230. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  232. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  234. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +21 -0
  236. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  237. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  238. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +19 -0
  240. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +24 -0
  242. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +23 -0
  244. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +59 -0
  246. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +185 -0
  248. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/index.d.ts +1 -0
  250. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  251. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  252. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  254. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  256. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  258. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  260. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/shared/translation/constants.d.ts +114 -0
  262. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  263. package/dist/typescript/commonjs/shared/translation/model.d.ts +38 -0
  264. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  265. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  266. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  267. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  268. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  269. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  270. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  271. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  272. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  273. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  274. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  275. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  276. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  277. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  278. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  279. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  280. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  281. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  282. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  283. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  284. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  285. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  286. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  287. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  288. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  289. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  290. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  291. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  292. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  293. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  294. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  295. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  296. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  297. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  298. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  299. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  300. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  301. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  302. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  303. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +26 -0
  304. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  305. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +10 -0
  306. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  307. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  308. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  309. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  310. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  311. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  312. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  313. package/dist/typescript/module/features/pmProgress/index.d.ts +4 -0
  314. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  315. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  316. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  317. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  318. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  319. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +21 -0
  320. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  321. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  322. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  323. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +19 -0
  324. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  325. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +24 -0
  326. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  327. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +23 -0
  328. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  329. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +59 -0
  330. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  331. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +185 -0
  332. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  333. package/dist/typescript/module/index.d.ts +1 -0
  334. package/dist/typescript/module/index.d.ts.map +1 -1
  335. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  336. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  337. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  338. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  339. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  340. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  341. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  342. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  343. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  344. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  345. package/dist/typescript/module/shared/translation/constants.d.ts +114 -0
  346. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  347. package/dist/typescript/module/shared/translation/model.d.ts +38 -0
  348. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  349. package/package.json +13 -2
  350. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  351. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  352. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  353. package/src/features/pmProgress/PmProgress.tsx +52 -0
  354. package/src/features/pmProgress/__tests__/.keep +0 -0
  355. package/src/features/pmProgress/components/chart/chart.helpers.ts +14 -0
  356. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  357. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  358. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  359. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +75 -0
  360. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  361. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  362. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +88 -0
  363. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  364. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +20 -0
  365. package/src/features/pmProgress/components/chart/model/SliceHighlight.ts +17 -0
  366. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  367. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +187 -0
  368. package/src/features/pmProgress/components/insights/PmInsights.tsx +60 -0
  369. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +85 -0
  370. package/src/features/pmProgress/components/insights/StatsCard.tsx +53 -0
  371. package/src/features/pmProgress/components/list/Fluency.tsx +59 -0
  372. package/src/features/pmProgress/components/list/ListCard.tsx +216 -0
  373. package/src/features/pmProgress/components/list/ListItem.tsx +132 -0
  374. package/src/features/pmProgress/components/list/PmDomainList.tsx +66 -0
  375. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +108 -0
  376. package/src/features/pmProgress/context/PmProgressContext.tsx +23 -0
  377. package/src/features/pmProgress/index.ts +6 -0
  378. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  379. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  380. package/src/features/pmProgress/model/PmProgressModel.ts +50 -0
  381. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  382. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +105 -0
  383. package/src/features/pmProgress/model/PmTreeModel.ts +148 -0
  384. package/src/features/pmProgress/shared/pmProgress.constants.ts +73 -0
  385. package/src/features/pmProgress/shared/pmProgress.helpers.ts +239 -0
  386. package/src/features/pmProgress/shared/pmProgress.types.ts +207 -0
  387. package/src/index.ts +1 -0
  388. package/src/shared/icons/PentagonIcon.tsx +17 -0
  389. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  390. package/src/shared/icons/SliceDiamondIcon.tsx +16 -0
  391. package/src/shared/icons/StarIcon.tsx +17 -0
  392. package/src/shared/icons/TimerIcon.tsx +21 -0
  393. package/src/shared/translation/localization/ca.json +19 -0
  394. package/src/shared/translation/localization/de.json +19 -0
  395. package/src/shared/translation/localization/en.json +19 -0
  396. package/src/shared/translation/localization/gb.json +19 -0
  397. package/src/shared/translation/localization/sct.json +19 -0
  398. package/src/shared/translation/localization/sw.json +19 -0
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { createEvent, createStore } from 'effector';
4
+ export class SliceHighlight {
5
+ set = createEvent();
6
+ reset = createEvent();
7
+ $highlightedIndex = createStore(null).on(this.set, (_, index) => index).reset(this.reset);
8
+ constructor(config) {
9
+ this.config = config;
10
+ }
11
+ getTranslateY(isHighlighted) {
12
+ return isHighlighted ? -this.config.pressOffset : 0;
13
+ }
14
+ }
15
+ //# sourceMappingURL=SliceHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEvent","createStore","SliceHighlight","set","reset","$highlightedIndex","on","_","index","constructor","config","getTranslateY","isHighlighted","pressOffset"],"sourceRoot":"../../../../../../../src","sources":["features/pmProgress/components/chart/model/SliceHighlight.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,UAAU;AAGnD,OAAO,MAAMC,cAAc,CAAC;EACVC,GAAG,GAAGH,WAAW,CAAS,CAAC;EAC3BI,KAAK,GAAGJ,WAAW,CAAC,CAAC;EAErBK,iBAAiB,GAAGJ,WAAW,CAAgB,IAAI,CAAC,CACjEK,EAAE,CAAC,IAAI,CAACH,GAAG,EAAE,CAACI,CAAC,EAAEC,KAAK,KAAKA,KAAK,CAAC,CACjCJ,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEpBK,WAAWA,CAAkBC,MAA6B,EAAE;IAAA,KAA/BA,MAA6B,GAA7BA,MAA6B;EAAG;EAEtDC,aAAaA,CAACC,aAAsB,EAAU;IACnD,OAAOA,aAAa,GAAG,CAAC,IAAI,CAACF,MAAM,CAACG,WAAW,GAAG,CAAC;EACrD;AACF","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ import { arc, pie } from 'd3-shape';
4
+ export class SliceShapeGenerator {
5
+ innerRadius = 0;
6
+ d3Pie = pie().value(({
7
+ value
8
+ }) => value).sort(null);
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ generateSlices(data) {
13
+ this.innerRadius = this.getInnerRadius(data.length);
14
+ return this.d3Pie(data).map((datum, index) => ({
15
+ index,
16
+ startAngle: datum.startAngle,
17
+ endAngle: datum.endAngle,
18
+ fillPercent: datum.data.fillPercent ?? 0,
19
+ backgroundColor: datum.data.backgroundColor ?? this.config.colors.background,
20
+ fillColor: datum.data.fillColor,
21
+ borderColor: datum.data.borderColor,
22
+ data: datum.data
23
+ }));
24
+ }
25
+ generateSlicePath(slice) {
26
+ return this.buildArc(slice, this.config.outerRadius, this.getCornerRadius(100));
27
+ }
28
+ generateFillPath(slice) {
29
+ const fillRadius = this.getFillRadius(slice);
30
+ const cornerRadius = this.getCornerRadius(slice.fillPercent);
31
+
32
+ // Build with innerRadius 0 so d3 only rounds the outer corners.
33
+ // The slice clip path will cut the inner edge to the correct boundary.
34
+ return arc().outerRadius(fillRadius).innerRadius(0).cornerRadius(cornerRadius).padAngle(this.padAngle).padRadius(this.config.outerRadius)({
35
+ startAngle: slice.startAngle,
36
+ endAngle: slice.endAngle,
37
+ innerRadius: 0,
38
+ outerRadius: fillRadius
39
+ });
40
+ }
41
+ generateFillBorderPath(slice) {
42
+ const fillRadius = this.getFillRadius(slice);
43
+ const cornerRadius = this.getCornerRadius(slice.fillPercent);
44
+ return this.buildArc(slice, fillRadius, cornerRadius);
45
+ }
46
+ getFillRadius(slice) {
47
+ return this.innerRadius + (this.config.outerRadius - this.innerRadius) * (slice.fillPercent / 100);
48
+ }
49
+ getInnerRadius(sliceCount) {
50
+ const {
51
+ innerRadius
52
+ } = this.config;
53
+ return typeof innerRadius === 'function' ? innerRadius(sliceCount) : innerRadius;
54
+ }
55
+ getCornerRadius(fillPercent) {
56
+ const {
57
+ cornerRadius
58
+ } = this.config;
59
+ return typeof cornerRadius === 'function' ? cornerRadius(fillPercent) : cornerRadius;
60
+ }
61
+ get padAngle() {
62
+ return this.config.gapBetweenSlices / this.config.outerRadius;
63
+ }
64
+ buildArc(slice, outerRadius, cornerRadius) {
65
+ const innerRadius = this.innerRadius;
66
+ return arc().outerRadius(outerRadius).innerRadius(innerRadius).cornerRadius(cornerRadius).padAngle(this.padAngle).padRadius(this.config.outerRadius)({
67
+ startAngle: slice.startAngle,
68
+ endAngle: slice.endAngle,
69
+ innerRadius,
70
+ outerRadius
71
+ });
72
+ }
73
+ }
74
+ //# sourceMappingURL=SliceShapeGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["arc","pie","SliceShapeGenerator","innerRadius","d3Pie","value","sort","constructor","config","generateSlices","data","getInnerRadius","length","map","datum","index","startAngle","endAngle","fillPercent","backgroundColor","colors","background","fillColor","borderColor","generateSlicePath","slice","buildArc","outerRadius","getCornerRadius","generateFillPath","fillRadius","getFillRadius","cornerRadius","padAngle","padRadius","generateFillBorderPath","sliceCount","gapBetweenSlices"],"sourceRoot":"../../../../../../../src","sources":["features/pmProgress/components/chart/model/SliceShapeGenerator.ts"],"mappings":";;AAAA,SAASA,GAAG,EAAEC,GAAG,QAAQ,UAAU;AAGnC,OAAO,MAAMC,mBAAmB,CAAC;EACvBC,WAAW,GAAG,CAAC;EACNC,KAAK,GAAGH,GAAG,CAAiB,CAAC,CAC3CI,KAAK,CAAC,CAAC;IAAEA;EAAM,CAAC,KAAKA,KAAK,CAAC,CAC3BC,IAAI,CAAC,IAAI,CAAC;EAEbC,WAAWA,CAAkBC,MAA6B,EAAE;IAAA,KAA/BA,MAA6B,GAA7BA,MAA6B;EAAG;EAEtDC,cAAcA,CAACC,IAAsB,EAAgB;IAC1D,IAAI,CAACP,WAAW,GAAG,IAAI,CAACQ,cAAc,CAACD,IAAI,CAACE,MAAM,CAAC;IAEnD,OAAO,IAAI,CAACR,KAAK,CAACM,IAAI,CAAC,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,MAAM;MAC7CA,KAAK;MACLC,UAAU,EAAEF,KAAK,CAACE,UAAU;MAC5BC,QAAQ,EAAEH,KAAK,CAACG,QAAQ;MACxBC,WAAW,EAAEJ,KAAK,CAACJ,IAAI,CAACQ,WAAW,IAAI,CAAC;MACxCC,eAAe,EAAEL,KAAK,CAACJ,IAAI,CAACS,eAAe,IAAI,IAAI,CAACX,MAAM,CAACY,MAAM,CAACC,UAAU;MAC5EC,SAAS,EAAER,KAAK,CAACJ,IAAI,CAACY,SAAS;MAC/BC,WAAW,EAAET,KAAK,CAACJ,IAAI,CAACa,WAAW;MACnCb,IAAI,EAAEI,KAAK,CAACJ;IACd,CAAC,CAAC,CAAC;EACL;EAEOc,iBAAiBA,CAACC,KAAiB,EAAU;IAClD,OAAO,IAAI,CAACC,QAAQ,CAACD,KAAK,EAAE,IAAI,CAACjB,MAAM,CAACmB,WAAW,EAAE,IAAI,CAACC,eAAe,CAAC,GAAG,CAAC,CAAC;EACjF;EAEOC,gBAAgBA,CAACJ,KAAiB,EAAU;IACjD,MAAMK,UAAU,GAAG,IAAI,CAACC,aAAa,CAACN,KAAK,CAAC;IAC5C,MAAMO,YAAY,GAAG,IAAI,CAACJ,eAAe,CAACH,KAAK,CAACP,WAAW,CAAC;;IAE5D;IACA;IACA,OAAOlB,GAAG,CAAC,CAAC,CACT2B,WAAW,CAACG,UAAU,CAAC,CACvB3B,WAAW,CAAC,CAAC,CAAC,CACd6B,YAAY,CAACA,YAAY,CAAC,CAC1BC,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAAC,CACvBC,SAAS,CAAC,IAAI,CAAC1B,MAAM,CAACmB,WAAW,CAAC,CAAC;MACpCX,UAAU,EAAES,KAAK,CAACT,UAAU;MAC5BC,QAAQ,EAAEQ,KAAK,CAACR,QAAQ;MACxBd,WAAW,EAAE,CAAC;MACdwB,WAAW,EAAEG;IACf,CAAC,CAAC;EACJ;EAEOK,sBAAsBA,CAACV,KAAiB,EAAU;IACvD,MAAMK,UAAU,GAAG,IAAI,CAACC,aAAa,CAACN,KAAK,CAAC;IAC5C,MAAMO,YAAY,GAAG,IAAI,CAACJ,eAAe,CAACH,KAAK,CAACP,WAAW,CAAC;IAC5D,OAAO,IAAI,CAACQ,QAAQ,CAACD,KAAK,EAAEK,UAAU,EAAEE,YAAY,CAAC;EACvD;EAGQD,aAAaA,CAACN,KAAiB,EAAU;IAC/C,OAAO,IAAI,CAACtB,WAAW,GAAG,CAAC,IAAI,CAACK,MAAM,CAACmB,WAAW,GAAG,IAAI,CAACxB,WAAW,KAAKsB,KAAK,CAACP,WAAW,GAAG,GAAG,CAAC;EACpG;EAEQP,cAAcA,CAACyB,UAAkB,EAAU;IACjD,MAAM;MAAEjC;IAAY,CAAC,GAAG,IAAI,CAACK,MAAM;IACnC,OAAO,OAAOL,WAAW,KAAK,UAAU,GAAGA,WAAW,CAACiC,UAAU,CAAC,GAAGjC,WAAW;EAClF;EAEQyB,eAAeA,CAACV,WAAmB,EAAU;IACnD,MAAM;MAAEc;IAAa,CAAC,GAAG,IAAI,CAACxB,MAAM;IACpC,OAAO,OAAOwB,YAAY,KAAK,UAAU,GAAGA,YAAY,CAACd,WAAW,CAAC,GAAGc,YAAY;EACtF;EAEA,IAAYC,QAAQA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACzB,MAAM,CAAC6B,gBAAgB,GAAG,IAAI,CAAC7B,MAAM,CAACmB,WAAW;EAC/D;EAEQD,QAAQA,CAACD,KAAiB,EAAEE,WAAmB,EAAEK,YAAoB,EAAU;IACrF,MAAM7B,WAAW,GAAG,IAAI,CAACA,WAAW;IAEpC,OAAOH,GAAG,CAAC,CAAC,CACT2B,WAAW,CAACA,WAAW,CAAC,CACxBxB,WAAW,CAACA,WAAW,CAAC,CACxB6B,YAAY,CAACA,YAAY,CAAC,CAC1BC,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAAC,CACvBC,SAAS,CAAC,IAAI,CAAC1B,MAAM,CAACmB,WAAW,CAAC,CAAC;MACpCX,UAAU,EAAES,KAAK,CAACT,UAAU;MAC5BC,QAAQ,EAAEQ,KAAK,CAACR,QAAQ;MACxBd,WAAW;MACXwB;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { Portal } from 'react-native-portalize';
6
+ import { Button, ButtonColor, ButtonSize, ButtonVariant, CaretDownIcon, CaretUpIcon, COLORS, Dropdown, HeadingVariants, Menu, PlayIcon, SPACING, Typography } from '@magmamath/react-native-ui';
7
+ import { SketchArrowRight } from "../../../../shared/icons/SketchArrowRight.js";
8
+ import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
9
+ import { useText } from "../../../../shared/translation/index.js";
10
+ import { useStoreMap, useUnit } from 'effector-react';
11
+ import { usePmProgress } from "../../context/PmProgressContext.js";
12
+ import { isFluencyDomain } from "../../shared/pmProgress.helpers.js";
13
+ import { SolvingFlow } from "../../shared/pmProgress.constants.js";
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ export const PmProgressHeader = () => {
16
+ const t = useText();
17
+ const {
18
+ model,
19
+ onStartPress
20
+ } = usePmProgress();
21
+ const [isDropdownOpen, setIsDropdownOpen] = useState(false);
22
+ const grade = useUnit(model.tree.$grade);
23
+ const grades = useStoreMap(model.tree.$grades, grades => grades.map(grade => ({
24
+ key: grade.value,
25
+ title: grade.name,
26
+ disabled: grade.isLocked
27
+ })));
28
+ const nextUp = useStoreMap(model.tree.$domains, domains => domains.find(domain => {
29
+ const isFluency = isFluencyDomain(domain.title);
30
+ const isCompleted = domain.skillsCount.achieved === domain.skillsCount.total;
31
+ return !isFluency && !isCompleted;
32
+ }));
33
+ return /*#__PURE__*/_jsxs(View, {
34
+ style: styles.container,
35
+ children: [/*#__PURE__*/_jsxs(View, {
36
+ style: styles.title,
37
+ children: [/*#__PURE__*/_jsx(Typography, {
38
+ variant: HeadingVariants.H2,
39
+ style: styles.dark,
40
+ children: t('pmProgress.title')
41
+ }), /*#__PURE__*/_jsx(Dropdown, {
42
+ isOpen: isDropdownOpen,
43
+ Portal: Portal,
44
+ onDismiss: () => setIsDropdownOpen(false),
45
+ anchor: /*#__PURE__*/_jsxs(Button, {
46
+ variant: ButtonVariant.TERTIARY,
47
+ onPress: () => setIsDropdownOpen(prev => !prev),
48
+ children: [/*#__PURE__*/_jsxs(Typography, {
49
+ variant: HeadingVariants.H8,
50
+ style: styles.dark,
51
+ children: [t('pmProgress.grade'), " ", grade]
52
+ }), /*#__PURE__*/_jsx(View, {
53
+ style: styles.caret,
54
+ children: isDropdownOpen ? /*#__PURE__*/_jsx(CaretUpIcon, {
55
+ color: COLORS.NEUTRAL_9
56
+ }) : /*#__PURE__*/_jsx(CaretDownIcon, {
57
+ color: COLORS.NEUTRAL_9
58
+ })
59
+ })]
60
+ }),
61
+ children: /*#__PURE__*/_jsx(Menu, {
62
+ style: styles.menu,
63
+ items: grades,
64
+ onItemPress: item => model.tree.setGrade(item.key)
65
+ })
66
+ })]
67
+ }), /*#__PURE__*/_jsxs(View, {
68
+ style: styles.nextUp,
69
+ children: [/*#__PURE__*/_jsxs(View, {
70
+ style: styles.content,
71
+ children: [/*#__PURE__*/_jsx(View, {
72
+ style: styles.subtitle,
73
+ children: /*#__PURE__*/_jsx(Typography, {
74
+ variant: HeadingVariants.H2,
75
+ style: styles.dark,
76
+ children: t('pmProgress.nextUp')
77
+ })
78
+ }), /*#__PURE__*/_jsxs(View, {
79
+ style: [styles.row, styles.tilted],
80
+ children: [/*#__PURE__*/_jsx(Typography, {
81
+ variant: HeadingVariants.H7,
82
+ style: styles.muted,
83
+ children: nextUp?.title
84
+ }), /*#__PURE__*/_jsx(View, {
85
+ style: styles.diamond,
86
+ children: /*#__PURE__*/_jsx(SliceDiamondIcon, {
87
+ color: nextUp?.color
88
+ })
89
+ })]
90
+ })]
91
+ }), /*#__PURE__*/_jsx(View, {
92
+ style: styles.arrow,
93
+ children: /*#__PURE__*/_jsx(SketchArrowRight, {})
94
+ }), /*#__PURE__*/_jsx(Button, {
95
+ onPress: async () => {
96
+ const skill = await model.solving.start({
97
+ type: SolvingFlow.MAGMA
98
+ });
99
+
100
+ // @ts-ignore
101
+ onStartPress?.(skill);
102
+ },
103
+ icon: /*#__PURE__*/_jsx(PlayIcon, {
104
+ size: 16,
105
+ color: COLORS.NEUTRAL_1
106
+ }),
107
+ variant: ButtonVariant.PRIMARY,
108
+ size: ButtonSize.LARGE,
109
+ colorScheme: ButtonColor.YELLOW,
110
+ raiseLevel: 6,
111
+ style: {
112
+ container: styles.startButton
113
+ },
114
+ children: /*#__PURE__*/_jsx(Typography, {
115
+ variant: HeadingVariants.H6,
116
+ style: styles.startButtonText,
117
+ children: t('pmProgress.startButton')
118
+ })
119
+ })]
120
+ })]
121
+ });
122
+ };
123
+ const styles = StyleSheet.create({
124
+ container: {
125
+ flexDirection: 'row',
126
+ justifyContent: 'space-between',
127
+ alignItems: 'center',
128
+ marginBottom: SPACING[400]
129
+ },
130
+ title: {
131
+ flexDirection: 'row',
132
+ alignItems: 'center',
133
+ gap: SPACING[200]
134
+ },
135
+ dark: {
136
+ color: COLORS.NEUTRAL_9
137
+ },
138
+ caret: {
139
+ marginLeft: SPACING[100]
140
+ },
141
+ menu: {
142
+ top: SPACING[100],
143
+ minWidth: 110
144
+ },
145
+ nextUp: {
146
+ flexDirection: 'row',
147
+ alignItems: 'center',
148
+ gap: SPACING[400]
149
+ },
150
+ content: {
151
+ alignItems: 'center',
152
+ gap: SPACING[100]
153
+ },
154
+ subtitle: {
155
+ transform: [{
156
+ rotate: '355deg'
157
+ }],
158
+ marginRight: SPACING[300]
159
+ },
160
+ tilted: {
161
+ transform: [{
162
+ rotate: '355deg'
163
+ }]
164
+ },
165
+ row: {
166
+ flexDirection: 'row',
167
+ gap: SPACING[100]
168
+ },
169
+ muted: {
170
+ color: COLORS.NEUTRAL_8
171
+ },
172
+ diamond: {
173
+ bottom: 10,
174
+ transform: [{
175
+ rotate: '5deg'
176
+ }]
177
+ },
178
+ arrow: {
179
+ transform: [{
180
+ rotate: '358deg'
181
+ }]
182
+ },
183
+ startButton: {
184
+ minWidth: 145
185
+ },
186
+ startButtonText: {
187
+ fontWeight: '700',
188
+ textTransform: 'uppercase',
189
+ color: COLORS.NEUTRAL_1
190
+ }
191
+ });
192
+ //# sourceMappingURL=PmProgressHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","StyleSheet","View","Portal","Button","ButtonColor","ButtonSize","ButtonVariant","CaretDownIcon","CaretUpIcon","COLORS","Dropdown","HeadingVariants","Menu","PlayIcon","SPACING","Typography","SketchArrowRight","SliceDiamondIcon","useText","useStoreMap","useUnit","usePmProgress","isFluencyDomain","SolvingFlow","jsx","_jsx","jsxs","_jsxs","PmProgressHeader","t","model","onStartPress","isDropdownOpen","setIsDropdownOpen","grade","tree","$grade","grades","$grades","map","key","value","title","name","disabled","isLocked","nextUp","$domains","domains","find","domain","isFluency","isCompleted","skillsCount","achieved","total","style","styles","container","children","variant","H2","dark","isOpen","onDismiss","anchor","TERTIARY","onPress","prev","H8","caret","color","NEUTRAL_9","menu","items","onItemPress","item","setGrade","content","subtitle","row","tilted","H7","muted","diamond","arrow","skill","solving","start","type","MAGMA","icon","size","NEUTRAL_1","PRIMARY","LARGE","colorScheme","YELLOW","raiseLevel","startButton","H6","startButtonText","create","flexDirection","justifyContent","alignItems","marginBottom","gap","marginLeft","top","minWidth","transform","rotate","marginRight","NEUTRAL_8","bottom","fontWeight","textTransform"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/header/PmProgressHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useState } from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui';
6
+ import { useStoreMap } from 'effector-react';
7
+ import { PracticeProgressPieChart } from "../chart/components/PracticeProgressPieChart.js";
8
+ import { PmTimeframeStats } from "./PmTimeframeStats.js";
9
+ import { usePmProgress } from "../../context/PmProgressContext.js";
10
+ import { createChartConfig } from "../../shared/pmProgress.helpers.js";
11
+ import { STATS_MAX_HEIGHT } from "../../shared/pmProgress.constants.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const PmInsights = () => {
14
+ const {
15
+ model
16
+ } = usePmProgress();
17
+ const [chartSize, setChartSize] = useState(0);
18
+ const chartData = useStoreMap(model.tree.$domains, domains => domains.map(domain => ({
19
+ value: 1,
20
+ fillPercent: Math.round(domain.scorePercentage),
21
+ fillColor: domain.color,
22
+ borderColor: domain.borderColor,
23
+ backgroundColor: domain.backgroundColor
24
+ })));
25
+ const chartConfig = useMemo(() => {
26
+ const size = Math.max(0, chartSize - SPACING[400]);
27
+ return createChartConfig(size);
28
+ }, [chartSize]);
29
+ const measureLayout = event => {
30
+ const height = event.nativeEvent.layout.height;
31
+ const size = height - STATS_MAX_HEIGHT - SPACING[800];
32
+ setChartSize(size);
33
+ };
34
+ if (!chartData) return null;
35
+ return /*#__PURE__*/_jsxs(View, {
36
+ style: styles.container,
37
+ onLayout: measureLayout,
38
+ children: [/*#__PURE__*/_jsx(View, {
39
+ style: [styles.chart, {
40
+ width: chartSize,
41
+ height: chartSize
42
+ }],
43
+ children: /*#__PURE__*/_jsx(PracticeProgressPieChart, {
44
+ data: chartData,
45
+ config: chartConfig
46
+ })
47
+ }), /*#__PURE__*/_jsx(PmTimeframeStats, {})]
48
+ });
49
+ };
50
+ const styles = StyleSheet.create({
51
+ container: {
52
+ height: '100%'
53
+ },
54
+ chart: {
55
+ alignItems: 'center',
56
+ justifyContent: 'center',
57
+ backgroundColor: COLORS.NEUTRAL_1,
58
+ borderRadius: BORDER_RADIUS[250],
59
+ padding: SPACING[400],
60
+ marginBottom: SPACING[400],
61
+ marginTop: SPACING[400]
62
+ }
63
+ });
64
+ //# sourceMappingURL=PmInsights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useState","StyleSheet","View","BORDER_RADIUS","COLORS","SPACING","useStoreMap","PracticeProgressPieChart","PmTimeframeStats","usePmProgress","createChartConfig","STATS_MAX_HEIGHT","jsx","_jsx","jsxs","_jsxs","PmInsights","model","chartSize","setChartSize","chartData","tree","$domains","domains","map","domain","value","fillPercent","Math","round","scorePercentage","fillColor","color","borderColor","backgroundColor","chartConfig","size","max","measureLayout","event","height","nativeEvent","layout","style","styles","container","onLayout","children","chart","width","data","config","create","alignItems","justifyContent","NEUTRAL_1","borderRadius","padding","marginBottom","marginTop"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/PmInsights.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { COLORS, SelectGroup, SelectOptionColor, SPACING } from '@magmamath/react-native-ui';
6
+ import { StatsCard } from "./StatsCard.js";
7
+ import { StarIcon } from "../../../../shared/icons/StarIcon.js";
8
+ import { TimerIcon } from "../../../../shared/icons/TimerIcon.js";
9
+ import { BORDER_RADIUS } from '@magmamath/react-native-ui';
10
+ import { useText } from "../../../../shared/translation/index.js";
11
+ import { useUnit } from 'effector-react';
12
+ import { formatTime } from "../../shared/pmProgress.helpers.js";
13
+ import { InsightsTimeframe, STATS_MAX_HEIGHT } from "../../shared/pmProgress.constants.js";
14
+ import { usePmProgress } from "../../context/PmProgressContext.js";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export const PmTimeframeStats = () => {
17
+ const t = useText();
18
+ const {
19
+ model
20
+ } = usePmProgress();
21
+ const timeframe = useUnit(model.insights.$timeframe);
22
+ const insights = useUnit(model.insights.$insights);
23
+ const OPTIONS = [{
24
+ key: InsightsTimeframe.WEEK,
25
+ title: t('pmProgress.thisWeek')
26
+ }, {
27
+ key: InsightsTimeframe.LAST_WEEK,
28
+ title: t('pmProgress.lastWeek')
29
+ }, {
30
+ key: InsightsTimeframe.ALL,
31
+ title: t('pmProgress.allTime')
32
+ }];
33
+ if (!insights) return null;
34
+ return /*#__PURE__*/_jsx(View, {
35
+ style: styles.container,
36
+ children: /*#__PURE__*/_jsxs(View, {
37
+ style: styles.content,
38
+ children: [/*#__PURE__*/_jsxs(View, {
39
+ style: styles.cards,
40
+ children: [/*#__PURE__*/_jsx(StatsCard, {
41
+ value: insights.numberOfStars,
42
+ label: t('pmProgress.stars'),
43
+ color: COLORS.PRIMARY_YELLOW,
44
+ icon: /*#__PURE__*/_jsx(StarIcon, {})
45
+ }), /*#__PURE__*/_jsx(StatsCard, {
46
+ value: formatTime(insights.timeInPracticeMs),
47
+ label: t('pmProgress.time'),
48
+ color: COLORS.PRIMARY_PURPLE,
49
+ icon: /*#__PURE__*/_jsx(TimerIcon, {})
50
+ })]
51
+ }), /*#__PURE__*/_jsx(SelectGroup, {
52
+ color: SelectOptionColor.GREY,
53
+ options: OPTIONS,
54
+ selectedOptions: OPTIONS.filter(({
55
+ key
56
+ }) => key === timeframe),
57
+ onOptionChange: ({
58
+ key
59
+ }) => model.insights.setTimeframe(key)
60
+ })]
61
+ })
62
+ });
63
+ };
64
+ const styles = StyleSheet.create({
65
+ container: {
66
+ maxHeight: STATS_MAX_HEIGHT,
67
+ height: '100%',
68
+ padding: SPACING[200],
69
+ backgroundColor: COLORS.NEUTRAL_1,
70
+ borderRadius: BORDER_RADIUS[300],
71
+ shadowColor: COLORS.NEUTRAL_9,
72
+ shadowOffset: {
73
+ width: 0,
74
+ height: 1
75
+ },
76
+ shadowOpacity: 0.1,
77
+ shadowRadius: 3,
78
+ elevation: 2
79
+ },
80
+ content: {
81
+ gap: SPACING[100],
82
+ marginBottom: 4
83
+ },
84
+ cards: {
85
+ flexDirection: 'row',
86
+ justifyContent: 'space-between',
87
+ gap: SPACING[300]
88
+ }
89
+ });
90
+ //# sourceMappingURL=PmTimeframeStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","COLORS","SelectGroup","SelectOptionColor","SPACING","StatsCard","StarIcon","TimerIcon","BORDER_RADIUS","useText","useUnit","formatTime","InsightsTimeframe","STATS_MAX_HEIGHT","usePmProgress","jsx","_jsx","jsxs","_jsxs","PmTimeframeStats","t","model","timeframe","insights","$timeframe","$insights","OPTIONS","key","WEEK","title","LAST_WEEK","ALL","style","styles","container","children","content","cards","value","numberOfStars","label","color","PRIMARY_YELLOW","icon","timeInPracticeMs","PRIMARY_PURPLE","GREY","options","selectedOptions","filter","onOptionChange","setTimeframe","create","maxHeight","height","padding","backgroundColor","NEUTRAL_1","borderRadius","shadowColor","NEUTRAL_9","shadowOffset","width","shadowOpacity","shadowRadius","elevation","gap","marginBottom","flexDirection","justifyContent"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/PmTimeframeStats.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, StyleSheet, Text } from 'react-native';
5
+ import { COLORS, FONT_FAMILY } from '@magmamath/react-native-ui';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const StatsCard = ({
8
+ value,
9
+ label,
10
+ color,
11
+ icon
12
+ }) => {
13
+ return /*#__PURE__*/_jsxs(View, {
14
+ style: [styles.card, {
15
+ borderColor: color
16
+ }],
17
+ children: [/*#__PURE__*/_jsx(View, {
18
+ style: [styles.iconContainer, {
19
+ backgroundColor: color
20
+ }],
21
+ children: icon
22
+ }), /*#__PURE__*/_jsxs(View, {
23
+ children: [/*#__PURE__*/_jsx(Text, {
24
+ style: [styles.value, {
25
+ color
26
+ }],
27
+ children: value
28
+ }), /*#__PURE__*/_jsx(Text, {
29
+ style: styles.label,
30
+ children: label
31
+ })]
32
+ })]
33
+ });
34
+ };
35
+ const styles = StyleSheet.create({
36
+ card: {
37
+ flex: 1,
38
+ height: 65,
39
+ alignItems: 'center',
40
+ flexDirection: 'row',
41
+ borderRadius: 12,
42
+ borderWidth: 4,
43
+ padding: 8,
44
+ gap: 8
45
+ },
46
+ iconContainer: {
47
+ width: 42,
48
+ height: 42,
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ borderRadius: 100
52
+ },
53
+ value: {
54
+ fontSize: 32,
55
+ fontWeight: '700',
56
+ fontFamily: FONT_FAMILY.buenosAires
57
+ },
58
+ label: {
59
+ color: COLORS.NEUTRAL_8,
60
+ fontSize: 12,
61
+ fontFamily: FONT_FAMILY.buenosAires,
62
+ top: -6
63
+ }
64
+ });
65
+ //# sourceMappingURL=StatsCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","StyleSheet","Text","COLORS","FONT_FAMILY","jsx","_jsx","jsxs","_jsxs","StatsCard","value","label","color","icon","style","styles","card","borderColor","children","iconContainer","backgroundColor","create","flex","height","alignItems","flexDirection","borderRadius","borderWidth","padding","gap","width","justifyContent","fontSize","fontWeight","fontFamily","buenosAires","NEUTRAL_8","top"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/StatsCard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,EAAEC,IAAI,QAAkB,cAAc;AAC/D,SAASC,MAAM,EAAEC,WAAW,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAShE,OAAO,MAAMC,SAAS,GAAGA,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAAqB,CAAC,KAAK;EAC1E,oBACEL,KAAA,CAACR,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,WAAW,EAAEL;IAAM,CAAC,CAAE;IAAAM,QAAA,gBACjDZ,IAAA,CAACN,IAAI;MAACc,KAAK,EAAE,CAACC,MAAM,CAACI,aAAa,EAAE;QAAEC,eAAe,EAAER;MAAM,CAAC,CAAE;MAAAM,QAAA,EAAEL;IAAI,CAAO,CAAC,eAC9EL,KAAA,CAACR,IAAI;MAAAkB,QAAA,gBACHZ,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAE,CAACC,MAAM,CAACL,KAAK,EAAE;UAAEE;QAAM,CAAC,CAAE;QAAAM,QAAA,EAAER;MAAK,CAAO,CAAC,eACtDJ,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAEC,MAAM,CAACJ,KAAM;QAAAO,QAAA,EAAEP;MAAK,CAAO,CAAC;IAAA,CACrC,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGd,UAAU,CAACoB,MAAM,CAAC;EAC/BL,IAAI,EAAE;IACJM,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,OAAO,EAAE,CAAC;IACVC,GAAG,EAAE;EACP,CAAC;EACDV,aAAa,EAAE;IACbW,KAAK,EAAE,EAAE;IACTP,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAQ;IACpBO,cAAc,EAAE,QAAQ;IACxBL,YAAY,EAAE;EAChB,CAAC;EACDhB,KAAK,EAAE;IACLsB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE9B,WAAW,CAAC+B;EAC1B,CAAC;EACDxB,KAAK,EAAE;IACLC,KAAK,EAAET,MAAM,CAACiC,SAAS;IACvBJ,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE9B,WAAW,CAAC+B,WAAW;IACnCE,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { ListCard } from "./ListCard.js";
6
+ import { COLORS, SPACING } from '@magmamath/react-native-ui';
7
+ import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
8
+ import { useText } from "../../../../shared/translation/index.js";
9
+ import { useUnit } from 'effector-react';
10
+ import { CustomDomain, SolvingFlow } from "../../shared/pmProgress.constants.js";
11
+ import { usePmProgress } from "../../context/PmProgressContext.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const Fluency = ({
14
+ data
15
+ }) => {
16
+ const t = useText();
17
+ const {
18
+ model,
19
+ onStandardPress
20
+ } = usePmProgress();
21
+ const highlightedId = useUnit(model.tree.$highlightedId);
22
+ if (!data) return null;
23
+ return /*#__PURE__*/_jsxs(View, {
24
+ style: styles.container,
25
+ children: [/*#__PURE__*/_jsx(View, {
26
+ style: styles.separator
27
+ }), /*#__PURE__*/_jsx(ListCard, {
28
+ title: t('pmProgress.fluency'),
29
+ items: data.standards.map(standard => ({
30
+ ...standard,
31
+ id: standard.standardId
32
+ })),
33
+ progress: data.scorePercentage,
34
+ color: COLORS.PRIMARY_ORANGE,
35
+ onPress: () => model.tree.setHighlightedId(CustomDomain.FLUENCY),
36
+ onItemPress: async item => {
37
+ const skill = await model.solving.start({
38
+ type: SolvingFlow.STANDARD,
39
+ standardId: item.standardId
40
+ });
41
+ // @ts-ignore
42
+ onStandardPress?.(skill);
43
+ },
44
+ isFirst: true,
45
+ isLast: true,
46
+ isExpanded: highlightedId === CustomDomain.FLUENCY,
47
+ icon: /*#__PURE__*/_jsx(SliceDiamondIcon, {
48
+ color: COLORS.PRIMARY_ORANGE
49
+ })
50
+ })]
51
+ });
52
+ };
53
+ const styles = StyleSheet.create({
54
+ container: {
55
+ marginBottom: SPACING[800]
56
+ },
57
+ separator: {
58
+ height: 1,
59
+ marginHorizontal: SPACING[100],
60
+ marginVertical: SPACING[200],
61
+ backgroundColor: COLORS.NEUTRAL_4
62
+ }
63
+ });
64
+ //# sourceMappingURL=Fluency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","ListCard","COLORS","SPACING","SliceDiamondIcon","useText","useUnit","CustomDomain","SolvingFlow","usePmProgress","jsx","_jsx","jsxs","_jsxs","Fluency","data","t","model","onStandardPress","highlightedId","tree","$highlightedId","style","styles","container","children","separator","title","items","standards","map","standard","id","standardId","progress","scorePercentage","color","PRIMARY_ORANGE","onPress","setHighlightedId","FLUENCY","onItemPress","item","skill","solving","start","type","STANDARD","isFirst","isLast","isExpanded","icon","create","marginBottom","height","marginHorizontal","marginVertical","backgroundColor","NEUTRAL_4"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/list/Fluency.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC5D,SAASC,gBAAgB,QAAQ,8CAA2C;AAC5E,SAASC,OAAO,QAAQ,yCAAgC;AACxD,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,YAAY,EAAEC,WAAW,QAAQ,sCAAmC;AAE7E,SAASC,aAAa,QAAQ,oCAAiC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM/D,OAAO,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAmB,CAAC,KAAK;EACjD,MAAMC,CAAC,GAAGX,OAAO,CAAC,CAAC;EACnB,MAAM;IAAEY,KAAK;IAAEC;EAAgB,CAAC,GAAGT,aAAa,CAAC,CAAC;EAClD,MAAMU,aAAa,GAAGb,OAAO,CAACW,KAAK,CAACG,IAAI,CAACC,cAAc,CAAC;EAExD,IAAI,CAACN,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACEF,KAAA,CAACb,IAAI;IAACsB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5Bd,IAAA,CAACX,IAAI;MAACsB,KAAK,EAAEC,MAAM,CAACG;IAAU,CAAE,CAAC,eACjCf,IAAA,CAACV,QAAQ;MACP0B,KAAK,EAAEX,CAAC,CAAC,oBAAoB,CAAE;MAC/BY,KAAK,EAAEb,IAAI,CAACc,SAAS,CAACC,GAAG,CAAEC,QAAQ,KAAM;QAAE,GAAGA,QAAQ;QAAEC,EAAE,EAAED,QAAQ,CAACE;MAAW,CAAC,CAAC,CAAE;MACpFC,QAAQ,EAAEnB,IAAI,CAACoB,eAAgB;MAC/BC,KAAK,EAAElC,MAAM,CAACmC,cAAe;MAC7BC,OAAO,EAAEA,CAAA,KAAMrB,KAAK,CAACG,IAAI,CAACmB,gBAAgB,CAAChC,YAAY,CAACiC,OAAO,CAAE;MACjEC,WAAW,EAAE,MAAOC,IAAI,IAAK;QAC3B,MAAMC,KAAK,GAAG,MAAM1B,KAAK,CAAC2B,OAAO,CAACC,KAAK,CAAC;UACtCC,IAAI,EAAEtC,WAAW,CAACuC,QAAQ;UAC1Bd,UAAU,EAAES,IAAI,CAACT;QACnB,CAAC,CAAC;QACF;QACAf,eAAe,GAAGyB,KAAK,CAAC;MAC1B,CAAE;MACFK,OAAO;MACPC,MAAM;MACNC,UAAU,EAAE/B,aAAa,KAAKZ,YAAY,CAACiC,OAAQ;MACnDW,IAAI,eAAExC,IAAA,CAACP,gBAAgB;QAACgC,KAAK,EAAElC,MAAM,CAACmC;MAAe,CAAE;IAAE,CAC1D,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGxB,UAAU,CAACqD,MAAM,CAAC;EAC/B5B,SAAS,EAAE;IACT6B,YAAY,EAAElD,OAAO,CAAC,GAAG;EAC3B,CAAC;EACDuB,SAAS,EAAE;IACT4B,MAAM,EAAE,CAAC;IACTC,gBAAgB,EAAEpD,OAAO,CAAC,GAAG,CAAC;IAC9BqD,cAAc,EAAErD,OAAO,CAAC,GAAG,CAAC;IAC5BsD,eAAe,EAAEvD,MAAM,CAACwD;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}