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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  2. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +1 -1
  6. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  7. package/dist/commonjs/features/pmProgress/PmProgress.js +62 -0
  8. package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
  9. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +22 -0
  10. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  11. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js +2 -0
  12. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js.map +1 -0
  13. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +44 -0
  14. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  15. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js +26 -0
  16. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  17. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +69 -0
  18. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  19. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +38 -0
  20. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  21. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +21 -0
  22. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  23. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js +82 -0
  24. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  25. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js +49 -0
  26. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  27. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js +25 -0
  28. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  29. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js +20 -0
  30. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  31. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
  32. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  33. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +199 -0
  34. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  35. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +71 -0
  36. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +95 -0
  38. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  39. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +71 -0
  40. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  41. package/dist/commonjs/features/pmProgress/components/list/Fluency.js +70 -0
  42. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +187 -0
  44. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +119 -0
  46. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +86 -0
  48. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  49. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +118 -0
  50. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  51. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  52. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/index.js +36 -0
  54. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  56. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  58. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +45 -0
  60. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  62. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +79 -0
  64. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +148 -0
  66. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +33 -0
  68. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +193 -0
  70. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  72. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  73. package/dist/commonjs/index.js +15 -3
  74. package/dist/commonjs/index.js.map +1 -1
  75. package/dist/commonjs/shared/icons/PentagonIcon.js +32 -0
  76. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  77. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  78. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  79. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +32 -0
  80. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  81. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  82. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  83. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  84. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  85. package/dist/commonjs/shared/translation/localization/ca.json +19 -0
  86. package/dist/commonjs/shared/translation/localization/de.json +19 -0
  87. package/dist/commonjs/shared/translation/localization/en.json +19 -0
  88. package/dist/commonjs/shared/translation/localization/gb.json +19 -0
  89. package/dist/commonjs/shared/translation/localization/sct.json +19 -0
  90. package/dist/commonjs/shared/translation/localization/sw.json +19 -0
  91. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  92. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  93. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  94. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  95. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  96. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  97. package/dist/module/features/pmProgress/PmProgress.js +56 -0
  98. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  99. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +15 -0
  100. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  101. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  102. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  103. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  104. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  105. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  106. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  107. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +63 -0
  108. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  109. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  110. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  111. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  112. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  113. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +76 -0
  114. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  115. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  116. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  117. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +20 -0
  118. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  119. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js +15 -0
  120. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  121. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  122. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  123. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +192 -0
  124. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  125. package/dist/module/features/pmProgress/components/insights/PmInsights.js +64 -0
  126. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  127. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +90 -0
  128. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  129. package/dist/module/features/pmProgress/components/insights/StatsCard.js +65 -0
  130. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  131. package/dist/module/features/pmProgress/components/list/Fluency.js +64 -0
  132. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  133. package/dist/module/features/pmProgress/components/list/ListCard.js +180 -0
  134. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  135. package/dist/module/features/pmProgress/components/list/ListItem.js +112 -0
  136. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  137. package/dist/module/features/pmProgress/components/list/PmDomainList.js +80 -0
  138. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  139. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +112 -0
  140. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  141. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  142. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  143. package/dist/module/features/pmProgress/index.js +9 -0
  144. package/dist/module/features/pmProgress/index.js.map +1 -0
  145. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  146. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  147. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  148. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  149. package/dist/module/features/pmProgress/model/PmProgressModel.js +40 -0
  150. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  151. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  152. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  153. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +74 -0
  154. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  155. package/dist/module/features/pmProgress/model/PmTreeModel.js +143 -0
  156. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  157. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +30 -0
  158. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  159. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +177 -0
  160. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  161. package/dist/module/features/pmProgress/shared/pmProgress.types.js +10 -0
  162. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  163. package/dist/module/index.js +1 -0
  164. package/dist/module/index.js.map +1 -1
  165. package/dist/module/shared/icons/PentagonIcon.js +24 -0
  166. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  167. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  168. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  169. package/dist/module/shared/icons/SliceDiamondIcon.js +24 -0
  170. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  171. package/dist/module/shared/icons/StarIcon.js +24 -0
  172. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  173. package/dist/module/shared/icons/TimerIcon.js +27 -0
  174. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  175. package/dist/module/shared/translation/localization/ca.json +19 -0
  176. package/dist/module/shared/translation/localization/de.json +19 -0
  177. package/dist/module/shared/translation/localization/en.json +19 -0
  178. package/dist/module/shared/translation/localization/gb.json +19 -0
  179. package/dist/module/shared/translation/localization/sct.json +19 -0
  180. package/dist/module/shared/translation/localization/sw.json +19 -0
  181. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  182. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  184. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  185. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  186. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  187. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  188. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  189. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  190. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  191. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  192. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  193. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  194. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  195. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  196. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  197. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  198. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  199. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  200. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  201. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  202. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  203. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  204. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  205. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  206. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  207. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  208. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  209. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  210. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  211. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  212. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  214. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  215. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  216. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  217. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  218. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  219. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +26 -0
  220. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  221. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +10 -0
  222. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  223. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  224. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  225. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  226. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  227. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  228. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  229. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +4 -0
  230. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  232. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  234. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +21 -0
  236. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  237. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  238. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +19 -0
  240. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +24 -0
  242. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +23 -0
  244. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +59 -0
  246. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +185 -0
  248. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/index.d.ts +1 -0
  250. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  251. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  252. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  254. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  256. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  258. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  260. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/shared/translation/constants.d.ts +114 -0
  262. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  263. package/dist/typescript/commonjs/shared/translation/model.d.ts +38 -0
  264. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  265. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  266. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  267. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  268. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  269. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  270. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  271. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  272. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  273. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  274. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  275. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  276. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  277. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  278. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  279. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  280. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  281. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  282. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  283. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  284. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  285. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  286. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  287. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  288. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  289. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  290. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  291. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  292. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  293. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  294. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  295. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  296. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  297. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  298. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  299. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  300. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  301. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  302. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  303. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +26 -0
  304. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  305. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +10 -0
  306. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  307. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  308. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  309. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  310. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  311. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  312. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  313. package/dist/typescript/module/features/pmProgress/index.d.ts +4 -0
  314. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  315. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  316. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  317. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  318. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  319. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +21 -0
  320. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  321. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  322. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  323. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +19 -0
  324. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  325. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +24 -0
  326. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  327. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +23 -0
  328. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  329. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +59 -0
  330. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  331. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +185 -0
  332. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  333. package/dist/typescript/module/index.d.ts +1 -0
  334. package/dist/typescript/module/index.d.ts.map +1 -1
  335. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  336. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  337. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  338. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  339. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  340. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  341. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  342. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  343. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  344. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  345. package/dist/typescript/module/shared/translation/constants.d.ts +114 -0
  346. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  347. package/dist/typescript/module/shared/translation/model.d.ts +38 -0
  348. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  349. package/package.json +13 -2
  350. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  351. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  352. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  353. package/src/features/pmProgress/PmProgress.tsx +52 -0
  354. package/src/features/pmProgress/__tests__/.keep +0 -0
  355. package/src/features/pmProgress/components/chart/chart.helpers.ts +14 -0
  356. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  357. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  358. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  359. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +75 -0
  360. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  361. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  362. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +88 -0
  363. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  364. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +20 -0
  365. package/src/features/pmProgress/components/chart/model/SliceHighlight.ts +17 -0
  366. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  367. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +187 -0
  368. package/src/features/pmProgress/components/insights/PmInsights.tsx +60 -0
  369. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +85 -0
  370. package/src/features/pmProgress/components/insights/StatsCard.tsx +53 -0
  371. package/src/features/pmProgress/components/list/Fluency.tsx +59 -0
  372. package/src/features/pmProgress/components/list/ListCard.tsx +216 -0
  373. package/src/features/pmProgress/components/list/ListItem.tsx +132 -0
  374. package/src/features/pmProgress/components/list/PmDomainList.tsx +66 -0
  375. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +108 -0
  376. package/src/features/pmProgress/context/PmProgressContext.tsx +23 -0
  377. package/src/features/pmProgress/index.ts +6 -0
  378. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  379. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  380. package/src/features/pmProgress/model/PmProgressModel.ts +50 -0
  381. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  382. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +105 -0
  383. package/src/features/pmProgress/model/PmTreeModel.ts +148 -0
  384. package/src/features/pmProgress/shared/pmProgress.constants.ts +73 -0
  385. package/src/features/pmProgress/shared/pmProgress.helpers.ts +239 -0
  386. package/src/features/pmProgress/shared/pmProgress.types.ts +207 -0
  387. package/src/index.ts +1 -0
  388. package/src/shared/icons/PentagonIcon.tsx +17 -0
  389. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  390. package/src/shared/icons/SliceDiamondIcon.tsx +16 -0
  391. package/src/shared/icons/StarIcon.tsx +17 -0
  392. package/src/shared/icons/TimerIcon.tsx +21 -0
  393. package/src/shared/translation/localization/ca.json +19 -0
  394. package/src/shared/translation/localization/de.json +19 -0
  395. package/src/shared/translation/localization/en.json +19 -0
  396. package/src/shared/translation/localization/gb.json +19 -0
  397. package/src/shared/translation/localization/sct.json +19 -0
  398. package/src/shared/translation/localization/sw.json +19 -0
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from 'react';
4
+ import { Pressable, View, StyleSheet } from 'react-native';
5
+ import { BORDER_RADIUS, CaretDownIcon, CaretRightIcon, COLORS, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui';
6
+ import { ListItem } from "./ListItem.js";
7
+ import { useText } from "../../../../shared/translation/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const HEADER_HEIGHT = 60;
10
+ const PROGRESS_BAR_WIDTH = 50;
11
+ const PROGRESS_BAR_HEIGHT = 10;
12
+ function getVisibleItems(items, maxItems) {
13
+ const visible = maxItems != null ? items.slice(0, maxItems) : items;
14
+ const remainingCount = maxItems != null ? Math.max(0, items.length - maxItems) : 0;
15
+ return {
16
+ visible,
17
+ remainingCount
18
+ };
19
+ }
20
+ export const ListCard = ({
21
+ title,
22
+ icon,
23
+ color,
24
+ items,
25
+ isExpanded = false,
26
+ onPress,
27
+ onItemPress,
28
+ progress = 0,
29
+ rightContent,
30
+ isFirst,
31
+ isLast,
32
+ maxItems,
33
+ expandedColor = COLORS.NEUTRAL_3
34
+ }) => {
35
+ const t = useText();
36
+ const [isHovered, setIsHovered] = useState(false);
37
+ const {
38
+ visible,
39
+ remainingCount
40
+ } = getVisibleItems(items, maxItems);
41
+ const isHighlighted = isHovered || isExpanded;
42
+ const Caret = isExpanded ? CaretDownIcon : CaretRightIcon;
43
+ return /*#__PURE__*/_jsxs(View, {
44
+ style: [styles.container, !isFirst && styles.containerCollapsed, isFirst && styles.containerFirst, isLast && styles.containerLast, isHighlighted && {
45
+ backgroundColor: expandedColor
46
+ }],
47
+ children: [/*#__PURE__*/_jsxs(Pressable, {
48
+ style: [styles.header, isFirst && styles.headerFirst, isLast && !isExpanded && styles.headerLast, isHighlighted && {
49
+ backgroundColor: expandedColor
50
+ }],
51
+ onPress: onPress,
52
+ onHoverIn: () => setIsHovered(true),
53
+ onHoverOut: () => setIsHovered(false),
54
+ children: [icon, /*#__PURE__*/_jsx(View, {
55
+ style: styles.caret,
56
+ children: /*#__PURE__*/_jsx(Caret, {
57
+ color: COLORS.NEUTRAL_9
58
+ })
59
+ }), /*#__PURE__*/_jsx(Typography, {
60
+ variant: HeadingVariants.H6,
61
+ style: styles.title,
62
+ children: title
63
+ }), rightContent ?? /*#__PURE__*/_jsxs(View, {
64
+ style: styles.progress,
65
+ children: [/*#__PURE__*/_jsxs(Typography, {
66
+ variant: HeadingVariants.H7,
67
+ style: [styles.percentage, {
68
+ color
69
+ }],
70
+ children: [Math.round(progress), "%"]
71
+ }), /*#__PURE__*/_jsx(View, {
72
+ style: styles.track,
73
+ children: /*#__PURE__*/_jsx(View, {
74
+ style: [styles.fill, {
75
+ width: `${Math.round(progress)}%`,
76
+ backgroundColor: color
77
+ }]
78
+ })
79
+ })]
80
+ })]
81
+ }), isExpanded && /*#__PURE__*/_jsxs(View, {
82
+ style: [styles.items, isLast && styles.itemsLast],
83
+ children: [visible.map(item => {
84
+ const skillsLeft = item.skillsCount.total - item.skillsCount.achieved;
85
+ return /*#__PURE__*/_jsx(ListItem, {
86
+ title: item.title,
87
+ skillsLeft: skillsLeft,
88
+ subtitle: item.subtitle,
89
+ isFinished: skillsLeft === 0,
90
+ onPress: () => onItemPress?.(item)
91
+ }, item.id);
92
+ }), remainingCount > 0 && /*#__PURE__*/_jsx(Typography, {
93
+ variant: HeadingVariants.H8,
94
+ style: styles.moreText,
95
+ children: t('pmProgress.andMore', {
96
+ count: `${remainingCount}`
97
+ })
98
+ })]
99
+ })]
100
+ });
101
+ };
102
+ const styles = StyleSheet.create({
103
+ container: {
104
+ justifyContent: 'center',
105
+ backgroundColor: COLORS.NEUTRAL_2,
106
+ overflow: 'hidden',
107
+ cursor: 'pointer'
108
+ },
109
+ containerCollapsed: {
110
+ marginTop: -1
111
+ },
112
+ containerFirst: {
113
+ borderTopLeftRadius: BORDER_RADIUS[200],
114
+ borderTopRightRadius: BORDER_RADIUS[200]
115
+ },
116
+ containerLast: {
117
+ borderBottomLeftRadius: BORDER_RADIUS[200],
118
+ borderBottomRightRadius: BORDER_RADIUS[200]
119
+ },
120
+ header: {
121
+ flexDirection: 'row',
122
+ alignItems: 'center',
123
+ height: HEADER_HEIGHT,
124
+ padding: SPACING[400],
125
+ backgroundColor: COLORS.NEUTRAL_2,
126
+ borderWidth: 1,
127
+ borderColor: COLORS.NEUTRAL_4,
128
+ cursor: 'pointer'
129
+ },
130
+ headerFirst: {
131
+ borderTopLeftRadius: BORDER_RADIUS[200],
132
+ borderTopRightRadius: BORDER_RADIUS[200]
133
+ },
134
+ headerLast: {
135
+ borderBottomLeftRadius: BORDER_RADIUS[200],
136
+ borderBottomRightRadius: BORDER_RADIUS[200]
137
+ },
138
+ caret: {
139
+ marginLeft: SPACING[400]
140
+ },
141
+ title: {
142
+ color: COLORS.NEUTRAL_9,
143
+ marginLeft: SPACING[200],
144
+ flex: 1
145
+ },
146
+ progress: {
147
+ flexDirection: 'row',
148
+ alignItems: 'center',
149
+ gap: SPACING[200]
150
+ },
151
+ percentage: {
152
+ textAlign: 'right'
153
+ },
154
+ track: {
155
+ width: PROGRESS_BAR_WIDTH,
156
+ height: PROGRESS_BAR_HEIGHT,
157
+ backgroundColor: COLORS.NEUTRAL_4,
158
+ borderRadius: BORDER_RADIUS[200],
159
+ overflow: 'hidden'
160
+ },
161
+ fill: {
162
+ height: '100%',
163
+ borderRadius: BORDER_RADIUS[200]
164
+ },
165
+ items: {
166
+ gap: SPACING[200],
167
+ padding: SPACING[200],
168
+ backgroundColor: COLORS.NEUTRAL_1
169
+ },
170
+ itemsLast: {
171
+ borderBottomLeftRadius: BORDER_RADIUS[200],
172
+ borderBottomRightRadius: BORDER_RADIUS[200]
173
+ },
174
+ moreText: {
175
+ textAlign: 'center',
176
+ color: COLORS.NEUTRAL_7,
177
+ marginVertical: SPACING[200]
178
+ }
179
+ });
180
+ //# sourceMappingURL=ListCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","Pressable","View","StyleSheet","BORDER_RADIUS","CaretDownIcon","CaretRightIcon","COLORS","HeadingVariants","SPACING","Typography","ListItem","useText","jsx","_jsx","jsxs","_jsxs","HEADER_HEIGHT","PROGRESS_BAR_WIDTH","PROGRESS_BAR_HEIGHT","getVisibleItems","items","maxItems","visible","slice","remainingCount","Math","max","length","ListCard","title","icon","color","isExpanded","onPress","onItemPress","progress","rightContent","isFirst","isLast","expandedColor","NEUTRAL_3","t","isHovered","setIsHovered","isHighlighted","Caret","style","styles","container","containerCollapsed","containerFirst","containerLast","backgroundColor","children","header","headerFirst","headerLast","onHoverIn","onHoverOut","caret","NEUTRAL_9","variant","H6","H7","percentage","round","track","fill","width","itemsLast","map","item","skillsLeft","skillsCount","total","achieved","subtitle","isFinished","id","H8","moreText","count","create","justifyContent","NEUTRAL_2","overflow","cursor","marginTop","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","flexDirection","alignItems","height","padding","borderWidth","borderColor","NEUTRAL_4","marginLeft","flex","gap","textAlign","borderRadius","NEUTRAL_1","NEUTRAL_7","marginVertical"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/list/ListCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from 'react';
4
+ import { View, Pressable, StyleSheet } from 'react-native';
5
+ import { ArrowRightIcon, CheckIcon, COLORS, FONT_FAMILY, HeadingVariants, Typography } from '@magmamath/react-native-ui';
6
+ import { useText } from "../../../../shared/translation/index.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const FINISHED_BG = '#EFFBF5';
9
+ const FINISHED_TITLE = '#00804A';
10
+ const FINISHED_SUBTITLE = '#29A96F';
11
+ const FINISHED_ICON = '#5CD497';
12
+ const CARD_HEIGHT = 52;
13
+ const ICON_SIZE = 25;
14
+ const SUBTITLE_FONT_SIZE = 10;
15
+ const SUBTITLE_LINE_HEIGHT = 14;
16
+ export const ListItem = ({
17
+ title,
18
+ subtitle,
19
+ skillsLeft,
20
+ isFinished = false,
21
+ onPress
22
+ }) => {
23
+ const t = useText();
24
+ const [isHovered, setIsHovered] = useState(false);
25
+ return /*#__PURE__*/_jsxs(Pressable, {
26
+ onPress: onPress,
27
+ style: [styles.card, isFinished && styles.finished, isHovered && styles.hovered],
28
+ onHoverIn: () => setIsHovered(true),
29
+ onHoverOut: () => setIsHovered(false),
30
+ children: [/*#__PURE__*/_jsxs(View, {
31
+ style: styles.content,
32
+ children: [/*#__PURE__*/_jsx(Typography, {
33
+ variant: HeadingVariants.H10,
34
+ style: [styles.title, isFinished && styles.titleFinished],
35
+ numberOfLines: 1,
36
+ children: title
37
+ }), /*#__PURE__*/_jsx(Typography, {
38
+ style: [styles.subtitle, isFinished && styles.subtitleFinished],
39
+ numberOfLines: 1,
40
+ children: subtitle
41
+ })]
42
+ }), /*#__PURE__*/_jsxs(View, {
43
+ style: styles.trailing,
44
+ children: [!isFinished && skillsLeft > 0 && /*#__PURE__*/_jsxs(Typography, {
45
+ variant: HeadingVariants.H10,
46
+ style: styles.skills,
47
+ children: [skillsLeft, " ", skillsLeft === 1 ? t('pmProgress.skillLeft') : t('pmProgress.skillsLeft')]
48
+ }), /*#__PURE__*/_jsx(View, {
49
+ style: styles.icon,
50
+ children: isFinished ? /*#__PURE__*/_jsx(CheckIcon, {
51
+ color: FINISHED_ICON
52
+ }) : /*#__PURE__*/_jsx(ArrowRightIcon, {
53
+ color: COLORS.NEUTRAL_9
54
+ })
55
+ })]
56
+ })]
57
+ });
58
+ };
59
+ const styles = StyleSheet.create({
60
+ card: {
61
+ flexDirection: 'row',
62
+ alignItems: 'center',
63
+ height: CARD_HEIGHT,
64
+ paddingLeft: 32,
65
+ paddingRight: 16,
66
+ backgroundColor: 'white',
67
+ borderRadius: 12,
68
+ gap: 8,
69
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A'
70
+ },
71
+ finished: {
72
+ backgroundColor: FINISHED_BG,
73
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A'
74
+ },
75
+ hovered: {
76
+ backgroundColor: '#FAFAFB',
77
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A, 4px 4px 10px rgba(51, 51, 51, 0.15)'
78
+ },
79
+ content: {
80
+ flex: 1
81
+ },
82
+ title: {
83
+ color: COLORS.NEUTRAL_9
84
+ },
85
+ titleFinished: {
86
+ color: FINISHED_TITLE
87
+ },
88
+ subtitle: {
89
+ color: COLORS.NEUTRAL_7,
90
+ fontSize: SUBTITLE_FONT_SIZE,
91
+ fontFamily: FONT_FAMILY.buenosAires,
92
+ lineHeight: SUBTITLE_LINE_HEIGHT
93
+ },
94
+ subtitleFinished: {
95
+ color: FINISHED_SUBTITLE
96
+ },
97
+ trailing: {
98
+ flexDirection: 'row',
99
+ alignItems: 'center',
100
+ gap: 8
101
+ },
102
+ skills: {
103
+ color: COLORS.NEUTRAL_9
104
+ },
105
+ icon: {
106
+ width: ICON_SIZE,
107
+ height: ICON_SIZE,
108
+ justifyContent: 'center',
109
+ alignItems: 'center'
110
+ }
111
+ });
112
+ //# sourceMappingURL=ListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","View","Pressable","StyleSheet","ArrowRightIcon","CheckIcon","COLORS","FONT_FAMILY","HeadingVariants","Typography","useText","jsx","_jsx","jsxs","_jsxs","FINISHED_BG","FINISHED_TITLE","FINISHED_SUBTITLE","FINISHED_ICON","CARD_HEIGHT","ICON_SIZE","SUBTITLE_FONT_SIZE","SUBTITLE_LINE_HEIGHT","ListItem","title","subtitle","skillsLeft","isFinished","onPress","t","isHovered","setIsHovered","style","styles","card","finished","hovered","onHoverIn","onHoverOut","children","content","variant","H10","titleFinished","numberOfLines","subtitleFinished","trailing","skills","icon","color","NEUTRAL_9","create","flexDirection","alignItems","height","paddingLeft","paddingRight","backgroundColor","borderRadius","gap","boxShadow","flex","NEUTRAL_7","fontSize","fontFamily","buenosAires","lineHeight","width","justifyContent"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/list/ListItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { useUnit } from 'effector-react';
6
+ import { BORDER_RADIUS, COLORS, ScrollableList, SPACING } from '@magmamath/react-native-ui';
7
+ import { ListCard } from "./ListCard.js";
8
+ import { Fluency } from "./Fluency.js";
9
+ import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
10
+ import { usePmProgress } from "../../context/PmProgressContext.js";
11
+ import { isFluencyDomain } from "../../shared/pmProgress.helpers.js";
12
+ import { SolvingFlow } from "../../shared/pmProgress.constants.js";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const PmDomainList = () => {
15
+ const {
16
+ model,
17
+ onStandardPress
18
+ } = usePmProgress();
19
+ const domains = useUnit(model.tree.$domains);
20
+ const highlightedId = useUnit(model.tree.$highlightedId);
21
+ const fluency = domains.find(({
22
+ title
23
+ }) => isFluencyDomain(title));
24
+ const list = fluency ? domains.filter(({
25
+ title
26
+ }) => !isFluencyDomain(title)) : domains;
27
+ return /*#__PURE__*/_jsx(View, {
28
+ style: styles.container,
29
+ children: /*#__PURE__*/_jsx(ScrollableList, {
30
+ data: list,
31
+ hideShadow: true,
32
+ scrollbarWidth: 8,
33
+ style: styles.scroll,
34
+ ListFooterComponent: /*#__PURE__*/_jsx(Fluency, {
35
+ data: fluency
36
+ }),
37
+ keyExtractor: item => item.domainId,
38
+ renderItem: ({
39
+ item,
40
+ index
41
+ }) => /*#__PURE__*/_jsx(ListCard, {
42
+ title: item.title,
43
+ items: item.standards.map(standard => ({
44
+ ...standard,
45
+ id: standard.standardId
46
+ })),
47
+ progress: item.scorePercentage,
48
+ color: item.color,
49
+ onPress: () => model.tree.setHighlightedId(item.domainId),
50
+ onItemPress: async item => {
51
+ const skill = await model.solving.start({
52
+ type: SolvingFlow.STANDARD,
53
+ standardId: item.standardId
54
+ });
55
+ // @ts-ignore
56
+ onStandardPress?.(skill);
57
+ },
58
+ isLast: index === list.length - 1,
59
+ isFirst: index === 0,
60
+ isExpanded: highlightedId === item.domainId,
61
+ icon: /*#__PURE__*/_jsx(SliceDiamondIcon, {
62
+ color: item.color
63
+ })
64
+ })
65
+ })
66
+ });
67
+ };
68
+ const styles = StyleSheet.create({
69
+ container: {
70
+ flex: 1,
71
+ overflow: 'hidden',
72
+ padding: SPACING[200],
73
+ backgroundColor: COLORS.NEUTRAL_1,
74
+ borderRadius: BORDER_RADIUS[400]
75
+ },
76
+ scroll: {
77
+ flex: 1
78
+ }
79
+ });
80
+ //# sourceMappingURL=PmDomainList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","useUnit","BORDER_RADIUS","COLORS","ScrollableList","SPACING","ListCard","Fluency","SliceDiamondIcon","usePmProgress","isFluencyDomain","SolvingFlow","jsx","_jsx","PmDomainList","model","onStandardPress","domains","tree","$domains","highlightedId","$highlightedId","fluency","find","title","list","filter","style","styles","container","children","data","hideShadow","scrollbarWidth","scroll","ListFooterComponent","keyExtractor","item","domainId","renderItem","index","items","standards","map","standard","id","standardId","progress","scorePercentage","color","onPress","setHighlightedId","onItemPress","skill","solving","start","type","STANDARD","isLast","length","isFirst","isExpanded","icon","create","flex","overflow","padding","backgroundColor","NEUTRAL_1","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/list/PmDomainList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, Text, View } from 'react-native';
5
+ import { ListCard } from "../list/ListCard.js";
6
+ import { PentagonIcon } from "../../../../shared/icons/PentagonIcon.js";
7
+ import { BORDER_RADIUS, Button, ButtonSize, ButtonVariant, COLORS, SPACING } from '@magmamath/react-native-ui';
8
+ import { useText } from "../../../../shared/translation/index.js";
9
+ import { useStoreMap, useUnit } from 'effector-react';
10
+ import { CustomDomain, SolvingFlow } from "../../shared/pmProgress.constants.js";
11
+ import { usePmProgress } from "../../context/PmProgressContext.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const PmTeacherRecs = () => {
14
+ const t = useText();
15
+ const {
16
+ model,
17
+ onPracticePress,
18
+ onTeacherRecommendationPress
19
+ } = usePmProgress();
20
+ const highlightedId = useUnit(model.tree.$highlightedId);
21
+
22
+ // TODO: rework this, probably split and pass renderer to ListCard
23
+ const recommendations = useStoreMap(model.recommendations.$teacher, ({
24
+ items
25
+ }) => items.map(skill => ({
26
+ id: skill._id,
27
+ skillId: skill._id,
28
+ title: skill.nameTranslations,
29
+ subtitle: skill.shortDescriptionTranslations,
30
+ skillsCount: {
31
+ total: 1,
32
+ achieved: 0,
33
+ failed: 0
34
+ } // TODO: fix this to be able to determine if isFinished - I think need to find this in skillsMapping or something??
35
+ })));
36
+ return /*#__PURE__*/_jsx(View, {
37
+ style: styles.container,
38
+ children: /*#__PURE__*/_jsxs(View, {
39
+ style: styles.wrapper,
40
+ children: [/*#__PURE__*/_jsx(ListCard, {
41
+ title: t('pmProgress.teacherRecs'),
42
+ items: recommendations,
43
+ maxItems: 3,
44
+ color: COLORS.PRIMARY_YELLOW,
45
+ expandedColor: COLORS.YELLOW_1,
46
+ onPress: () => model.tree.setHighlightedId(CustomDomain.TEACHER),
47
+ onItemPress: async item => {
48
+ const skill = await model.solving.start({
49
+ type: SolvingFlow.TEACHER,
50
+ skillId: item.skillId
51
+ });
52
+ // @ts-ignore
53
+ onPracticePress?.(skill);
54
+ },
55
+ isLast: true,
56
+ isFirst: true,
57
+ isExpanded: highlightedId === CustomDomain.TEACHER,
58
+ icon: /*#__PURE__*/_jsx(PentagonIcon, {
59
+ color: COLORS.PRIMARY_YELLOW
60
+ }),
61
+ rightContent: /*#__PURE__*/_jsx(Button, {
62
+ onPress: async () => {
63
+ const skill = await model.solving.start({
64
+ type: SolvingFlow.TEACHER
65
+ });
66
+
67
+ // @ts-ignore
68
+ onTeacherRecommendationPress?.(skill);
69
+ },
70
+ size: ButtonSize.SMALL,
71
+ variant: ButtonVariant.SECONDARY,
72
+ children: t('pmProgress.practiceButton')
73
+ })
74
+ }), recommendations.length > 0 && /*#__PURE__*/_jsx(View, {
75
+ style: styles.badge,
76
+ children: /*#__PURE__*/_jsx(Text, {
77
+ style: styles.text,
78
+ children: recommendations.length
79
+ })
80
+ })]
81
+ })
82
+ });
83
+ };
84
+ const styles = StyleSheet.create({
85
+ container: {
86
+ overflow: 'visible',
87
+ padding: SPACING[200],
88
+ borderRadius: BORDER_RADIUS[400],
89
+ backgroundColor: COLORS.NEUTRAL_1
90
+ },
91
+ wrapper: {
92
+ position: 'relative'
93
+ },
94
+ badge: {
95
+ position: 'absolute',
96
+ top: -8,
97
+ right: -8,
98
+ width: 20,
99
+ height: 20,
100
+ backgroundColor: COLORS.PRIMARY_RED,
101
+ alignItems: 'center',
102
+ justifyContent: 'center',
103
+ borderRadius: '50%'
104
+ },
105
+ text: {
106
+ textAlign: 'center',
107
+ fontSize: 12,
108
+ fontWeight: '600',
109
+ color: COLORS.NEUTRAL_1
110
+ }
111
+ });
112
+ //# sourceMappingURL=PmTeacherRecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Text","View","ListCard","PentagonIcon","BORDER_RADIUS","Button","ButtonSize","ButtonVariant","COLORS","SPACING","useText","useStoreMap","useUnit","CustomDomain","SolvingFlow","usePmProgress","jsx","_jsx","jsxs","_jsxs","PmTeacherRecs","t","model","onPracticePress","onTeacherRecommendationPress","highlightedId","tree","$highlightedId","recommendations","$teacher","items","map","skill","id","_id","skillId","title","nameTranslations","subtitle","shortDescriptionTranslations","skillsCount","total","achieved","failed","style","styles","container","children","wrapper","maxItems","color","PRIMARY_YELLOW","expandedColor","YELLOW_1","onPress","setHighlightedId","TEACHER","onItemPress","item","solving","start","type","isLast","isFirst","isExpanded","icon","rightContent","size","SMALL","variant","SECONDARY","length","badge","text","create","overflow","padding","borderRadius","backgroundColor","NEUTRAL_1","position","top","right","width","height","PRIMARY_RED","alignItems","justifyContent","textAlign","fontSize","fontWeight"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/recs/PmTeacherRecs.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,9 @@
1
+ "use strict";
2
+
3
+ export { PmProgress } from "./PmProgress.js";
4
+ export { PmProgressModel } from "./model/PmProgressModel.js";
5
+ export * from "./shared/pmProgress.types.js";
6
+
7
+ // TODO:
8
+ // !!! case when card is failed and easier card suggested !!!
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PmProgress","PmProgressModel"],"sourceRoot":"../../../../src","sources":["features/pmProgress/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,eAAe,QAAQ,4BAAyB;AACzD,cAAc,8BAA2B;;AAEzC;AACA","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,40 @@
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
+ export class PmProgressModel {
11
+ gate = createGate();
12
+ constructor({
13
+ api
14
+ }) {
15
+ this.api = new PmProgressApi(api);
16
+ this.insights = new PmInsightsModel(this.api);
17
+ this.tree = new PmTreeModel(this.api);
18
+ this.recommendations = new PmRecommendationsModel(this.api);
19
+ this.solving = new PmSolvingFlowModel(this.tree, this.recommendations);
20
+ this.init();
21
+ }
22
+ init() {
23
+ sample({
24
+ clock: this.gate.open,
25
+ target: [this.tree.initTreeFx, this.api.getUserInsightsFx]
26
+ });
27
+ sample({
28
+ clock: this.tree.initTreeFx.done,
29
+ fn: ({
30
+ result: [tree]
31
+ }) => tree,
32
+ target: this.recommendations.initRecommendationsFx
33
+ });
34
+ sample({
35
+ clock: this.gate.close,
36
+ target: this.solving.reset
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=PmProgressModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sample","createGate","PmProgressApi","PmTreeModel","PmInsightsModel","PmRecommendationsModel","PmSolvingFlowModel","PmProgressModel","gate","constructor","api","insights","tree","recommendations","solving","init","clock","open","target","initTreeFx","getUserInsightsFx","done","fn","result","initRecommendationsFx","close","reset"],"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;AAMzD,OAAO,MAAMC,eAAe,CAAC;EACXC,IAAI,GAAGP,UAAU,CAAsB,CAAC;EAQxDQ,WAAWA,CAAC;IAAEC;EAA0B,CAAC,EAAE;IACzC,IAAI,CAACA,GAAG,GAAG,IAAIR,aAAa,CAACQ,GAAG,CAAC;IACjC,IAAI,CAACC,QAAQ,GAAG,IAAIP,eAAe,CAAC,IAAI,CAACM,GAAG,CAAC;IAC7C,IAAI,CAACE,IAAI,GAAG,IAAIT,WAAW,CAAC,IAAI,CAACO,GAAG,CAAC;IACrC,IAAI,CAACG,eAAe,GAAG,IAAIR,sBAAsB,CAAC,IAAI,CAACK,GAAG,CAAC;IAC3D,IAAI,CAACI,OAAO,GAAG,IAAIR,kBAAkB,CAAC,IAAI,CAACM,IAAI,EAAE,IAAI,CAACC,eAAe,CAAC;IAEtE,IAAI,CAACE,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACbf,MAAM,CAAC;MACLgB,KAAK,EAAE,IAAI,CAACR,IAAI,CAACS,IAAI;MACrBC,MAAM,EAAE,CAAC,IAAI,CAACN,IAAI,CAACO,UAAU,EAAE,IAAI,CAACT,GAAG,CAACU,iBAAiB;IAC3D,CAAC,CAAC;IAEFpB,MAAM,CAAC;MACLgB,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;IAEFxB,MAAM,CAAC;MACLgB,KAAK,EAAE,IAAI,CAACR,IAAI,CAACiB,KAAK;MACtBP,MAAM,EAAE,IAAI,CAACJ,OAAO,CAACY;IACvB,CAAC,CAAC;EACJ;AACF","ignoreList":[]}