@magmamath/students-features 1.2.1-rc.2 → 1.2.1-rc.21

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 (434) 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 +23 -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 +77 -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 +70 -0
  36. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +94 -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 +69 -0
  42. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +198 -0
  44. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +121 -0
  46. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +89 -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/components/standard/StandardTag.js +202 -0
  52. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  54. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/index.js +56 -0
  56. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js +15 -0
  58. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  60. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  62. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +43 -0
  64. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  66. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +100 -0
  68. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +141 -0
  70. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +49 -0
  72. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  73. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +221 -0
  74. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  75. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  76. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  77. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +0 -5
  78. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  79. package/dist/commonjs/features/voice/types.js +0 -6
  80. package/dist/commonjs/features/voice/types.js.map +1 -1
  81. package/dist/commonjs/index.js +15 -3
  82. package/dist/commonjs/index.js.map +1 -1
  83. package/dist/commonjs/shared/icons/PentagonIcon.js +32 -0
  84. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  85. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  86. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  87. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +32 -0
  88. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  89. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  90. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  91. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  92. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  93. package/dist/commonjs/shared/translation/localization/ca.json +19 -0
  94. package/dist/commonjs/shared/translation/localization/de.json +19 -0
  95. package/dist/commonjs/shared/translation/localization/en.json +19 -0
  96. package/dist/commonjs/shared/translation/localization/gb.json +19 -0
  97. package/dist/commonjs/shared/translation/localization/sct.json +19 -0
  98. package/dist/commonjs/shared/translation/localization/sw.json +19 -0
  99. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  100. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  101. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  102. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  103. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  104. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  105. package/dist/module/features/pmProgress/PmProgress.js +56 -0
  106. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  107. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +16 -0
  108. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  109. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  110. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  111. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  112. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  113. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  114. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  115. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +71 -0
  116. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  117. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  118. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  119. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  120. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  121. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +76 -0
  122. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  123. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  124. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  125. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +20 -0
  126. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  127. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js +15 -0
  128. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  129. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  130. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  131. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +192 -0
  132. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  133. package/dist/module/features/pmProgress/components/insights/PmInsights.js +63 -0
  134. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  135. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +89 -0
  136. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  137. package/dist/module/features/pmProgress/components/insights/StatsCard.js +65 -0
  138. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  139. package/dist/module/features/pmProgress/components/list/Fluency.js +63 -0
  140. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  141. package/dist/module/features/pmProgress/components/list/ListCard.js +191 -0
  142. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  143. package/dist/module/features/pmProgress/components/list/ListItem.js +114 -0
  144. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  145. package/dist/module/features/pmProgress/components/list/PmDomainList.js +83 -0
  146. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  147. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +112 -0
  148. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  149. package/dist/module/features/pmProgress/components/standard/StandardTag.js +196 -0
  150. package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  151. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  152. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  153. package/dist/module/features/pmProgress/index.js +11 -0
  154. package/dist/module/features/pmProgress/index.js.map +1 -0
  155. package/dist/module/features/pmProgress/model/PmHighlightModel.js +10 -0
  156. package/dist/module/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  157. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  158. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  159. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  160. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  161. package/dist/module/features/pmProgress/model/PmProgressModel.js +38 -0
  162. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  163. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  164. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  165. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +95 -0
  166. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  167. package/dist/module/features/pmProgress/model/PmTreeModel.js +136 -0
  168. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  169. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +46 -0
  170. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  171. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +202 -0
  172. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  173. package/dist/module/features/pmProgress/shared/pmProgress.types.js +10 -0
  174. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  175. package/dist/module/features/voice/recording/model/VoiceRecord.model.js +0 -5
  176. package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  177. package/dist/module/features/voice/types.js +1 -5
  178. package/dist/module/features/voice/types.js.map +1 -1
  179. package/dist/module/index.js +1 -0
  180. package/dist/module/index.js.map +1 -1
  181. package/dist/module/shared/icons/PentagonIcon.js +24 -0
  182. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  183. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  184. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  185. package/dist/module/shared/icons/SliceDiamondIcon.js +24 -0
  186. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  187. package/dist/module/shared/icons/StarIcon.js +24 -0
  188. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  189. package/dist/module/shared/icons/TimerIcon.js +27 -0
  190. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  191. package/dist/module/shared/translation/localization/ca.json +19 -0
  192. package/dist/module/shared/translation/localization/de.json +19 -0
  193. package/dist/module/shared/translation/localization/en.json +19 -0
  194. package/dist/module/shared/translation/localization/gb.json +19 -0
  195. package/dist/module/shared/translation/localization/sct.json +19 -0
  196. package/dist/module/shared/translation/localization/sw.json +19 -0
  197. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  198. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  199. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  200. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  201. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  202. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  203. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  204. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  205. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  206. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  207. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  208. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  209. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  210. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  211. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  212. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  214. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  215. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  216. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  217. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  218. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  219. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  220. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  221. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  222. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  223. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  224. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  225. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  226. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  227. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  228. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  229. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  230. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  232. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  234. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +30 -0
  236. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  237. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +11 -0
  238. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  240. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  242. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  244. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  246. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +6 -0
  248. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  250. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  252. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  254. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  256. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  258. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +20 -0
  260. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +19 -0
  262. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +36 -0
  264. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +64 -0
  266. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +187 -0
  268. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  270. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  271. package/dist/typescript/commonjs/features/voice/types.d.ts +0 -4
  272. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  273. package/dist/typescript/commonjs/index.d.ts +1 -0
  274. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  276. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  278. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  280. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  281. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  282. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  283. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  284. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/shared/translation/constants.d.ts +114 -0
  286. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  287. package/dist/typescript/commonjs/shared/translation/model.d.ts +38 -0
  288. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  289. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  290. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  291. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  292. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  293. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  294. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  295. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  296. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  297. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  298. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  299. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  300. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  301. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  302. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  303. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  304. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  305. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  306. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  307. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  308. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  309. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  310. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  311. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  312. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  313. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  314. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  315. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  316. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  317. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  318. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  319. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  320. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  321. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  322. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  323. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  324. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  325. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  326. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  327. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +30 -0
  328. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  329. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +11 -0
  330. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  331. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  332. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  333. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  334. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  335. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  336. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  337. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  338. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  339. package/dist/typescript/module/features/pmProgress/index.d.ts +6 -0
  340. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  341. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  342. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  343. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  344. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  345. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  346. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  347. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  348. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  349. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  350. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  351. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +20 -0
  352. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  353. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +19 -0
  354. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  355. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +36 -0
  356. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  357. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +64 -0
  358. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  359. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +187 -0
  360. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  361. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  362. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  363. package/dist/typescript/module/features/voice/types.d.ts +0 -4
  364. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  365. package/dist/typescript/module/index.d.ts +1 -0
  366. package/dist/typescript/module/index.d.ts.map +1 -1
  367. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  368. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  369. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  370. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  371. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  372. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  373. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  374. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  375. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  376. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  377. package/dist/typescript/module/shared/translation/constants.d.ts +114 -0
  378. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  379. package/dist/typescript/module/shared/translation/model.d.ts +38 -0
  380. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  381. package/package.json +23 -12
  382. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  383. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  384. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  385. package/src/features/pmProgress/PmProgress.tsx +52 -0
  386. package/src/features/pmProgress/__tests__/.keep +0 -0
  387. package/src/features/pmProgress/components/chart/chart.helpers.ts +15 -0
  388. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  389. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  390. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  391. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +86 -0
  392. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  393. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  394. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +88 -0
  395. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  396. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +20 -0
  397. package/src/features/pmProgress/components/chart/model/SliceHighlight.ts +17 -0
  398. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  399. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +187 -0
  400. package/src/features/pmProgress/components/insights/PmInsights.tsx +58 -0
  401. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +83 -0
  402. package/src/features/pmProgress/components/insights/StatsCard.tsx +53 -0
  403. package/src/features/pmProgress/components/list/Fluency.tsx +58 -0
  404. package/src/features/pmProgress/components/list/ListCard.tsx +231 -0
  405. package/src/features/pmProgress/components/list/ListItem.tsx +136 -0
  406. package/src/features/pmProgress/components/list/PmDomainList.tsx +69 -0
  407. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +109 -0
  408. package/src/features/pmProgress/components/standard/StandardTag.tsx +177 -0
  409. package/src/features/pmProgress/context/PmProgressContext.tsx +23 -0
  410. package/src/features/pmProgress/index.ts +8 -0
  411. package/src/features/pmProgress/model/PmHighlightModel.ts +11 -0
  412. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  413. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  414. package/src/features/pmProgress/model/PmProgressModel.ts +48 -0
  415. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  416. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +131 -0
  417. package/src/features/pmProgress/model/PmTreeModel.ts +130 -0
  418. package/src/features/pmProgress/shared/pmProgress.constants.ts +88 -0
  419. package/src/features/pmProgress/shared/pmProgress.helpers.ts +271 -0
  420. package/src/features/pmProgress/shared/pmProgress.types.ts +210 -0
  421. package/src/features/voice/recording/model/VoiceRecord.model.ts +0 -7
  422. package/src/features/voice/types.ts +0 -5
  423. package/src/index.ts +1 -0
  424. package/src/shared/icons/PentagonIcon.tsx +17 -0
  425. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  426. package/src/shared/icons/SliceDiamondIcon.tsx +16 -0
  427. package/src/shared/icons/StarIcon.tsx +17 -0
  428. package/src/shared/icons/TimerIcon.tsx +21 -0
  429. package/src/shared/translation/localization/ca.json +19 -0
  430. package/src/shared/translation/localization/de.json +19 -0
  431. package/src/shared/translation/localization/en.json +19 -0
  432. package/src/shared/translation/localization/gb.json +19 -0
  433. package/src/shared/translation/localization/sct.json +19 -0
  434. package/src/shared/translation/localization/sw.json +19 -0
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View, Text } from 'react-native';
5
+ import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
6
+ import { COLORS, FONT_FAMILY } from '@magmamath/react-native-ui';
7
+ import { useStoreMap } from 'effector-react';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const DOMAIN_COLOR_PRESETS = {
10
+ [COLORS.PRIMARY_RED]: {
11
+ background: COLORS.RED_1,
12
+ titleColor: COLORS.RED_6,
13
+ tagColor: COLORS.PRIMARY_RED
14
+ },
15
+ [COLORS.PRIMARY_MAGENTA]: {
16
+ background: COLORS.MAGENTA_1,
17
+ titleColor: COLORS.MAGENTA_6,
18
+ tagColor: COLORS.PRIMARY_MAGENTA
19
+ },
20
+ [COLORS.PRIMARY_PURPLE]: {
21
+ background: COLORS.PURPLE_1,
22
+ titleColor: COLORS.PURPLE_6,
23
+ tagColor: COLORS.PRIMARY_PURPLE
24
+ },
25
+ [COLORS.PRIMARY_INDIGO]: {
26
+ background: COLORS.INDIGO_1,
27
+ titleColor: COLORS.INDIGO_6,
28
+ tagColor: COLORS.PRIMARY_INDIGO
29
+ },
30
+ [COLORS.PRIMARY_TURQUOISE]: {
31
+ background: COLORS.TURQUOISE_1,
32
+ titleColor: COLORS.TURQUOISE_6,
33
+ tagColor: COLORS.PRIMARY_TURQUOISE
34
+ },
35
+ [COLORS.PRIMARY_GREEN]: {
36
+ background: COLORS.GREEN_1,
37
+ titleColor: COLORS.GREEN_6,
38
+ tagColor: COLORS.PRIMARY_GREEN
39
+ },
40
+ [COLORS.PRIMARY_ORANGE]: {
41
+ background: COLORS.ORANGE_1,
42
+ titleColor: COLORS.ORANGE_6,
43
+ tagColor: COLORS.PRIMARY_ORANGE
44
+ },
45
+ [COLORS.RED_4]: {
46
+ background: COLORS.RED_1,
47
+ titleColor: COLORS.RED_6,
48
+ tagColor: COLORS.RED_4
49
+ },
50
+ [COLORS.MAGENTA_4]: {
51
+ background: COLORS.MAGENTA_1,
52
+ titleColor: COLORS.MAGENTA_6,
53
+ tagColor: COLORS.MAGENTA_4
54
+ },
55
+ [COLORS.PURPLE_4]: {
56
+ background: COLORS.PURPLE_1,
57
+ titleColor: COLORS.PURPLE_6,
58
+ tagColor: COLORS.PURPLE_4
59
+ },
60
+ [COLORS.INDIGO_4]: {
61
+ background: COLORS.INDIGO_1,
62
+ titleColor: COLORS.INDIGO_6,
63
+ tagColor: COLORS.INDIGO_4
64
+ },
65
+ [COLORS.TURQUOISE_4]: {
66
+ background: COLORS.TURQUOISE_1,
67
+ titleColor: COLORS.TURQUOISE_6,
68
+ tagColor: COLORS.TURQUOISE_4
69
+ },
70
+ [COLORS.GREEN_4]: {
71
+ background: COLORS.GREEN_1,
72
+ titleColor: COLORS.GREEN_6,
73
+ tagColor: COLORS.GREEN_4
74
+ },
75
+ [COLORS.ORANGE_4]: {
76
+ background: COLORS.ORANGE_1,
77
+ titleColor: COLORS.ORANGE_6,
78
+ tagColor: COLORS.ORANGE_4
79
+ },
80
+ [COLORS.RED_6]: {
81
+ background: COLORS.RED_1,
82
+ titleColor: COLORS.RED_6,
83
+ tagColor: COLORS.RED_6
84
+ },
85
+ [COLORS.MAGENTA_6]: {
86
+ background: COLORS.MAGENTA_1,
87
+ titleColor: COLORS.MAGENTA_6,
88
+ tagColor: COLORS.MAGENTA_6
89
+ },
90
+ [COLORS.PURPLE_6]: {
91
+ background: COLORS.PURPLE_1,
92
+ titleColor: COLORS.PURPLE_6,
93
+ tagColor: COLORS.PURPLE_6
94
+ },
95
+ [COLORS.INDIGO_6]: {
96
+ background: COLORS.INDIGO_1,
97
+ titleColor: COLORS.INDIGO_6,
98
+ tagColor: COLORS.INDIGO_6
99
+ },
100
+ [COLORS.TURQUOISE_6]: {
101
+ background: COLORS.TURQUOISE_1,
102
+ titleColor: COLORS.TURQUOISE_6,
103
+ tagColor: COLORS.TURQUOISE_6
104
+ },
105
+ [COLORS.GREEN_6]: {
106
+ background: COLORS.GREEN_1,
107
+ titleColor: COLORS.GREEN_6,
108
+ tagColor: COLORS.GREEN_6
109
+ },
110
+ [COLORS.ORANGE_6]: {
111
+ background: COLORS.ORANGE_1,
112
+ titleColor: COLORS.ORANGE_6,
113
+ tagColor: COLORS.ORANGE_6
114
+ }
115
+ };
116
+ export const StandardTag = ({
117
+ skillId,
118
+ model
119
+ }) => {
120
+ const standardInfo = useStoreMap({
121
+ store: model.tree.$domains,
122
+ keys: [skillId],
123
+ fn: (domains, [skillId]) => {
124
+ const domain = domains.find(d => d.standards.some(s => s.skillIds.includes(skillId)));
125
+ const standard = domain?.standards.find(({
126
+ skillIds
127
+ }) => skillIds.includes(skillId));
128
+ if (!standard || !domain) return null;
129
+ return {
130
+ title: standard.title,
131
+ tag: standard.subtitle,
132
+ color: domain.color
133
+ };
134
+ }
135
+ });
136
+ if (!standardInfo) return null;
137
+ const preset = DOMAIN_COLOR_PRESETS[standardInfo.color];
138
+ return /*#__PURE__*/_jsxs(View, {
139
+ style: [styles.container, {
140
+ backgroundColor: preset.background
141
+ }],
142
+ children: [/*#__PURE__*/_jsx(SliceDiamondIcon, {
143
+ color: preset.tagColor
144
+ }), /*#__PURE__*/_jsxs(View, {
145
+ style: styles.textContainer,
146
+ children: [/*#__PURE__*/_jsx(Text, {
147
+ numberOfLines: 1,
148
+ style: [styles.title, {
149
+ color: preset.titleColor
150
+ }],
151
+ children: standardInfo.title
152
+ }), /*#__PURE__*/_jsx(Text, {
153
+ numberOfLines: 1,
154
+ style: [styles.tag, {
155
+ color: preset.tagColor
156
+ }],
157
+ children: standardInfo.tag
158
+ })]
159
+ })]
160
+ });
161
+ };
162
+ const styles = StyleSheet.create({
163
+ container: {
164
+ minWidth: 175,
165
+ maxWidth: 200,
166
+ paddingHorizontal: 8,
167
+ paddingVertical: 4,
168
+ borderRadius: 12,
169
+ flexDirection: 'row',
170
+ alignItems: 'center',
171
+ gap: 8,
172
+ alignSelf: 'flex-start',
173
+ shadowColor: '#333333',
174
+ shadowOffset: {
175
+ width: 0,
176
+ height: 1
177
+ },
178
+ shadowOpacity: 0.1,
179
+ shadowRadius: 3,
180
+ elevation: 2
181
+ },
182
+ textContainer: {
183
+ flexDirection: 'column',
184
+ justifyContent: 'center',
185
+ alignItems: 'flex-start'
186
+ },
187
+ title: {
188
+ fontSize: 13,
189
+ fontFamily: FONT_FAMILY.buenosAires
190
+ },
191
+ tag: {
192
+ fontSize: 10,
193
+ fontFamily: FONT_FAMILY.buenosAires
194
+ }
195
+ });
196
+ //# sourceMappingURL=StandardTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","Text","SliceDiamondIcon","COLORS","FONT_FAMILY","useStoreMap","jsx","_jsx","jsxs","_jsxs","DOMAIN_COLOR_PRESETS","PRIMARY_RED","background","RED_1","titleColor","RED_6","tagColor","PRIMARY_MAGENTA","MAGENTA_1","MAGENTA_6","PRIMARY_PURPLE","PURPLE_1","PURPLE_6","PRIMARY_INDIGO","INDIGO_1","INDIGO_6","PRIMARY_TURQUOISE","TURQUOISE_1","TURQUOISE_6","PRIMARY_GREEN","GREEN_1","GREEN_6","PRIMARY_ORANGE","ORANGE_1","ORANGE_6","RED_4","MAGENTA_4","PURPLE_4","INDIGO_4","TURQUOISE_4","GREEN_4","ORANGE_4","StandardTag","skillId","model","standardInfo","store","tree","$domains","keys","fn","domains","domain","find","d","standards","some","s","skillIds","includes","standard","title","tag","subtitle","color","preset","style","styles","container","backgroundColor","children","textContainer","numberOfLines","create","minWidth","maxWidth","paddingHorizontal","paddingVertical","borderRadius","flexDirection","alignItems","gap","alignSelf","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","justifyContent","fontSize","fontFamily","buenosAires"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/standard/StandardTag.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from 'react';
4
+ const PmProgressContext = /*#__PURE__*/createContext(null);
5
+ export function usePmProgress() {
6
+ const value = useContext(PmProgressContext);
7
+ if (!value) {
8
+ throw new Error('usePmProgress must be used within PmProgressProvider');
9
+ }
10
+ return value;
11
+ }
12
+ export const PmProgressProvider = PmProgressContext.Provider;
13
+ //# sourceMappingURL=PmProgressContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","PmProgressContext","usePmProgress","value","Error","PmProgressProvider","Provider"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/context/PmProgressContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAYjD,MAAMC,iBAAiB,gBAAGF,aAAa,CAAgC,IAAI,CAAC;AAE5E,OAAO,SAASG,aAAaA,CAAA,EAA2B;EACtD,MAAMC,KAAK,GAAGH,UAAU,CAACC,iBAAiB,CAAC;EAC3C,IAAI,CAACE,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,OAAOD,KAAK;AACd;AAEA,OAAO,MAAME,kBAAkB,GAAGJ,iBAAiB,CAACK,QAAQ","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ export { PmProgress } from "./PmProgress.js";
4
+ export { PmProgressModel } from "./model/PmProgressModel.js";
5
+ export { StandardTag } from "./components/standard/StandardTag.js";
6
+ export * from "./shared/pmProgress.types.js";
7
+ export * from "./shared/pmProgress.constants.js";
8
+
9
+ // TODO:
10
+ // !!! case when card is failed and easier card suggested !!!
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PmProgress","PmProgressModel","StandardTag"],"sourceRoot":"../../../../src","sources":["features/pmProgress/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,eAAe,QAAQ,4BAAyB;AACzD,SAASC,WAAW,QAAQ,sCAAmC;AAC/D,cAAc,8BAA2B;AACzC,cAAc,kCAA+B;;AAE7C;AACA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { createEvent, createStore, restore } from 'effector';
4
+ export class PmHighlightModel {
5
+ expand = createEvent();
6
+ hover = createEvent();
7
+ $hoveredId = restore(this.hover, null);
8
+ $expandedId = createStore(null).on(this.expand, (current, id) => current === id ? null : id);
9
+ }
10
+ //# sourceMappingURL=PmHighlightModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEvent","createStore","restore","PmHighlightModel","expand","hover","$hoveredId","$expandedId","on","current","id"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmHighlightModel.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAE5D,OAAO,MAAMC,gBAAgB,CAAC;EACZC,MAAM,GAAGJ,WAAW,CAAS,CAAC;EAC9BK,KAAK,GAAGL,WAAW,CAAgB,CAAC;EAEpCM,UAAU,GAAGJ,OAAO,CAAC,IAAI,CAACG,KAAK,EAAE,IAAI,CAAC;EACtCE,WAAW,GAAGN,WAAW,CAAgB,IAAI,CAAC,CAACO,EAAE,CAAC,IAAI,CAACJ,MAAM,EAAE,CAACK,OAAO,EAAEC,EAAE,KACzFD,OAAO,KAAKC,EAAE,GAAG,IAAI,GAAGA,EAC1B,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { combine, createEvent, createStore, restore } from 'effector';
4
+ import { InsightsTimeframe } from "../shared/pmProgress.constants.js";
5
+ export class PmInsightsModel {
6
+ setTimeframe = createEvent();
7
+ $data = createStore(null);
8
+ $timeframe = restore(this.setTimeframe, InsightsTimeframe.WEEK);
9
+ $insights = combine(this.$data, this.$timeframe, (stats, timeframe) => {
10
+ return stats ? stats[timeframe] : null;
11
+ });
12
+ constructor(api) {
13
+ this.api = api;
14
+ this.$data.on(this.api.getUserInsightsFx.doneData, (_, response) => response.practiceModeStatsByTimeFrame);
15
+ }
16
+ }
17
+ //# sourceMappingURL=PmInsightsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["combine","createEvent","createStore","restore","InsightsTimeframe","PmInsightsModel","setTimeframe","$data","$timeframe","WEEK","$insights","stats","timeframe","constructor","api","on","getUserInsightsFx","doneData","_","response","practiceModeStatsByTimeFrame"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmInsightsModel.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAGrE,SAASC,iBAAiB,QAAQ,mCAAgC;AAElE,OAAO,MAAMC,eAAe,CAAC;EACXC,YAAY,GAAGL,WAAW,CAAoB,CAAC;EAE9CM,KAAK,GAAGL,WAAW,CAClC,IACF,CAAC;EACeM,UAAU,GAAGL,OAAO,CAAC,IAAI,CAACG,YAAY,EAAEF,iBAAiB,CAACK,IAAI,CAAC;EAC/DC,SAAS,GAAGV,OAAO,CAAC,IAAI,CAACO,KAAK,EAAE,IAAI,CAACC,UAAU,EAAE,CAACG,KAAK,EAAEC,SAAS,KAAK;IACrF,OAAOD,KAAK,GAAGA,KAAK,CAACC,SAAS,CAAC,GAAG,IAAI;EACxC,CAAC,CAAC;EAEFC,WAAWA,CAAkBC,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IAC7C,IAAI,CAACP,KAAK,CAACQ,EAAE,CACX,IAAI,CAACD,GAAG,CAACE,iBAAiB,CAACC,QAAQ,EACnC,CAACC,CAAC,EAAEC,QAAQ,KAAKA,QAAQ,CAACC,4BAC5B,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ import { createEffect } from 'effector';
4
+ export class PmProgressApi {
5
+ constructor(props) {
6
+ this.getTreeFx = createEffect(props.getTree);
7
+ this.getStatisticsFx = createEffect(props.getStatistics);
8
+ this.getTeacherRecsFx = createEffect(props.getTeacherRecs);
9
+ this.getMagmaRecsFx = createEffect(props.getMagmaRecs);
10
+ this.getUserInsightsFx = createEffect(() => props.getUserInsights());
11
+ }
12
+ }
13
+ //# sourceMappingURL=PmProgressApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEffect","PmProgressApi","constructor","props","getTreeFx","getTree","getStatisticsFx","getStatistics","getTeacherRecsFx","getTeacherRecs","getMagmaRecsFx","getMagmaRecs","getUserInsightsFx","getUserInsights"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmProgressApi.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,UAAU;AAmBvC,OAAO,MAAMC,aAAa,CAAC;EAOzBC,WAAWA,CAACC,KAAyB,EAAE;IACrC,IAAI,CAACC,SAAS,GAAGJ,YAAY,CAACG,KAAK,CAACE,OAAO,CAAC;IAC5C,IAAI,CAACC,eAAe,GAAGN,YAAY,CAACG,KAAK,CAACI,aAAa,CAAC;IACxD,IAAI,CAACC,gBAAgB,GAAGR,YAAY,CAACG,KAAK,CAACM,cAAc,CAAC;IAC1D,IAAI,CAACC,cAAc,GAAGV,YAAY,CAACG,KAAK,CAACQ,YAAY,CAAC;IACtD,IAAI,CAACC,iBAAiB,GAAGZ,YAAY,CAAC,MAAMG,KAAK,CAACU,eAAe,CAAC,CAAC,CAAC;EACtE;AACF","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ import { sample } from 'effector';
4
+ import { createGate } from 'effector-react';
5
+ import { PmProgressApi } from "./PmProgressApi.js";
6
+ import { PmTreeModel } from "./PmTreeModel.js";
7
+ import { PmInsightsModel } from "./PmInsightsModel.js";
8
+ import { PmRecommendationsModel } from "./PmRecommendationsModel.js";
9
+ import { PmSolvingFlowModel } from "./PmSolvingFlowModel.js";
10
+ import { PmHighlightModel } from "./PmHighlightModel.js";
11
+ export class PmProgressModel {
12
+ gate = createGate();
13
+ constructor({
14
+ api
15
+ }) {
16
+ this.api = new PmProgressApi(api);
17
+ this.highlight = new PmHighlightModel();
18
+ this.insights = new PmInsightsModel(this.api);
19
+ this.tree = new PmTreeModel(this.api);
20
+ this.recommendations = new PmRecommendationsModel(this.api);
21
+ this.solving = new PmSolvingFlowModel(this.tree, this.recommendations);
22
+ this.init();
23
+ }
24
+ init() {
25
+ sample({
26
+ clock: this.gate.open,
27
+ target: [this.tree.initTreeFx, this.api.getUserInsightsFx]
28
+ });
29
+ sample({
30
+ clock: this.tree.initTreeFx.done,
31
+ fn: ({
32
+ result: [tree]
33
+ }) => tree,
34
+ target: this.recommendations.initRecommendationsFx
35
+ });
36
+ }
37
+ }
38
+ //# sourceMappingURL=PmProgressModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sample","createGate","PmProgressApi","PmTreeModel","PmInsightsModel","PmRecommendationsModel","PmSolvingFlowModel","PmHighlightModel","PmProgressModel","gate","constructor","api","highlight","insights","tree","recommendations","solving","init","clock","open","target","initTreeFx","getUserInsightsFx","done","fn","result","initRecommendationsFx"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmProgressModel.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,SAASC,aAAa,QAAiC,oBAAiB;AACxE,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AAMrD,OAAO,MAAMC,eAAe,CAAC;EACXC,IAAI,GAAGR,UAAU,CAAsB,CAAC;EASxDS,WAAWA,CAAC;IAAEC;EAA0B,CAAC,EAAE;IACzC,IAAI,CAACA,GAAG,GAAG,IAAIT,aAAa,CAACS,GAAG,CAAC;IACjC,IAAI,CAACC,SAAS,GAAG,IAAIL,gBAAgB,CAAC,CAAC;IACvC,IAAI,CAACM,QAAQ,GAAG,IAAIT,eAAe,CAAC,IAAI,CAACO,GAAG,CAAC;IAC7C,IAAI,CAACG,IAAI,GAAG,IAAIX,WAAW,CAAC,IAAI,CAACQ,GAAG,CAAC;IACrC,IAAI,CAACI,eAAe,GAAG,IAAIV,sBAAsB,CAAC,IAAI,CAACM,GAAG,CAAC;IAC3D,IAAI,CAACK,OAAO,GAAG,IAAIV,kBAAkB,CAAC,IAAI,CAACQ,IAAI,EAAE,IAAI,CAACC,eAAe,CAAC;IAEtE,IAAI,CAACE,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACbjB,MAAM,CAAC;MACLkB,KAAK,EAAE,IAAI,CAACT,IAAI,CAACU,IAAI;MACrBC,MAAM,EAAE,CAAC,IAAI,CAACN,IAAI,CAACO,UAAU,EAAE,IAAI,CAACV,GAAG,CAACW,iBAAiB;IAC3D,CAAC,CAAC;IAEFtB,MAAM,CAAC;MACLkB,KAAK,EAAE,IAAI,CAACJ,IAAI,CAACO,UAAU,CAACE,IAAI;MAChCC,EAAE,EAAEA,CAAC;QAAEC,MAAM,EAAE,CAACX,IAAI;MAAE,CAAC,KAAKA,IAAI;MAChCM,MAAM,EAAE,IAAI,CAACL,eAAe,CAACW;IAC/B,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ import { createEffect, createStore } from 'effector';
4
+ import { RECOMMENDATIONS_LIMIT_PARAM, SolvingFlow } from "../shared/pmProgress.constants.js";
5
+ const INITIAL_RECOMMENDATION_STATE = {
6
+ items: [],
7
+ offset: 0,
8
+ limit: 0,
9
+ total: 0
10
+ };
11
+ export class PmRecommendationsModel {
12
+ $teacher = createStore(INITIAL_RECOMMENDATION_STATE);
13
+ $magma = createStore(INITIAL_RECOMMENDATION_STATE);
14
+ constructor(api) {
15
+ this.api = api;
16
+ this.$teacher.on(this.fetchTeacherRecsFx.doneData, (_, data) => data);
17
+ this.$magma.on(this.fetchMagmaRecsFx.doneData, (_, data) => data);
18
+ }
19
+ fetchTeacherRecsFx = createEffect(tree => this.fetchRecs(tree, SolvingFlow.TEACHER, () => this.api.getTeacherRecsFx({
20
+ limit: RECOMMENDATIONS_LIMIT_PARAM
21
+ })));
22
+ fetchMagmaRecsFx = createEffect(tree => this.fetchRecs(tree, SolvingFlow.MAGMA, () => this.api.getMagmaRecsFx({
23
+ limit: RECOMMENDATIONS_LIMIT_PARAM
24
+ })));
25
+ initRecommendationsFx = createEffect(tree => Promise.all([this.fetchTeacherRecsFx(tree), this.fetchMagmaRecsFx(tree)]));
26
+ fetchRecs = async (tree, type, fetcher) => {
27
+ const recommendations = await fetcher();
28
+ return {
29
+ ...recommendations,
30
+ items: recommendations.items.flatMap(({
31
+ skillId
32
+ }) => {
33
+ const skill = tree.skillsMapping[skillId];
34
+ return skill ? [{
35
+ ...skill,
36
+ type
37
+ }] : [];
38
+ })
39
+ };
40
+ };
41
+ }
42
+ //# sourceMappingURL=PmRecommendationsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEffect","createStore","RECOMMENDATIONS_LIMIT_PARAM","SolvingFlow","INITIAL_RECOMMENDATION_STATE","items","offset","limit","total","PmRecommendationsModel","$teacher","$magma","constructor","api","on","fetchTeacherRecsFx","doneData","_","data","fetchMagmaRecsFx","tree","fetchRecs","TEACHER","getTeacherRecsFx","MAGMA","getMagmaRecsFx","initRecommendationsFx","Promise","all","type","fetcher","recommendations","flatMap","skillId","skill","skillsMapping"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmRecommendationsModel.ts"],"mappings":";;AACA,SAASA,YAAY,EAAEC,WAAW,QAAQ,UAAU;AAEpD,SAASC,2BAA2B,EAAEC,WAAW,QAAQ,mCAAgC;AAEzF,MAAMC,4BAA6C,GAAG;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC;AAElG,OAAO,MAAMC,sBAAsB,CAAC;EAClBC,QAAQ,GAAGT,WAAW,CAAkBG,4BAA4B,CAAC;EACrEO,MAAM,GAAGV,WAAW,CAAkBG,4BAA4B,CAAC;EAEnFQ,WAAWA,CAAkBC,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IAC7C,IAAI,CAACH,QAAQ,CAACI,EAAE,CAAC,IAAI,CAACC,kBAAkB,CAACC,QAAQ,EAAE,CAACC,CAAC,EAAEC,IAAI,KAAKA,IAAI,CAAC;IACrE,IAAI,CAACP,MAAM,CAACG,EAAE,CAAC,IAAI,CAACK,gBAAgB,CAACH,QAAQ,EAAE,CAACC,CAAC,EAAEC,IAAI,KAAKA,IAAI,CAAC;EACnE;EAEgBH,kBAAkB,GAAGf,YAAY,CAAEoB,IAAyB,IAC1E,IAAI,CAACC,SAAS,CAACD,IAAI,EAAEjB,WAAW,CAACmB,OAAO,EAAE,MACxC,IAAI,CAACT,GAAG,CAACU,gBAAgB,CAAC;IAAEhB,KAAK,EAAEL;EAA4B,CAAC,CAClE,CACF,CAAC;EAEeiB,gBAAgB,GAAGnB,YAAY,CAAEoB,IAAyB,IACxE,IAAI,CAACC,SAAS,CAACD,IAAI,EAAEjB,WAAW,CAACqB,KAAK,EAAE,MACtC,IAAI,CAACX,GAAG,CAACY,cAAc,CAAC;IAAElB,KAAK,EAAEL;EAA4B,CAAC,CAChE,CACF,CAAC;EAEewB,qBAAqB,GAAG1B,YAAY,CAAEoB,IAAyB,IAC7EO,OAAO,CAACC,GAAG,CAAC,CAAC,IAAI,CAACb,kBAAkB,CAACK,IAAI,CAAC,EAAE,IAAI,CAACD,gBAAgB,CAACC,IAAI,CAAC,CAAC,CAC1E,CAAC;EAEOC,SAAS,GAAG,MAAAA,CAClBD,IAAyB,EACzBS,IAAiB,EACjBC,OAAoC,KACjC;IACH,MAAMC,eAAe,GAAG,MAAMD,OAAO,CAAC,CAAC;IACvC,OAAO;MACL,GAAGC,eAAe;MAClB1B,KAAK,EAAE0B,eAAe,CAAC1B,KAAK,CAAC2B,OAAO,CAAC,CAAC;QAAEC;MAAQ,CAAC,KAAK;QACpD,MAAMC,KAAK,GAAGd,IAAI,CAACe,aAAa,CAACF,OAAO,CAAC;QACzC,OAAOC,KAAK,GAAG,CAAC;UAAE,GAAGA,KAAK;UAAEL;QAAK,CAAC,CAAC,GAAG,EAAE;MAC1C,CAAC;IACH,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ import { createEvent, restore } from 'effector';
4
+ import { persist } from 'effector-storage/session';
5
+ import { SessionStorageKeys, SolvingFlow } from "../shared/pmProgress.constants.js";
6
+ import { getAllUncompletedSkills, getDomainStructure, getUncompletedSkillsFromDomain, getUncompletedSkillsFromStandard, startGradesFrom, shiftToBeginningOfArray, withoutDuplicates } from "../shared/pmProgress.helpers.js";
7
+ import { enhanceProgressMatrixData } from '@matteappen/skills-utils';
8
+ export class PmSolvingFlowModel {
9
+ reset = createEvent();
10
+ setQueue = createEvent();
11
+ advance = createEvent();
12
+ $queue = restore(this.setQueue, []).on(this.advance, queue => queue.slice(1)).reset(this.reset);
13
+ constructor(treeModel, recommendationsModel) {
14
+ this.treeModel = treeModel;
15
+ this.recommendationsModel = recommendationsModel;
16
+ persist({
17
+ key: SessionStorageKeys.SOLVING_QUEUE,
18
+ store: this.$queue
19
+ });
20
+ }
21
+ async start(props) {
22
+ const buildQueue = await this.getBuilder(props);
23
+ const queue = buildQueue[props.type]();
24
+ this.setQueue(queue);
25
+ console.log('queue', queue);
26
+ return queue[0];
27
+ }
28
+ async next() {
29
+ this.advance();
30
+ return this.$queue.getState()[0];
31
+ }
32
+ buildTeacherQueue({
33
+ domains,
34
+ context,
35
+ skillId
36
+ }) {
37
+ const teacherSkills = this.recommendationsModel.$teacher.getState().items;
38
+ const magmaRecommendations = this.recommendationsModel.$magma.getState().items;
39
+ const fromUncompletedDomains = getAllUncompletedSkills(domains, context.tree.skillsMapping);
40
+ const teacherRecommendations = skillId ? shiftToBeginningOfArray(skillId, teacherSkills) : teacherSkills;
41
+ return withoutDuplicates([...teacherRecommendations, ...magmaRecommendations, ...fromUncompletedDomains]);
42
+ }
43
+ buildMagmaQueue({
44
+ domains,
45
+ context
46
+ }) {
47
+ const magmaRecommendations = this.recommendationsModel.$magma.getState().items;
48
+ const fromUncompletedDomains = getAllUncompletedSkills(domains, context.tree.skillsMapping);
49
+ return withoutDuplicates([...magmaRecommendations, ...fromUncompletedDomains]);
50
+ }
51
+ buildStandardQueue({
52
+ domains,
53
+ context,
54
+ standardId
55
+ }) {
56
+ const domain = domains.find(d => d.standards.some(s => s.standardId === standardId));
57
+ if (!domain) return [];
58
+ const standard = domain.standards.find(s => s.standardId === standardId);
59
+ if (!standard) return [];
60
+ const fromStandard = getUncompletedSkillsFromStandard(standard, context.tree.skillsMapping);
61
+ const fromDomain = getUncompletedSkillsFromDomain(domain, context.tree.skillsMapping, standardId);
62
+ const fromOtherDomains = domains.filter(d => d !== domain).flatMap(domain => getUncompletedSkillsFromDomain(domain, context.tree.skillsMapping));
63
+ return withoutDuplicates([...fromStandard, ...fromDomain, ...fromOtherDomains]);
64
+ }
65
+ getAllGradeDomains(context) {
66
+ const grade = this.treeModel.$grade.getState();
67
+ const treeGrades = this.treeModel.$grades.getState();
68
+ const grades = startGradesFrom(treeGrades, grade).filter(({
69
+ isLocked
70
+ }) => !isLocked);
71
+ const treeNodes = Object.values(context.tree.treeMapping);
72
+ return grades.flatMap(grade => {
73
+ const [treeWithStats] = enhanceProgressMatrixData(treeNodes, context.stats, [{
74
+ entityId: context.user._id,
75
+ name: context.user.fullName
76
+ }], grade.value);
77
+ return getDomainStructure(treeWithStats, context.tree.treeMapping);
78
+ });
79
+ }
80
+ async getBuilder(props) {
81
+ const context = await this.treeModel.getTreeContextFx();
82
+ const domains = this.getAllGradeDomains(context);
83
+ const data = {
84
+ domains,
85
+ context,
86
+ ...props
87
+ };
88
+ return {
89
+ [SolvingFlow.TEACHER]: () => this.buildTeacherQueue(data),
90
+ [SolvingFlow.MAGMA]: () => this.buildMagmaQueue(data),
91
+ [SolvingFlow.STANDARD]: () => this.buildStandardQueue(data)
92
+ };
93
+ }
94
+ }
95
+ //# sourceMappingURL=PmSolvingFlowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createEvent","restore","persist","SessionStorageKeys","SolvingFlow","getAllUncompletedSkills","getDomainStructure","getUncompletedSkillsFromDomain","getUncompletedSkillsFromStandard","startGradesFrom","shiftToBeginningOfArray","withoutDuplicates","enhanceProgressMatrixData","PmSolvingFlowModel","reset","setQueue","advance","$queue","on","queue","slice","constructor","treeModel","recommendationsModel","key","SOLVING_QUEUE","store","start","props","buildQueue","getBuilder","type","console","log","next","getState","buildTeacherQueue","domains","context","skillId","teacherSkills","$teacher","items","magmaRecommendations","$magma","fromUncompletedDomains","tree","skillsMapping","teacherRecommendations","buildMagmaQueue","buildStandardQueue","standardId","domain","find","d","standards","some","s","standard","fromStandard","fromDomain","fromOtherDomains","filter","flatMap","getAllGradeDomains","grade","$grade","treeGrades","$grades","grades","isLocked","treeNodes","Object","values","treeMapping","treeWithStats","stats","entityId","user","_id","name","fullName","value","getTreeContextFx","data","TEACHER","MAGMA","STANDARD"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmSolvingFlowModel.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector';
4
+ import { createAction } from 'effector-action';
5
+ import { enhanceProgressMatrixData } from '@matteappen/skills-utils';
6
+ import { getDomainStructure, getInitialPmGrade, getTreeGrades, isTreeDataReady } from "../shared/pmProgress.helpers.js";
7
+ import { persist } from 'effector-storage/session';
8
+ import { SessionStorageKeys } from "../shared/pmProgress.constants.js";
9
+ export class PmTreeModel {
10
+ $tree = createStore(null);
11
+ $stats = createStore(null);
12
+ $user = createStore(null);
13
+ setupInitialGrade = createEvent();
14
+ setDomains = createEvent();
15
+ setGrade = createEvent();
16
+ $isInitialized = createStore(false);
17
+ $grade = restore(this.setGrade, null);
18
+ $domains = restore(this.setDomains, []);
19
+ $grades = createStore([]);
20
+ constructor(api) {
21
+ this.api = api;
22
+ persist({
23
+ key: SessionStorageKeys.GRADE,
24
+ store: this.$grade
25
+ });
26
+ persist({
27
+ key: SessionStorageKeys.DOMAINS,
28
+ store: this.$domains
29
+ });
30
+ createAction(this.initTreeFx.done, {
31
+ target: {
32
+ $tree: this.$tree,
33
+ $stats: this.$stats,
34
+ $user: this.$user,
35
+ $grades: this.$grades,
36
+ $isInitialized: this.$isInitialized,
37
+ setupInitialGrade: this.setupInitialGrade
38
+ },
39
+ fn: (target, {
40
+ params: {
41
+ user
42
+ },
43
+ result: [tree, stats]
44
+ }) => {
45
+ target.$tree(tree);
46
+ target.$stats(stats);
47
+ target.$user(user);
48
+ target.$grades(getTreeGrades(tree, user));
49
+ target.setupInitialGrade({
50
+ tree,
51
+ user
52
+ });
53
+ target.$isInitialized(true);
54
+ }
55
+ });
56
+ sample({
57
+ clock: this.setupInitialGrade,
58
+ filter: () => sessionStorage.getItem(SessionStorageKeys.GRADE) === null,
59
+ fn: ({
60
+ tree,
61
+ user
62
+ }) => {
63
+ const treeGrades = Object.values(tree.treeMapping).filter(node => node.type === 'grade').map(node => node.attributes.grade);
64
+ return getInitialPmGrade({
65
+ userGrade: user.grade,
66
+ treeGrades,
67
+ lockedGrades: user.setting.practiceModeLockedGrades,
68
+ enrolledGrades: user.enrolledGrades
69
+ });
70
+ },
71
+ target: this.setGrade
72
+ });
73
+ sample({
74
+ clock: [this.$grade, this.initTreeFx.doneData],
75
+ source: {
76
+ tree: this.$tree,
77
+ stats: this.$stats,
78
+ user: this.$user,
79
+ grade: this.$grade
80
+ },
81
+ filter: isTreeDataReady,
82
+ fn: ({
83
+ tree,
84
+ stats,
85
+ user,
86
+ grade
87
+ }) => {
88
+ const [treeWithUserStats] = enhanceProgressMatrixData(Object.values(tree.treeMapping), stats, [{
89
+ entityId: user._id,
90
+ name: user.fullName
91
+ }], grade);
92
+ return getDomainStructure(treeWithUserStats, tree.treeMapping);
93
+ },
94
+ target: this.setDomains
95
+ });
96
+ }
97
+ initTreeFx = createEffect(({
98
+ user
99
+ }) => {
100
+ return Promise.all([this.api.getTreeFx(user.setting.practiceModeTreeId), this.api.getStatisticsFx({
101
+ entityIds: [user._id]
102
+ })]);
103
+ });
104
+ getTreeContextFx = attach({
105
+ source: {
106
+ tree: this.$tree,
107
+ stats: this.$stats,
108
+ user: this.$user,
109
+ grade: this.$grade
110
+ },
111
+ mapParams: (_, source) => {
112
+ if (!isTreeDataReady(source)) {
113
+ throw new Error('Cannot create treeWithUserStats in getTreeWithStatsFx - tree data is not ready.');
114
+ }
115
+ return source;
116
+ },
117
+ effect: createEffect(({
118
+ tree,
119
+ stats,
120
+ user,
121
+ grade
122
+ }) => {
123
+ const [treeWithStats] = enhanceProgressMatrixData(Object.values(tree.treeMapping), stats, [{
124
+ entityId: user._id,
125
+ name: user.fullName
126
+ }], grade);
127
+ return {
128
+ tree,
129
+ stats,
130
+ user,
131
+ treeWithStats
132
+ };
133
+ })
134
+ });
135
+ }
136
+ //# sourceMappingURL=PmTreeModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["attach","createEffect","createEvent","createStore","restore","sample","createAction","enhanceProgressMatrixData","getDomainStructure","getInitialPmGrade","getTreeGrades","isTreeDataReady","persist","SessionStorageKeys","PmTreeModel","$tree","$stats","$user","setupInitialGrade","setDomains","setGrade","$isInitialized","$grade","$domains","$grades","constructor","api","key","GRADE","store","DOMAINS","initTreeFx","done","target","fn","params","user","result","tree","stats","clock","filter","sessionStorage","getItem","treeGrades","Object","values","treeMapping","node","type","map","attributes","grade","userGrade","lockedGrades","setting","practiceModeLockedGrades","enrolledGrades","doneData","source","treeWithUserStats","entityId","_id","name","fullName","Promise","all","getTreeFx","practiceModeTreeId","getStatisticsFx","entityIds","getTreeContextFx","mapParams","_","Error","effect","treeWithStats"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,YAAY,EAAEC,WAAW,EAAEC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,UAAU;AAC1F,SAASC,YAAY,QAAQ,iBAAiB;AAa9C,SAASC,yBAAyB,QAAQ,0BAA0B;AACpE,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,aAAa,EACbC,eAAe,QACV,iCAA8B;AACrC,SAASC,OAAO,QAAQ,0BAA0B;AAClD,SAASC,kBAAkB,QAAQ,mCAAgC;AAEnE,OAAO,MAAMC,WAAW,CAAC;EACNC,KAAK,GAAGZ,WAAW,CAA6B,IAAI,CAAC;EACrDa,MAAM,GAAGb,WAAW,CAAuB,IAAI,CAAC;EAChDc,KAAK,GAAGd,WAAW,CAAc,IAAI,CAAC;EAEtCe,iBAAiB,GAAGhB,WAAW,CAAyB,CAAC;EACzDiB,UAAU,GAAGjB,WAAW,CAAW,CAAC;EACrCkB,QAAQ,GAAGlB,WAAW,CAAgB,CAAC;EAEvCmB,cAAc,GAAGlB,WAAW,CAAC,KAAK,CAAC;EACnCmB,MAAM,GAAGlB,OAAO,CAAC,IAAI,CAACgB,QAAQ,EAAE,IAAI,CAAC;EACrCG,QAAQ,GAAGnB,OAAO,CAAC,IAAI,CAACe,UAAU,EAAE,EAAE,CAAC;EACvCK,OAAO,GAAGrB,WAAW,CAAU,EAAE,CAAC;EAElDsB,WAAWA,CAAkBC,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IAC7Cd,OAAO,CAAC;MAAEe,GAAG,EAAEd,kBAAkB,CAACe,KAAK;MAAEC,KAAK,EAAE,IAAI,CAACP;IAAO,CAAC,CAAC;IAC9DV,OAAO,CAAC;MAAEe,GAAG,EAAEd,kBAAkB,CAACiB,OAAO;MAAED,KAAK,EAAE,IAAI,CAACN;IAAS,CAAC,CAAC;IAElEjB,YAAY,CAAC,IAAI,CAACyB,UAAU,CAACC,IAAI,EAAE;MACjCC,MAAM,EAAE;QACNlB,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBC,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBC,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBO,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBH,cAAc,EAAE,IAAI,CAACA,cAAc;QACnCH,iBAAiB,EAAE,IAAI,CAACA;MAC1B,CAAC;MACDgB,EAAE,EAAEA,CAACD,MAAM,EAAE;QAAEE,MAAM,EAAE;UAAEC;QAAK,CAAC;QAAEC,MAAM,EAAE,CAACC,IAAI,EAAEC,KAAK;MAAE,CAAC,KAAK;QAC3DN,MAAM,CAAClB,KAAK,CAACuB,IAAI,CAAC;QAClBL,MAAM,CAACjB,MAAM,CAACuB,KAAK,CAAC;QACpBN,MAAM,CAAChB,KAAK,CAACmB,IAAI,CAAC;QAClBH,MAAM,CAACT,OAAO,CAACd,aAAa,CAAC4B,IAAI,EAAEF,IAAI,CAAC,CAAC;QACzCH,MAAM,CAACf,iBAAiB,CAAC;UAAEoB,IAAI;UAAEF;QAAK,CAAC,CAAC;QACxCH,MAAM,CAACZ,cAAc,CAAC,IAAI,CAAC;MAC7B;IACF,CAAC,CAAC;IAEFhB,MAAM,CAAC;MACLmC,KAAK,EAAE,IAAI,CAACtB,iBAAiB;MAC7BuB,MAAM,EAAEA,CAAA,KAAMC,cAAc,CAACC,OAAO,CAAC9B,kBAAkB,CAACe,KAAK,CAAC,KAAK,IAAI;MACvEM,EAAE,EAAEA,CAAC;QAAEI,IAAI;QAAEF;MAAK,CAAC,KAAK;QACtB,MAAMQ,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACR,IAAI,CAACS,WAAW,CAAC,CAC/CN,MAAM,CAAEO,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,OAAO,CAAC,CACvCC,GAAG,CAAEF,IAAI,IAAKA,IAAI,CAACG,UAAU,CAACC,KAAK,CAAC;QAEvC,OAAO3C,iBAAiB,CAAC;UACvB4C,SAAS,EAAEjB,IAAI,CAACgB,KAAK;UACrBR,UAAU;UACVU,YAAY,EAAElB,IAAI,CAACmB,OAAO,CAACC,wBAAwB;UACnDC,cAAc,EAAErB,IAAI,CAACqB;QACvB,CAAC,CAAC;MACJ,CAAC;MACDxB,MAAM,EAAE,IAAI,CAACb;IACf,CAAC,CAAC;IAEFf,MAAM,CAAC;MACLmC,KAAK,EAAE,CAAC,IAAI,CAAClB,MAAM,EAAE,IAAI,CAACS,UAAU,CAAC2B,QAAQ,CAAC;MAC9CC,MAAM,EAAE;QAAErB,IAAI,EAAE,IAAI,CAACvB,KAAK;QAAEwB,KAAK,EAAE,IAAI,CAACvB,MAAM;QAAEoB,IAAI,EAAE,IAAI,CAACnB,KAAK;QAAEmC,KAAK,EAAE,IAAI,CAAC9B;MAAO,CAAC;MACtFmB,MAAM,EAAE9B,eAAe;MACvBuB,EAAE,EAAEA,CAAC;QAAEI,IAAI;QAAEC,KAAK;QAAEH,IAAI;QAAEgB;MAAM,CAAC,KAAK;QACpC,MAAM,CAACQ,iBAAiB,CAAC,GAAGrD,yBAAyB,CACnDsC,MAAM,CAACC,MAAM,CAACR,IAAI,CAACS,WAAW,CAAC,EAC/BR,KAAK,EACL,CAAC;UAAEsB,QAAQ,EAAEzB,IAAI,CAAC0B,GAAG;UAAEC,IAAI,EAAE3B,IAAI,CAAC4B;QAAS,CAAC,CAAC,EAC7CZ,KACF,CAAC;QAED,OAAO5C,kBAAkB,CAACoD,iBAAiB,EAAEtB,IAAI,CAACS,WAAW,CAAC;MAChE,CAAC;MACDd,MAAM,EAAE,IAAI,CAACd;IACf,CAAC,CAAC;EACJ;EAEOY,UAAU,GAAG9B,YAAY,CAAC,CAAC;IAAEmC;EAA0B,CAAC,KAAK;IAClE,OAAO6B,OAAO,CAACC,GAAG,CAAC,CACjB,IAAI,CAACxC,GAAG,CAACyC,SAAS,CAAC/B,IAAI,CAACmB,OAAO,CAACa,kBAAkB,CAAC,EACnD,IAAI,CAAC1C,GAAG,CAAC2C,eAAe,CAAC;MAAEC,SAAS,EAAE,CAAClC,IAAI,CAAC0B,GAAG;IAAE,CAAC,CAAC,CACpD,CAAC;EACJ,CAAC,CAAC;EAEcS,gBAAgB,GAAGvE,MAAM,CAAC;IACxC2D,MAAM,EAAE;MAAErB,IAAI,EAAE,IAAI,CAACvB,KAAK;MAAEwB,KAAK,EAAE,IAAI,CAACvB,MAAM;MAAEoB,IAAI,EAAE,IAAI,CAACnB,KAAK;MAAEmC,KAAK,EAAE,IAAI,CAAC9B;IAAO,CAAC;IACtFkD,SAAS,EAAEA,CAACC,CAAO,EAAEd,MAAM,KAA6B;MACtD,IAAI,CAAChD,eAAe,CAACgD,MAAM,CAAC,EAAE;QAC5B,MAAM,IAAIe,KAAK,CACb,iFACF,CAAC;MACH;MACA,OAAOf,MAAM;IACf,CAAC;IACDgB,MAAM,EAAE1E,YAAY,CAAC,CAAC;MAAEqC,IAAI;MAAEC,KAAK;MAAEH,IAAI;MAAEgB;IAA8B,CAAC,KAAkB;MAC1F,MAAM,CAACwB,aAAa,CAAC,GAAGrE,yBAAyB,CAC/CsC,MAAM,CAACC,MAAM,CAACR,IAAI,CAACS,WAAW,CAAC,EAC/BR,KAAK,EACL,CAAC;QAAEsB,QAAQ,EAAEzB,IAAI,CAAC0B,GAAG;QAAEC,IAAI,EAAE3B,IAAI,CAAC4B;MAAS,CAAC,CAAC,EAC7CZ,KACF,CAAC;MACD,OAAO;QACLd,IAAI;QACJC,KAAK;QACLH,IAAI;QACJwC;MACF,CAAC;IACH,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}