@magmamath/students-features 1.3.4-rc.2 → 1.3.4

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 (516) 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 +42 -0
  8. package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
  9. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +24 -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 +91 -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 +55 -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 +23 -0
  28. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  29. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
  30. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  31. package/dist/commonjs/features/pmProgress/components/content/PmContent.js +50 -0
  32. package/dist/commonjs/features/pmProgress/components/content/PmContent.js.map +1 -0
  33. package/dist/commonjs/features/pmProgress/components/header/NextUp.js +127 -0
  34. package/dist/commonjs/features/pmProgress/components/header/NextUp.js.map +1 -0
  35. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +133 -0
  36. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/header/StartButton.js +126 -0
  38. package/dist/commonjs/features/pmProgress/components/header/StartButton.js.map +1 -0
  39. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +70 -0
  40. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  41. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +99 -0
  42. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +72 -0
  44. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/Fluency.js +82 -0
  46. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +207 -0
  48. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  49. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +139 -0
  50. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  51. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +96 -0
  52. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js +101 -0
  54. package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +134 -0
  56. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js +203 -0
  58. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  60. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/index.js +64 -0
  62. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js +15 -0
  64. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  66. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  68. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +43 -0
  70. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  72. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  73. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +104 -0
  74. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  75. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +176 -0
  76. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  77. package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js +52 -0
  78. package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
  79. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +65 -0
  80. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  81. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +234 -0
  82. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  83. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  84. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  85. package/dist/commonjs/features/voice/constants.js +3 -13
  86. package/dist/commonjs/features/voice/constants.js.map +1 -1
  87. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +5 -19
  88. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -1
  89. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +20 -71
  90. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  91. package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  92. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  93. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  94. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +0 -5
  95. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  96. package/dist/commonjs/features/voice/types.js +0 -6
  97. package/dist/commonjs/features/voice/types.js.map +1 -1
  98. package/dist/commonjs/index.js +15 -3
  99. package/dist/commonjs/index.js.map +1 -1
  100. package/dist/commonjs/shared/icons/MenuIcon.js +30 -0
  101. package/dist/commonjs/shared/icons/MenuIcon.js.map +1 -0
  102. package/dist/commonjs/shared/icons/PentagonIcon.js +29 -0
  103. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  104. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  105. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  106. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +29 -0
  107. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  108. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  109. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  110. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  111. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  112. package/dist/commonjs/shared/translation/localization/ca.json +24 -0
  113. package/dist/commonjs/shared/translation/localization/de.json +24 -0
  114. package/dist/commonjs/shared/translation/localization/en.json +24 -0
  115. package/dist/commonjs/shared/translation/localization/gb.json +24 -0
  116. package/dist/commonjs/shared/translation/localization/sct.json +24 -0
  117. package/dist/commonjs/shared/translation/localization/sw.json +24 -0
  118. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  119. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  120. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  121. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  122. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  123. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  124. package/dist/module/features/pmProgress/PmProgress.js +36 -0
  125. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  126. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +17 -0
  127. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  128. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  129. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  130. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  131. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  132. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  133. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  134. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +85 -0
  135. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  136. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  137. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  138. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  139. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  140. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +49 -0
  141. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  142. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  143. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  144. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +18 -0
  145. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  146. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  147. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  148. package/dist/module/features/pmProgress/components/content/PmContent.js +44 -0
  149. package/dist/module/features/pmProgress/components/content/PmContent.js.map +1 -0
  150. package/dist/module/features/pmProgress/components/header/NextUp.js +121 -0
  151. package/dist/module/features/pmProgress/components/header/NextUp.js.map +1 -0
  152. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +126 -0
  153. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  154. package/dist/module/features/pmProgress/components/header/StartButton.js +119 -0
  155. package/dist/module/features/pmProgress/components/header/StartButton.js.map +1 -0
  156. package/dist/module/features/pmProgress/components/insights/PmInsights.js +63 -0
  157. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  158. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +94 -0
  159. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  160. package/dist/module/features/pmProgress/components/insights/StatsCard.js +66 -0
  161. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  162. package/dist/module/features/pmProgress/components/list/Fluency.js +76 -0
  163. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  164. package/dist/module/features/pmProgress/components/list/ListCard.js +200 -0
  165. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  166. package/dist/module/features/pmProgress/components/list/ListItem.js +132 -0
  167. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  168. package/dist/module/features/pmProgress/components/list/PmDomainList.js +90 -0
  169. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  170. package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js +95 -0
  171. package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
  172. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +128 -0
  173. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  174. package/dist/module/features/pmProgress/components/standard/StandardTag.js +197 -0
  175. package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  176. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  177. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  178. package/dist/module/features/pmProgress/index.js +9 -0
  179. package/dist/module/features/pmProgress/index.js.map +1 -0
  180. package/dist/module/features/pmProgress/model/PmHighlightModel.js +10 -0
  181. package/dist/module/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  182. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  183. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  184. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  185. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  186. package/dist/module/features/pmProgress/model/PmProgressModel.js +38 -0
  187. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  188. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  189. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  190. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +99 -0
  191. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  192. package/dist/module/features/pmProgress/model/PmTreeModel.js +171 -0
  193. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  194. package/dist/module/features/pmProgress/shared/TreeNormalizer.js +47 -0
  195. package/dist/module/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
  196. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +62 -0
  197. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  198. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +214 -0
  199. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  200. package/dist/module/features/pmProgress/shared/pmProgress.types.js +8 -0
  201. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  202. package/dist/module/features/voice/constants.js +2 -12
  203. package/dist/module/features/voice/constants.js.map +1 -1
  204. package/dist/module/features/voice/recording/components/VoiceRecord.js +6 -20
  205. package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -1
  206. package/dist/module/features/voice/recording/components/VoiceRecordButton.js +22 -73
  207. package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  208. package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  209. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  210. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  211. package/dist/module/features/voice/recording/model/VoiceRecord.model.js +0 -5
  212. package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  213. package/dist/module/features/voice/types.js +1 -5
  214. package/dist/module/features/voice/types.js.map +1 -1
  215. package/dist/module/index.js +1 -0
  216. package/dist/module/index.js.map +1 -1
  217. package/dist/module/shared/icons/MenuIcon.js +22 -0
  218. package/dist/module/shared/icons/MenuIcon.js.map +1 -0
  219. package/dist/module/shared/icons/PentagonIcon.js +21 -0
  220. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  221. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  222. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  223. package/dist/module/shared/icons/SliceDiamondIcon.js +21 -0
  224. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  225. package/dist/module/shared/icons/StarIcon.js +24 -0
  226. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  227. package/dist/module/shared/icons/TimerIcon.js +27 -0
  228. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  229. package/dist/module/shared/translation/localization/ca.json +24 -0
  230. package/dist/module/shared/translation/localization/de.json +24 -0
  231. package/dist/module/shared/translation/localization/en.json +24 -0
  232. package/dist/module/shared/translation/localization/gb.json +24 -0
  233. package/dist/module/shared/translation/localization/sct.json +24 -0
  234. package/dist/module/shared/translation/localization/sw.json +24 -0
  235. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  237. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  238. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  240. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  242. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  244. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  246. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  248. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  250. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  252. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  254. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  256. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
  258. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  260. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts +3 -0
  262. package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts +3 -0
  264. package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  266. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts +11 -0
  268. package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  270. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  271. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  272. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  273. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
  274. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  275. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  276. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +31 -0
  278. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +12 -0
  280. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  281. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  282. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  283. package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
  284. package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  286. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  287. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  288. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  289. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +15 -0
  290. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  291. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +7 -0
  292. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  293. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  294. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  295. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  296. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  297. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  298. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  299. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  300. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  301. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  302. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  303. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
  304. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  305. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +25 -0
  306. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  307. package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
  308. package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
  309. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
  310. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  311. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
  312. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  313. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
  314. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  315. package/dist/typescript/commonjs/features/voice/constants.d.ts +2 -12
  316. package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
  317. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  318. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
  319. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  320. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
  321. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  322. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  323. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  324. package/dist/typescript/commonjs/features/voice/types.d.ts +0 -4
  325. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  326. package/dist/typescript/commonjs/index.d.ts +1 -0
  327. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  328. package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts +4 -0
  329. package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts.map +1 -0
  330. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  331. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  332. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  333. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  334. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  335. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  336. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  337. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  338. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  339. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  340. package/dist/typescript/commonjs/shared/translation/constants.d.ts +144 -0
  341. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  342. package/dist/typescript/commonjs/shared/translation/model.d.ts +48 -0
  343. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  344. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  345. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  346. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  347. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  348. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  349. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  350. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  351. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  352. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  353. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  354. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  355. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  356. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  357. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  358. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  359. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  360. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  361. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  362. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  363. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  364. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  365. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  366. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
  367. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  368. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  369. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  370. package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts +3 -0
  371. package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
  372. package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts +3 -0
  373. package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
  374. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  375. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  376. package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts +11 -0
  377. package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
  378. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  379. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  380. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  381. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  382. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
  383. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  384. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  385. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  386. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +31 -0
  387. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  388. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +12 -0
  389. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  390. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  391. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  392. package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
  393. package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
  394. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  395. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  396. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  397. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  398. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +15 -0
  399. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  400. package/dist/typescript/module/features/pmProgress/index.d.ts +7 -0
  401. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  402. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  403. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  404. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  405. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  406. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  407. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  408. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  409. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  410. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  411. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  412. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
  413. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  414. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +25 -0
  415. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  416. package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
  417. package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
  418. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
  419. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  420. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
  421. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  422. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
  423. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  424. package/dist/typescript/module/features/voice/constants.d.ts +2 -12
  425. package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
  426. package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  427. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
  428. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  429. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
  430. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  431. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  432. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  433. package/dist/typescript/module/features/voice/types.d.ts +0 -4
  434. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  435. package/dist/typescript/module/index.d.ts +1 -0
  436. package/dist/typescript/module/index.d.ts.map +1 -1
  437. package/dist/typescript/module/shared/icons/MenuIcon.d.ts +4 -0
  438. package/dist/typescript/module/shared/icons/MenuIcon.d.ts.map +1 -0
  439. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  440. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  441. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  442. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  443. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  444. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  445. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  446. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  447. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  448. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  449. package/dist/typescript/module/shared/translation/constants.d.ts +144 -0
  450. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  451. package/dist/typescript/module/shared/translation/model.d.ts +48 -0
  452. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  453. package/package.json +21 -13
  454. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  455. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  456. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  457. package/src/features/pmProgress/PmProgress.tsx +30 -0
  458. package/src/features/pmProgress/__tests__/.keep +0 -0
  459. package/src/features/pmProgress/components/chart/chart.helpers.ts +16 -0
  460. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  461. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  462. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  463. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +90 -0
  464. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  465. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  466. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +60 -0
  467. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  468. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +17 -0
  469. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  470. package/src/features/pmProgress/components/content/PmContent.tsx +44 -0
  471. package/src/features/pmProgress/components/header/NextUp.tsx +109 -0
  472. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +135 -0
  473. package/src/features/pmProgress/components/header/StartButton.tsx +160 -0
  474. package/src/features/pmProgress/components/insights/PmInsights.tsx +65 -0
  475. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +88 -0
  476. package/src/features/pmProgress/components/insights/StatsCard.tsx +54 -0
  477. package/src/features/pmProgress/components/list/Fluency.tsx +72 -0
  478. package/src/features/pmProgress/components/list/ListCard.tsx +231 -0
  479. package/src/features/pmProgress/components/list/ListItem.tsx +164 -0
  480. package/src/features/pmProgress/components/list/PmDomainList.tsx +76 -0
  481. package/src/features/pmProgress/components/locked/PmStatusOverlay.tsx +101 -0
  482. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +127 -0
  483. package/src/features/pmProgress/components/standard/StandardTag.tsx +181 -0
  484. package/src/features/pmProgress/context/PmProgressContext.tsx +26 -0
  485. package/src/features/pmProgress/index.ts +6 -0
  486. package/src/features/pmProgress/model/PmHighlightModel.ts +11 -0
  487. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  488. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  489. package/src/features/pmProgress/model/PmProgressModel.ts +48 -0
  490. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  491. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +140 -0
  492. package/src/features/pmProgress/model/PmTreeModel.ts +171 -0
  493. package/src/features/pmProgress/shared/TreeNormalizer.ts +64 -0
  494. package/src/features/pmProgress/shared/pmProgress.constants.ts +100 -0
  495. package/src/features/pmProgress/shared/pmProgress.helpers.ts +307 -0
  496. package/src/features/pmProgress/shared/pmProgress.types.ts +217 -0
  497. package/src/features/voice/constants.ts +2 -13
  498. package/src/features/voice/recording/components/VoiceRecord.tsx +5 -28
  499. package/src/features/voice/recording/components/VoiceRecordButton.tsx +30 -99
  500. package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -2
  501. package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +4 -8
  502. package/src/features/voice/recording/model/VoiceRecord.model.ts +0 -7
  503. package/src/features/voice/types.ts +0 -5
  504. package/src/index.ts +1 -0
  505. package/src/shared/icons/MenuIcon.tsx +15 -0
  506. package/src/shared/icons/PentagonIcon.tsx +14 -0
  507. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  508. package/src/shared/icons/SliceDiamondIcon.tsx +14 -0
  509. package/src/shared/icons/StarIcon.tsx +17 -0
  510. package/src/shared/icons/TimerIcon.tsx +21 -0
  511. package/src/shared/translation/localization/ca.json +24 -0
  512. package/src/shared/translation/localization/de.json +24 -0
  513. package/src/shared/translation/localization/en.json +24 -0
  514. package/src/shared/translation/localization/gb.json +24 -0
  515. package/src/shared/translation/localization/sct.json +24 -0
  516. package/src/shared/translation/localization/sw.json +24 -0
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ PmProgress: true,
8
+ PmProgressModel: true,
9
+ StandardTag: true,
10
+ TreeNormalizer: true
11
+ };
12
+ Object.defineProperty(exports, "PmProgress", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _PmProgress.PmProgress;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "PmProgressModel", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _PmProgressModel.PmProgressModel;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "StandardTag", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _StandardTag.StandardTag;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "TreeNormalizer", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _TreeNormalizer.TreeNormalizer;
34
+ }
35
+ });
36
+ var _PmProgress = require("./PmProgress.js");
37
+ var _PmProgressModel = require("./model/PmProgressModel.js");
38
+ var _StandardTag = require("./components/standard/StandardTag.js");
39
+ var _TreeNormalizer = require("./shared/TreeNormalizer.js");
40
+ var _pmProgressTypes = require("./shared/pmProgress.types.js");
41
+ Object.keys(_pmProgressTypes).forEach(function (key) {
42
+ if (key === "default" || key === "__esModule") return;
43
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
44
+ if (key in exports && exports[key] === _pmProgressTypes[key]) return;
45
+ Object.defineProperty(exports, key, {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _pmProgressTypes[key];
49
+ }
50
+ });
51
+ });
52
+ var _pmProgressConstants = require("./shared/pmProgress.constants.js");
53
+ Object.keys(_pmProgressConstants).forEach(function (key) {
54
+ if (key === "default" || key === "__esModule") return;
55
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
56
+ if (key in exports && exports[key] === _pmProgressConstants[key]) return;
57
+ Object.defineProperty(exports, key, {
58
+ enumerable: true,
59
+ get: function () {
60
+ return _pmProgressConstants[key];
61
+ }
62
+ });
63
+ });
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_PmProgress","require","_PmProgressModel","_StandardTag","_TreeNormalizer","_pmProgressTypes","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_pmProgressConstants"],"sourceRoot":"../../../../src","sources":["features/pmProgress/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,gBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,gBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,gBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,oBAAA,GAAAjB,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAW,oBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,oBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmHighlightModel = void 0;
7
+ var _effector = require("effector");
8
+ class PmHighlightModel {
9
+ expand = (0, _effector.createEvent)();
10
+ hover = (0, _effector.createEvent)();
11
+ $hoveredId = (0, _effector.restore)(this.hover, null);
12
+ $expandedId = (0, _effector.createStore)(null).on(this.expand, (current, id) => current === id ? null : id);
13
+ }
14
+ exports.PmHighlightModel = PmHighlightModel;
15
+ //# sourceMappingURL=PmHighlightModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","PmHighlightModel","expand","createEvent","hover","$hoveredId","restore","$expandedId","createStore","on","current","id","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmHighlightModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,CAAC;EACZC,MAAM,GAAG,IAAAC,qBAAW,EAAS,CAAC;EAC9BC,KAAK,GAAG,IAAAD,qBAAW,EAAgB,CAAC;EAEpCE,UAAU,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACF,KAAK,EAAE,IAAI,CAAC;EACtCG,WAAW,GAAG,IAAAC,qBAAW,EAAgB,IAAI,CAAC,CAACC,EAAE,CAAC,IAAI,CAACP,MAAM,EAAE,CAACQ,OAAO,EAAEC,EAAE,KACzFD,OAAO,KAAKC,EAAE,GAAG,IAAI,GAAGA,EAC1B,CAAC;AACH;AAACC,OAAA,CAAAX,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmInsightsModel = void 0;
7
+ var _effector = require("effector");
8
+ var _pmProgressConstants = require("../shared/pmProgress.constants.js");
9
+ class PmInsightsModel {
10
+ setTimeframe = (0, _effector.createEvent)();
11
+ $data = (0, _effector.createStore)(null);
12
+ $timeframe = (0, _effector.restore)(this.setTimeframe, _pmProgressConstants.InsightsTimeframe.WEEK);
13
+ $insights = (0, _effector.combine)(this.$data, this.$timeframe, (stats, timeframe) => {
14
+ return stats ? stats[timeframe] : null;
15
+ });
16
+ constructor(api) {
17
+ this.api = api;
18
+ this.$data.on(this.api.getUserInsightsFx.doneData, (_, response) => response.practiceModeStatsByTimeFrame);
19
+ }
20
+ }
21
+ exports.PmInsightsModel = PmInsightsModel;
22
+ //# sourceMappingURL=PmInsightsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_pmProgressConstants","PmInsightsModel","setTimeframe","createEvent","$data","createStore","$timeframe","restore","InsightsTimeframe","WEEK","$insights","combine","stats","timeframe","constructor","api","on","getUserInsightsFx","doneData","_","response","practiceModeStatsByTimeFrame","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmInsightsModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,CAAC;EACXC,YAAY,GAAG,IAAAC,qBAAW,EAAoB,CAAC;EAE9CC,KAAK,GAAG,IAAAC,qBAAW,EAClC,IACF,CAAC;EACeC,UAAU,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACL,YAAY,EAAEM,sCAAiB,CAACC,IAAI,CAAC;EAC/DC,SAAS,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACP,KAAK,EAAE,IAAI,CAACE,UAAU,EAAE,CAACM,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,CAACX,KAAK,CAACY,EAAE,CACX,IAAI,CAACD,GAAG,CAACE,iBAAiB,CAACC,QAAQ,EACnC,CAACC,CAAC,EAAEC,QAAQ,KAAKA,QAAQ,CAACC,4BAC5B,CAAC;EACH;AACF;AAACC,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmProgressApi = void 0;
7
+ var _effector = require("effector");
8
+ class PmProgressApi {
9
+ constructor(props) {
10
+ this.getTreeFx = (0, _effector.createEffect)(props.getTree);
11
+ this.getStatisticsFx = (0, _effector.createEffect)(props.getStatistics);
12
+ this.getTeacherRecsFx = (0, _effector.createEffect)(props.getTeacherRecs);
13
+ this.getMagmaRecsFx = (0, _effector.createEffect)(props.getMagmaRecs);
14
+ this.getUserInsightsFx = (0, _effector.createEffect)(() => props.getUserInsights());
15
+ }
16
+ }
17
+ exports.PmProgressApi = PmProgressApi;
18
+ //# sourceMappingURL=PmProgressApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","PmProgressApi","constructor","props","getTreeFx","createEffect","getTree","getStatisticsFx","getStatistics","getTeacherRecsFx","getTeacherRecs","getMagmaRecsFx","getMagmaRecs","getUserInsightsFx","getUserInsights","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmProgressApi.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAmBO,MAAMC,aAAa,CAAC;EAOzBC,WAAWA,CAACC,KAAyB,EAAE;IACrC,IAAI,CAACC,SAAS,GAAG,IAAAC,sBAAY,EAACF,KAAK,CAACG,OAAO,CAAC;IAC5C,IAAI,CAACC,eAAe,GAAG,IAAAF,sBAAY,EAACF,KAAK,CAACK,aAAa,CAAC;IACxD,IAAI,CAACC,gBAAgB,GAAG,IAAAJ,sBAAY,EAACF,KAAK,CAACO,cAAc,CAAC;IAC1D,IAAI,CAACC,cAAc,GAAG,IAAAN,sBAAY,EAACF,KAAK,CAACS,YAAY,CAAC;IACtD,IAAI,CAACC,iBAAiB,GAAG,IAAAR,sBAAY,EAAC,MAAMF,KAAK,CAACW,eAAe,CAAC,CAAC,CAAC;EACtE;AACF;AAACC,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmProgressModel = void 0;
7
+ var _effector = require("effector");
8
+ var _effectorReact = require("effector-react");
9
+ var _PmProgressApi = require("./PmProgressApi.js");
10
+ var _PmTreeModel = require("./PmTreeModel.js");
11
+ var _PmInsightsModel = require("./PmInsightsModel.js");
12
+ var _PmRecommendationsModel = require("./PmRecommendationsModel.js");
13
+ var _PmSolvingFlowModel = require("./PmSolvingFlowModel.js");
14
+ var _PmHighlightModel = require("./PmHighlightModel.js");
15
+ class PmProgressModel {
16
+ gate = (0, _effectorReact.createGate)();
17
+ constructor({
18
+ api
19
+ }) {
20
+ this.api = new _PmProgressApi.PmProgressApi(api);
21
+ this.highlight = new _PmHighlightModel.PmHighlightModel();
22
+ this.insights = new _PmInsightsModel.PmInsightsModel(this.api);
23
+ this.tree = new _PmTreeModel.PmTreeModel(this.api);
24
+ this.recommendations = new _PmRecommendationsModel.PmRecommendationsModel(this.api);
25
+ this.solving = new _PmSolvingFlowModel.PmSolvingFlowModel(this.tree, this.recommendations);
26
+ this.init();
27
+ }
28
+ init() {
29
+ (0, _effector.sample)({
30
+ clock: this.gate.open,
31
+ target: [this.tree.initTreeFx, this.api.getUserInsightsFx]
32
+ });
33
+ (0, _effector.sample)({
34
+ clock: this.tree.initTreeFx.done,
35
+ fn: ({
36
+ result: [tree]
37
+ }) => tree,
38
+ target: this.recommendations.initRecommendationsFx
39
+ });
40
+ }
41
+ }
42
+ exports.PmProgressModel = PmProgressModel;
43
+ //# sourceMappingURL=PmProgressModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_effectorReact","_PmProgressApi","_PmTreeModel","_PmInsightsModel","_PmRecommendationsModel","_PmSolvingFlowModel","_PmHighlightModel","PmProgressModel","gate","createGate","constructor","api","PmProgressApi","highlight","PmHighlightModel","insights","PmInsightsModel","tree","PmTreeModel","recommendations","PmRecommendationsModel","solving","PmSolvingFlowModel","init","sample","clock","open","target","initTreeFx","getUserInsightsFx","done","fn","result","initRecommendationsFx","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmProgressModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAMO,MAAMQ,eAAe,CAAC;EACXC,IAAI,GAAG,IAAAC,yBAAU,EAAsB,CAAC;EASxDC,WAAWA,CAAC;IAAEC;EAA0B,CAAC,EAAE;IACzC,IAAI,CAACA,GAAG,GAAG,IAAIC,4BAAa,CAACD,GAAG,CAAC;IACjC,IAAI,CAACE,SAAS,GAAG,IAAIC,kCAAgB,CAAC,CAAC;IACvC,IAAI,CAACC,QAAQ,GAAG,IAAIC,gCAAe,CAAC,IAAI,CAACL,GAAG,CAAC;IAC7C,IAAI,CAACM,IAAI,GAAG,IAAIC,wBAAW,CAAC,IAAI,CAACP,GAAG,CAAC;IACrC,IAAI,CAACQ,eAAe,GAAG,IAAIC,8CAAsB,CAAC,IAAI,CAACT,GAAG,CAAC;IAC3D,IAAI,CAACU,OAAO,GAAG,IAAIC,sCAAkB,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACE,eAAe,CAAC;IAEtE,IAAI,CAACI,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACb,IAAAC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACjB,IAAI,CAACkB,IAAI;MACrBC,MAAM,EAAE,CAAC,IAAI,CAACV,IAAI,CAACW,UAAU,EAAE,IAAI,CAACjB,GAAG,CAACkB,iBAAiB;IAC3D,CAAC,CAAC;IAEF,IAAAL,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACR,IAAI,CAACW,UAAU,CAACE,IAAI;MAChCC,EAAE,EAAEA,CAAC;QAAEC,MAAM,EAAE,CAACf,IAAI;MAAE,CAAC,KAAKA,IAAI;MAChCU,MAAM,EAAE,IAAI,CAACR,eAAe,CAACc;IAC/B,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAA3B,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmRecommendationsModel = void 0;
7
+ var _effector = require("effector");
8
+ var _pmProgressConstants = require("../shared/pmProgress.constants.js");
9
+ const INITIAL_RECOMMENDATION_STATE = {
10
+ items: [],
11
+ offset: 0,
12
+ limit: 0,
13
+ total: 0
14
+ };
15
+ class PmRecommendationsModel {
16
+ $teacher = (0, _effector.createStore)(INITIAL_RECOMMENDATION_STATE);
17
+ $magma = (0, _effector.createStore)(INITIAL_RECOMMENDATION_STATE);
18
+ constructor(api) {
19
+ this.api = api;
20
+ this.$teacher.on(this.fetchTeacherRecsFx.doneData, (_, data) => data);
21
+ this.$magma.on(this.fetchMagmaRecsFx.doneData, (_, data) => data);
22
+ }
23
+ fetchTeacherRecsFx = (0, _effector.createEffect)(tree => this.fetchRecs(tree, _pmProgressConstants.SolvingFlow.TEACHER, () => this.api.getTeacherRecsFx({
24
+ limit: _pmProgressConstants.RECOMMENDATIONS_LIMIT_PARAM
25
+ })));
26
+ fetchMagmaRecsFx = (0, _effector.createEffect)(tree => this.fetchRecs(tree, _pmProgressConstants.SolvingFlow.MAGMA, () => this.api.getMagmaRecsFx({
27
+ limit: _pmProgressConstants.RECOMMENDATIONS_LIMIT_PARAM
28
+ })));
29
+ initRecommendationsFx = (0, _effector.createEffect)(tree => Promise.all([this.fetchTeacherRecsFx(tree), this.fetchMagmaRecsFx(tree)]));
30
+ fetchRecs = async (tree, type, fetcher) => {
31
+ const recommendations = await fetcher();
32
+ return {
33
+ ...recommendations,
34
+ items: recommendations.items.flatMap(({
35
+ skillId
36
+ }) => {
37
+ const skill = tree.skillsMapping[skillId];
38
+ return skill ? [{
39
+ ...skill,
40
+ type
41
+ }] : [];
42
+ })
43
+ };
44
+ };
45
+ }
46
+ exports.PmRecommendationsModel = PmRecommendationsModel;
47
+ //# sourceMappingURL=PmRecommendationsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_pmProgressConstants","INITIAL_RECOMMENDATION_STATE","items","offset","limit","total","PmRecommendationsModel","$teacher","createStore","$magma","constructor","api","on","fetchTeacherRecsFx","doneData","_","data","fetchMagmaRecsFx","createEffect","tree","fetchRecs","SolvingFlow","TEACHER","getTeacherRecsFx","RECOMMENDATIONS_LIMIT_PARAM","MAGMA","getMagmaRecsFx","initRecommendationsFx","Promise","all","type","fetcher","recommendations","flatMap","skillId","skill","skillsMapping","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmRecommendationsModel.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,4BAA6C,GAAG;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC;AAE3F,MAAMC,sBAAsB,CAAC;EAClBC,QAAQ,GAAG,IAAAC,qBAAW,EAAkBP,4BAA4B,CAAC;EACrEQ,MAAM,GAAG,IAAAD,qBAAW,EAAkBP,4BAA4B,CAAC;EAEnFS,WAAWA,CAAkBC,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IAC7C,IAAI,CAACJ,QAAQ,CAACK,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,GAAG,IAAAK,sBAAY,EAAEC,IAAyB,IAC1E,IAAI,CAACC,SAAS,CAACD,IAAI,EAAEE,gCAAW,CAACC,OAAO,EAAE,MACxC,IAAI,CAACX,GAAG,CAACY,gBAAgB,CAAC;IAAEnB,KAAK,EAAEoB;EAA4B,CAAC,CAClE,CACF,CAAC;EAEeP,gBAAgB,GAAG,IAAAC,sBAAY,EAAEC,IAAyB,IACxE,IAAI,CAACC,SAAS,CAACD,IAAI,EAAEE,gCAAW,CAACI,KAAK,EAAE,MACtC,IAAI,CAACd,GAAG,CAACe,cAAc,CAAC;IAAEtB,KAAK,EAAEoB;EAA4B,CAAC,CAChE,CACF,CAAC;EAEeG,qBAAqB,GAAG,IAAAT,sBAAY,EAAEC,IAAyB,IAC7ES,OAAO,CAACC,GAAG,CAAC,CAAC,IAAI,CAAChB,kBAAkB,CAACM,IAAI,CAAC,EAAE,IAAI,CAACF,gBAAgB,CAACE,IAAI,CAAC,CAAC,CAC1E,CAAC;EAEOC,SAAS,GAAG,MAAAA,CAClBD,IAAyB,EACzBW,IAAiB,EACjBC,OAAoC,KACjC;IACH,MAAMC,eAAe,GAAG,MAAMD,OAAO,CAAC,CAAC;IACvC,OAAO;MACL,GAAGC,eAAe;MAClB9B,KAAK,EAAE8B,eAAe,CAAC9B,KAAK,CAAC+B,OAAO,CAAC,CAAC;QAAEC;MAAQ,CAAC,KAAK;QACpD,MAAMC,KAAK,GAAGhB,IAAI,CAACiB,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;AAACO,OAAA,CAAA/B,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmSolvingFlowModel = void 0;
7
+ var _effector = require("effector");
8
+ var _session = require("effector-storage/session");
9
+ var _pmProgressConstants = require("../shared/pmProgress.constants.js");
10
+ var _pmProgressHelpers = require("../shared/pmProgress.helpers.js");
11
+ var _skillsUtils = require("@matteappen/skills-utils");
12
+ var _commonConstants = require("../../../shared/common.constants.js");
13
+ class PmSolvingFlowModel {
14
+ reset = (0, _effector.createEvent)();
15
+ setQueue = (0, _effector.createEvent)();
16
+ advance = (0, _effector.createEvent)();
17
+ setLoaderOpeningId = (0, _effector.createEvent)();
18
+ $loaderOpeningId = (0, _effector.restore)(this.setLoaderOpeningId, null);
19
+ $queue = (0, _effector.restore)(this.setQueue, []).on(this.advance, queue => queue.slice(1)).reset(this.reset);
20
+ constructor(treeModel, recommendationsModel) {
21
+ this.treeModel = treeModel;
22
+ this.recommendationsModel = recommendationsModel;
23
+ if (_commonConstants.isWeb) {
24
+ (0, _session.persist)({
25
+ key: _pmProgressConstants.SessionStorageKeys.SOLVING_QUEUE,
26
+ store: this.$queue
27
+ });
28
+ }
29
+ }
30
+ async start(props) {
31
+ const buildQueue = await this.getBuilder(props);
32
+ const queue = buildQueue[props.type]();
33
+ this.setQueue(queue);
34
+ return queue[0];
35
+ }
36
+ async next() {
37
+ this.advance();
38
+ return this.$queue.getState()[0];
39
+ }
40
+ buildTeacherQueue({
41
+ domains,
42
+ context,
43
+ skillId
44
+ }) {
45
+ const teacherSkills = this.recommendationsModel.$teacher.getState().items;
46
+ const magmaRecommendations = this.recommendationsModel.$magma.getState().items;
47
+ const fromUncompletedDomains = (0, _pmProgressHelpers.getAllUncompletedSkills)(domains, context.tree.skillsMapping);
48
+ const teacherRecommendations = skillId ? (0, _pmProgressHelpers.shiftToBeginningOfArray)(skillId, teacherSkills) : teacherSkills;
49
+ return (0, _pmProgressHelpers.withoutDuplicates)([...teacherRecommendations, ...magmaRecommendations, ...fromUncompletedDomains]);
50
+ }
51
+ buildMagmaQueue({
52
+ domains,
53
+ context
54
+ }) {
55
+ const magmaRecommendations = this.recommendationsModel.$magma.getState().items;
56
+ const fromUncompletedDomains = (0, _pmProgressHelpers.getAllUncompletedSkills)(domains, context.tree.skillsMapping);
57
+ return (0, _pmProgressHelpers.withoutDuplicates)([...magmaRecommendations, ...fromUncompletedDomains]);
58
+ }
59
+ buildStandardQueue({
60
+ domains,
61
+ context,
62
+ standardId
63
+ }) {
64
+ const domain = domains.find(d => d.standards.some(s => s.standardId === standardId));
65
+ if (!domain) return [];
66
+ const standard = domain.standards.find(s => s.standardId === standardId);
67
+ if (!standard) return [];
68
+ const fromStandard = standard.isCompleted ? (0, _pmProgressHelpers.getAllSkillsFromStandard)(standard, context.tree.skillsMapping) : (0, _pmProgressHelpers.getUncompletedSkillsFromStandard)(standard, context.tree.skillsMapping);
69
+ const fromDomain = (0, _pmProgressHelpers.getUncompletedSkillsFromDomain)(domain, context.tree.skillsMapping, standardId);
70
+ const fromOtherDomains = domains.filter(d => d !== domain).flatMap(domain => (0, _pmProgressHelpers.getUncompletedSkillsFromDomain)(domain, context.tree.skillsMapping));
71
+ return (0, _pmProgressHelpers.withoutDuplicates)([...fromStandard, ...fromDomain, ...fromOtherDomains]);
72
+ }
73
+ getAllGradeDomains(context) {
74
+ const grade = this.treeModel.$grade.getState();
75
+ const treeGrades = this.treeModel.$grades.getState();
76
+ const grades = (0, _pmProgressHelpers.startGradesFrom)(treeGrades, grade).filter(({
77
+ isLocked
78
+ }) => !isLocked);
79
+ const treeNodes = Object.values(context.tree.treeMapping);
80
+ return grades.flatMap(grade => {
81
+ const [treeWithStats] = (0, _skillsUtils.enhanceProgressMatrixData)(treeNodes, context.stats, [{
82
+ entityId: context.user._id,
83
+ name: context.user.fullName
84
+ }], grade.value);
85
+ return (0, _pmProgressHelpers.getDomainStructure)(treeWithStats, context.tree.treeMapping);
86
+ });
87
+ }
88
+ async getBuilder(props) {
89
+ const context = await this.treeModel.getTreeContextFx();
90
+ const domains = this.getAllGradeDomains(context);
91
+ const data = {
92
+ domains,
93
+ context,
94
+ ...props
95
+ };
96
+ return {
97
+ [_pmProgressConstants.SolvingFlow.TEACHER]: () => this.buildTeacherQueue(data),
98
+ [_pmProgressConstants.SolvingFlow.MAGMA]: () => this.buildMagmaQueue(data),
99
+ [_pmProgressConstants.SolvingFlow.STANDARD]: () => this.buildStandardQueue(data)
100
+ };
101
+ }
102
+ }
103
+ exports.PmSolvingFlowModel = PmSolvingFlowModel;
104
+ //# sourceMappingURL=PmSolvingFlowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_session","_pmProgressConstants","_pmProgressHelpers","_skillsUtils","_commonConstants","PmSolvingFlowModel","reset","createEvent","setQueue","advance","setLoaderOpeningId","$loaderOpeningId","restore","$queue","on","queue","slice","constructor","treeModel","recommendationsModel","isWeb","persist","key","SessionStorageKeys","SOLVING_QUEUE","store","start","props","buildQueue","getBuilder","type","next","getState","buildTeacherQueue","domains","context","skillId","teacherSkills","$teacher","items","magmaRecommendations","$magma","fromUncompletedDomains","getAllUncompletedSkills","tree","skillsMapping","teacherRecommendations","shiftToBeginningOfArray","withoutDuplicates","buildMagmaQueue","buildStandardQueue","standardId","domain","find","d","standards","some","s","standard","fromStandard","isCompleted","getAllSkillsFromStandard","getUncompletedSkillsFromStandard","fromDomain","getUncompletedSkillsFromDomain","fromOtherDomains","filter","flatMap","getAllGradeDomains","grade","$grade","treeGrades","$grades","grades","startGradesFrom","isLocked","treeNodes","Object","values","treeMapping","treeWithStats","enhanceProgressMatrixData","stats","entityId","user","_id","name","fullName","value","getDomainStructure","getTreeContextFx","data","SolvingFlow","TEACHER","MAGMA","STANDARD","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmSolvingFlowModel.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PmTreeModel = void 0;
7
+ var _effector = require("effector");
8
+ var _effectorAction = require("effector-action");
9
+ var _skillsUtils = require("@matteappen/skills-utils");
10
+ var _pmProgressHelpers = require("../shared/pmProgress.helpers.js");
11
+ var _TreeNormalizer = require("../shared/TreeNormalizer.js");
12
+ var _session = require("effector-storage/session");
13
+ var _pmProgressConstants = require("../shared/pmProgress.constants.js");
14
+ var _commonConstants = require("../../../shared/common.constants.js");
15
+ class PmTreeModel {
16
+ $tree = (0, _effector.createStore)(null);
17
+ $stats = (0, _effector.createStore)(null);
18
+ $user = (0, _effector.createStore)(null);
19
+ setupInitialGrade = (0, _effector.createEvent)();
20
+ setDomains = (0, _effector.createEvent)();
21
+ setGrade = (0, _effector.createEvent)();
22
+ $isInitialized = (0, _effector.createStore)(false);
23
+ $grade = (0, _effector.restore)(this.setGrade, null);
24
+ $domains = (0, _effector.restore)(this.setDomains, []);
25
+ $grades = (0, _effector.createStore)([]);
26
+ $status = (0, _effector.createStore)(null);
27
+ constructor(api) {
28
+ this.api = api;
29
+ if (_commonConstants.isWeb) {
30
+ (0, _session.persist)({
31
+ key: _pmProgressConstants.SessionStorageKeys.GRADE,
32
+ store: this.$grade
33
+ });
34
+ (0, _session.persist)({
35
+ key: _pmProgressConstants.SessionStorageKeys.DOMAINS,
36
+ store: this.$domains
37
+ });
38
+ }
39
+ this.setupFailedAndLockedStatus();
40
+ this.setupTreeInit();
41
+ this.setupGradeInit();
42
+ this.setupDomainStructure();
43
+ }
44
+ initTreeFx = (0, _effector.createEffect)(async ({
45
+ user
46
+ }) => {
47
+ if (!user.setting.practiceModeTreeId) {
48
+ throw new Error('practiceModeTreeId is not set');
49
+ }
50
+ const [tree, stats] = await Promise.all([this.api.getTreeFx(user.setting.practiceModeTreeId), this.api.getStatisticsFx({
51
+ entityIds: [user._id]
52
+ })]);
53
+ return [_TreeNormalizer.TreeNormalizer.normalize(tree), stats];
54
+ });
55
+ getTreeContextFx = (0, _effector.attach)({
56
+ source: {
57
+ tree: this.$tree,
58
+ stats: this.$stats,
59
+ user: this.$user,
60
+ grade: this.$grade
61
+ },
62
+ mapParams: (_, source) => {
63
+ if (!(0, _pmProgressHelpers.isTreeDataReady)(source)) {
64
+ throw new Error('Cannot create treeWithUserStats in getTreeWithStatsFx - tree data is not ready.');
65
+ }
66
+ return source;
67
+ },
68
+ effect: (0, _effector.createEffect)(({
69
+ tree,
70
+ stats,
71
+ user,
72
+ grade
73
+ }) => {
74
+ const [treeWithStats] = (0, _skillsUtils.enhanceProgressMatrixData)(Object.values(tree.treeMapping), stats, [{
75
+ entityId: user._id,
76
+ name: user.fullName
77
+ }], grade);
78
+ return {
79
+ tree,
80
+ stats,
81
+ user,
82
+ treeWithStats
83
+ };
84
+ })
85
+ });
86
+ setupFailedAndLockedStatus() {
87
+ (0, _effector.sample)({
88
+ clock: this.initTreeFx.fail,
89
+ fn: () => _pmProgressConstants.PmProgressStatus.ERROR,
90
+ target: this.$status
91
+ });
92
+ (0, _effector.sample)({
93
+ clock: this.$grades,
94
+ filter: grades => grades.length > 0 && grades.every(g => g.isLocked),
95
+ fn: () => _pmProgressConstants.PmProgressStatus.LOCKED,
96
+ target: this.$status
97
+ });
98
+ }
99
+ setupTreeInit() {
100
+ (0, _effectorAction.createAction)(this.initTreeFx.done, {
101
+ target: {
102
+ $tree: this.$tree,
103
+ $stats: this.$stats,
104
+ $user: this.$user,
105
+ $grades: this.$grades,
106
+ $isInitialized: this.$isInitialized,
107
+ setupInitialGrade: this.setupInitialGrade
108
+ },
109
+ fn: (target, {
110
+ params: {
111
+ user
112
+ },
113
+ result: [tree, stats]
114
+ }) => {
115
+ target.$tree(tree);
116
+ target.$stats(stats);
117
+ target.$user(user);
118
+ target.$grades((0, _pmProgressHelpers.getTreeGrades)(tree, user));
119
+ target.setupInitialGrade({
120
+ tree,
121
+ user
122
+ });
123
+ target.$isInitialized(true);
124
+ }
125
+ });
126
+ }
127
+ setupGradeInit() {
128
+ (0, _effector.sample)({
129
+ clock: this.setupInitialGrade,
130
+ source: this.$grade,
131
+ fn: (grade, {
132
+ tree,
133
+ user
134
+ }) => {
135
+ const userLockedGrades = user.setting.practiceModeLockedGrades;
136
+ const isPersistedGradeValid = _commonConstants.isWeb && grade !== null && !userLockedGrades.includes(grade);
137
+ if (isPersistedGradeValid) return grade;
138
+ const treeGrades = Object.values(tree.treeMapping).filter(node => node.type === 'grade').map(node => node.attributes.grade);
139
+ return (0, _pmProgressHelpers.getInitialPmGrade)({
140
+ userGrade: user.grade,
141
+ treeGrades,
142
+ lockedGrades: userLockedGrades,
143
+ enrolledGrades: user.enrolledGrades
144
+ });
145
+ },
146
+ target: this.setGrade
147
+ });
148
+ }
149
+ setupDomainStructure() {
150
+ (0, _effector.sample)({
151
+ clock: [this.$grade, this.initTreeFx.doneData],
152
+ source: {
153
+ tree: this.$tree,
154
+ stats: this.$stats,
155
+ user: this.$user,
156
+ grade: this.$grade
157
+ },
158
+ filter: _pmProgressHelpers.isTreeDataReady,
159
+ fn: ({
160
+ tree,
161
+ stats,
162
+ user,
163
+ grade
164
+ }) => {
165
+ const [treeWithUserStats] = (0, _skillsUtils.enhanceProgressMatrixData)(Object.values(tree.treeMapping), stats, [{
166
+ entityId: user._id,
167
+ name: user.fullName
168
+ }], grade);
169
+ return (0, _pmProgressHelpers.getDomainStructure)(treeWithUserStats, tree.treeMapping);
170
+ },
171
+ target: this.setDomains
172
+ });
173
+ }
174
+ }
175
+ exports.PmTreeModel = PmTreeModel;
176
+ //# sourceMappingURL=PmTreeModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_effectorAction","_skillsUtils","_pmProgressHelpers","_TreeNormalizer","_session","_pmProgressConstants","_commonConstants","PmTreeModel","$tree","createStore","$stats","$user","setupInitialGrade","createEvent","setDomains","setGrade","$isInitialized","$grade","restore","$domains","$grades","$status","constructor","api","isWeb","persist","key","SessionStorageKeys","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainStructure","initTreeFx","createEffect","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","TreeNormalizer","normalize","getTreeContextFx","attach","source","grade","mapParams","_","isTreeDataReady","effect","treeWithStats","enhanceProgressMatrixData","Object","values","treeMapping","entityId","name","fullName","sample","clock","fail","fn","PmProgressStatus","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","createAction","done","params","result","getTreeGrades","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","getInitialPmGrade","userGrade","lockedGrades","enrolledGrades","doneData","treeWithUserStats","getDomainStructure","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TreeNormalizer = void 0;
7
+ /**
8
+ * Some skills from the API lack a valid ability (missing sectionId and functionName),
9
+ * making them impossible to open in the solving flow. This normalizer strips those skills
10
+ * and cascades the cleanup - removing standards, domains, etc. that end up empty.
11
+ *
12
+ * Acts as a single place to sanitize the tree API response before it enters the app.
13
+ * Can be extended with additional normalizations as new edge cases arise.
14
+ */
15
+ class TreeNormalizer {
16
+ static normalize(response) {
17
+ const skillsMapping = this.getOnlyValidSkills(response.skillsMapping);
18
+ const validIds = new Set(Object.keys(skillsMapping));
19
+ const treeMapping = this.removeEmptyNodes(response.treeMapping, validIds);
20
+ return {
21
+ ...response,
22
+ skillsMapping,
23
+ treeMapping
24
+ };
25
+ }
26
+ static isSkillValid(skill) {
27
+ return Boolean(skill?.ability && (skill.ability.sectionId || skill.ability.functionName));
28
+ }
29
+ static getOnlyValidSkills(mapping) {
30
+ return Object.fromEntries(Object.entries(mapping).filter(([, skill]) => this.isSkillValid(skill)));
31
+ }
32
+ static removeEmptyNodes(treeMapping, validIds) {
33
+ const emptyIds = this.getEmptyNodeIds(treeMapping, validIds);
34
+ return Object.fromEntries(Object.entries(treeMapping).filter(([id]) => !emptyIds.has(id)).map(([id, node]) => [id, {
35
+ ...node,
36
+ skills: node.skills.filter(sid => validIds.has(sid)),
37
+ children: node.children.filter(cid => !emptyIds.has(cid))
38
+ }]));
39
+ }
40
+ static getEmptyNodeIds(treeMapping, validIds) {
41
+ const empty = new Set();
42
+ const leafToRoot = Object.entries(treeMapping).sort(([, a], [, b]) => b.parents.length - a.parents.length);
43
+ for (const [id, node] of leafToRoot) {
44
+ const isEmptyLeaf = node.skills.length > 0 && node.skills.every(s => !validIds.has(s));
45
+ const isEmptyParent = node.children.length > 0 && node.children.every(c => empty.has(c));
46
+ if (isEmptyLeaf || isEmptyParent) empty.add(id);
47
+ }
48
+ return empty;
49
+ }
50
+ }
51
+ exports.TreeNormalizer = TreeNormalizer;
52
+ //# sourceMappingURL=TreeNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":"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","ignoreList":[]}