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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  2. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +1 -1
  6. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  7. package/dist/commonjs/features/pmProgress/PmProgress.js +62 -0
  8. package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
  9. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +23 -0
  10. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  11. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js +2 -0
  12. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js.map +1 -0
  13. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +44 -0
  14. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  15. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js +26 -0
  16. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  17. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +77 -0
  18. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  19. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +38 -0
  20. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  21. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +21 -0
  22. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  23. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js +82 -0
  24. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  25. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js +49 -0
  26. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  27. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js +25 -0
  28. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  29. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js +20 -0
  30. package/dist/commonjs/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  31. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
  32. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  33. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +199 -0
  34. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  35. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +70 -0
  36. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +94 -0
  38. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  39. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +71 -0
  40. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  41. package/dist/commonjs/features/pmProgress/components/list/Fluency.js +69 -0
  42. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +198 -0
  44. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +121 -0
  46. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +89 -0
  48. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  49. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +118 -0
  50. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  51. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js +202 -0
  52. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  54. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/index.js +56 -0
  56. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js +15 -0
  58. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  60. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  62. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +43 -0
  64. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  66. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +100 -0
  68. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +138 -0
  70. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +49 -0
  72. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  73. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +221 -0
  74. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  75. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  76. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  77. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +0 -5
  78. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  79. package/dist/commonjs/features/voice/types.js +0 -6
  80. package/dist/commonjs/features/voice/types.js.map +1 -1
  81. package/dist/commonjs/index.js +15 -3
  82. package/dist/commonjs/index.js.map +1 -1
  83. package/dist/commonjs/shared/icons/PentagonIcon.js +32 -0
  84. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  85. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  86. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  87. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +32 -0
  88. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  89. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  90. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  91. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  92. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  93. package/dist/commonjs/shared/translation/localization/ca.json +19 -0
  94. package/dist/commonjs/shared/translation/localization/de.json +19 -0
  95. package/dist/commonjs/shared/translation/localization/en.json +19 -0
  96. package/dist/commonjs/shared/translation/localization/gb.json +19 -0
  97. package/dist/commonjs/shared/translation/localization/sct.json +19 -0
  98. package/dist/commonjs/shared/translation/localization/sw.json +19 -0
  99. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  100. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  101. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  102. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  103. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  104. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  105. package/dist/module/features/pmProgress/PmProgress.js +56 -0
  106. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  107. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +16 -0
  108. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  109. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  110. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  111. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  112. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  113. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  114. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  115. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +71 -0
  116. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  117. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  118. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  119. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  120. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  121. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +76 -0
  122. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  123. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  124. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  125. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +20 -0
  126. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  127. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js +15 -0
  128. package/dist/module/features/pmProgress/components/chart/model/SliceHighlight.js.map +1 -0
  129. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  130. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  131. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +192 -0
  132. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  133. package/dist/module/features/pmProgress/components/insights/PmInsights.js +63 -0
  134. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  135. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +89 -0
  136. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  137. package/dist/module/features/pmProgress/components/insights/StatsCard.js +65 -0
  138. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  139. package/dist/module/features/pmProgress/components/list/Fluency.js +63 -0
  140. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  141. package/dist/module/features/pmProgress/components/list/ListCard.js +191 -0
  142. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  143. package/dist/module/features/pmProgress/components/list/ListItem.js +114 -0
  144. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  145. package/dist/module/features/pmProgress/components/list/PmDomainList.js +83 -0
  146. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  147. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +112 -0
  148. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  149. package/dist/module/features/pmProgress/components/standard/StandardTag.js +196 -0
  150. package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  151. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  152. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  153. package/dist/module/features/pmProgress/index.js +11 -0
  154. package/dist/module/features/pmProgress/index.js.map +1 -0
  155. package/dist/module/features/pmProgress/model/PmHighlightModel.js +10 -0
  156. package/dist/module/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  157. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  158. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  159. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  160. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  161. package/dist/module/features/pmProgress/model/PmProgressModel.js +38 -0
  162. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  163. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  164. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  165. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +95 -0
  166. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  167. package/dist/module/features/pmProgress/model/PmTreeModel.js +133 -0
  168. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  169. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +46 -0
  170. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  171. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +202 -0
  172. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  173. package/dist/module/features/pmProgress/shared/pmProgress.types.js +10 -0
  174. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  175. package/dist/module/features/voice/recording/model/VoiceRecord.model.js +0 -5
  176. package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  177. package/dist/module/features/voice/types.js +1 -5
  178. package/dist/module/features/voice/types.js.map +1 -1
  179. package/dist/module/index.js +1 -0
  180. package/dist/module/index.js.map +1 -1
  181. package/dist/module/shared/icons/PentagonIcon.js +24 -0
  182. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  183. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  184. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  185. package/dist/module/shared/icons/SliceDiamondIcon.js +24 -0
  186. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  187. package/dist/module/shared/icons/StarIcon.js +24 -0
  188. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  189. package/dist/module/shared/icons/TimerIcon.js +27 -0
  190. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  191. package/dist/module/shared/translation/localization/ca.json +19 -0
  192. package/dist/module/shared/translation/localization/de.json +19 -0
  193. package/dist/module/shared/translation/localization/en.json +19 -0
  194. package/dist/module/shared/translation/localization/gb.json +19 -0
  195. package/dist/module/shared/translation/localization/sct.json +19 -0
  196. package/dist/module/shared/translation/localization/sw.json +19 -0
  197. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  198. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  199. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  200. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  201. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  202. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  203. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  204. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  205. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  206. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  207. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  208. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  209. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  210. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  211. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  212. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  214. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  215. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  216. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  217. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  218. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  219. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  220. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  221. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  222. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  223. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  224. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  225. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  226. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  227. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  228. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  229. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  230. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  232. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  233. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  234. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +30 -0
  236. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  237. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +11 -0
  238. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  240. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  242. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  244. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  246. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +6 -0
  248. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  250. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  252. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  254. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  256. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  258. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +20 -0
  260. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +18 -0
  262. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +36 -0
  264. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +64 -0
  266. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +187 -0
  268. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  270. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  271. package/dist/typescript/commonjs/features/voice/types.d.ts +0 -4
  272. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  273. package/dist/typescript/commonjs/index.d.ts +1 -0
  274. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  276. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  278. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  280. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  281. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  282. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  283. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  284. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/shared/translation/constants.d.ts +114 -0
  286. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  287. package/dist/typescript/commonjs/shared/translation/model.d.ts +38 -0
  288. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  289. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  290. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  291. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  292. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  293. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  294. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  295. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  296. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  297. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  298. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  299. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  300. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  301. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  302. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  303. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  304. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  305. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  306. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  307. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  308. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  309. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  310. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  311. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +16 -0
  312. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  313. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts +10 -0
  314. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceHighlight.d.ts.map +1 -0
  315. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  316. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  317. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  318. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  319. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  320. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  321. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  322. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  323. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +10 -0
  324. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  325. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  326. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  327. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +30 -0
  328. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  329. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +11 -0
  330. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  331. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  332. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  333. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  334. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  335. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  336. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  337. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +12 -0
  338. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  339. package/dist/typescript/module/features/pmProgress/index.d.ts +6 -0
  340. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  341. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  342. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  343. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  344. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  345. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  346. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  347. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  348. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  349. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  350. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  351. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +20 -0
  352. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  353. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +18 -0
  354. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  355. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +36 -0
  356. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  357. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +64 -0
  358. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  359. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +187 -0
  360. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  361. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  362. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  363. package/dist/typescript/module/features/voice/types.d.ts +0 -4
  364. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  365. package/dist/typescript/module/index.d.ts +1 -0
  366. package/dist/typescript/module/index.d.ts.map +1 -1
  367. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  368. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  369. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  370. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  371. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  372. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  373. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  374. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  375. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  376. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  377. package/dist/typescript/module/shared/translation/constants.d.ts +114 -0
  378. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  379. package/dist/typescript/module/shared/translation/model.d.ts +38 -0
  380. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  381. package/package.json +23 -12
  382. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  383. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  384. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  385. package/src/features/pmProgress/PmProgress.tsx +52 -0
  386. package/src/features/pmProgress/__tests__/.keep +0 -0
  387. package/src/features/pmProgress/components/chart/chart.helpers.ts +15 -0
  388. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  389. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  390. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  391. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +86 -0
  392. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  393. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  394. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +88 -0
  395. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  396. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +20 -0
  397. package/src/features/pmProgress/components/chart/model/SliceHighlight.ts +17 -0
  398. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  399. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +187 -0
  400. package/src/features/pmProgress/components/insights/PmInsights.tsx +58 -0
  401. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +83 -0
  402. package/src/features/pmProgress/components/insights/StatsCard.tsx +53 -0
  403. package/src/features/pmProgress/components/list/Fluency.tsx +58 -0
  404. package/src/features/pmProgress/components/list/ListCard.tsx +231 -0
  405. package/src/features/pmProgress/components/list/ListItem.tsx +136 -0
  406. package/src/features/pmProgress/components/list/PmDomainList.tsx +69 -0
  407. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +109 -0
  408. package/src/features/pmProgress/components/standard/StandardTag.tsx +177 -0
  409. package/src/features/pmProgress/context/PmProgressContext.tsx +23 -0
  410. package/src/features/pmProgress/index.ts +8 -0
  411. package/src/features/pmProgress/model/PmHighlightModel.ts +11 -0
  412. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  413. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  414. package/src/features/pmProgress/model/PmProgressModel.ts +48 -0
  415. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  416. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +131 -0
  417. package/src/features/pmProgress/model/PmTreeModel.ts +126 -0
  418. package/src/features/pmProgress/shared/pmProgress.constants.ts +88 -0
  419. package/src/features/pmProgress/shared/pmProgress.helpers.ts +271 -0
  420. package/src/features/pmProgress/shared/pmProgress.types.ts +210 -0
  421. package/src/features/voice/recording/model/VoiceRecord.model.ts +0 -7
  422. package/src/features/voice/types.ts +0 -5
  423. package/src/index.ts +1 -0
  424. package/src/shared/icons/PentagonIcon.tsx +17 -0
  425. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  426. package/src/shared/icons/SliceDiamondIcon.tsx +16 -0
  427. package/src/shared/icons/StarIcon.tsx +17 -0
  428. package/src/shared/icons/TimerIcon.tsx +21 -0
  429. package/src/shared/translation/localization/ca.json +19 -0
  430. package/src/shared/translation/localization/de.json +19 -0
  431. package/src/shared/translation/localization/en.json +19 -0
  432. package/src/shared/translation/localization/gb.json +19 -0
  433. package/src/shared/translation/localization/sct.json +19 -0
  434. package/src/shared/translation/localization/sw.json +19 -0
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useState } from 'react';
4
+ import { useStoreMap } from 'effector-react';
5
+ import { StyleSheet, View } from 'react-native';
6
+ import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui';
7
+ import { PracticeProgressPieChart } from "../chart/components/PracticeProgressPieChart.js";
8
+ import { PmTimeframeStats } from "./PmTimeframeStats.js";
9
+ import { usePmProgress } from "../../context/PmProgressContext.js";
10
+ import { createChartConfig } from "../../shared/pmProgress.helpers.js";
11
+ import { EMPTY_PIE_CHART_DATA, MAX_PIE_CHART_SIZE, STATS_MAX_HEIGHT } from "../../shared/pmProgress.constants.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const PmInsights = () => {
14
+ const {
15
+ model
16
+ } = usePmProgress();
17
+ const [chartSize, setChartSize] = useState(MAX_PIE_CHART_SIZE);
18
+ const chartData = useStoreMap(model.tree.$domains, domains => domains.map(domain => ({
19
+ value: 1,
20
+ fillPercent: Math.round(domain.scorePercentage),
21
+ fillColor: domain.color,
22
+ borderColor: domain.borderColor,
23
+ backgroundColor: domain.backgroundColor
24
+ })));
25
+ const chartConfig = useMemo(() => {
26
+ const size = Math.max(0, chartSize - SPACING[400]);
27
+ return createChartConfig(size);
28
+ }, [chartSize]);
29
+ const measureLayout = event => {
30
+ const height = event.nativeEvent.layout.height;
31
+ const size = Math.min(height - STATS_MAX_HEIGHT - SPACING[800], MAX_PIE_CHART_SIZE);
32
+ setChartSize(size);
33
+ };
34
+ return /*#__PURE__*/_jsxs(View, {
35
+ style: styles.container,
36
+ onLayout: measureLayout,
37
+ children: [/*#__PURE__*/_jsx(View, {
38
+ style: [styles.chart, {
39
+ width: chartSize,
40
+ height: chartSize
41
+ }],
42
+ children: /*#__PURE__*/_jsx(PracticeProgressPieChart, {
43
+ data: chartData.length > 0 ? chartData : EMPTY_PIE_CHART_DATA,
44
+ config: chartConfig
45
+ })
46
+ }), /*#__PURE__*/_jsx(PmTimeframeStats, {})]
47
+ });
48
+ };
49
+ const styles = StyleSheet.create({
50
+ container: {
51
+ height: '100%'
52
+ },
53
+ chart: {
54
+ alignItems: 'center',
55
+ justifyContent: 'center',
56
+ backgroundColor: COLORS.NEUTRAL_1,
57
+ borderRadius: BORDER_RADIUS[250],
58
+ padding: SPACING[400],
59
+ marginBottom: SPACING[400],
60
+ marginTop: SPACING[400]
61
+ }
62
+ });
63
+ //# sourceMappingURL=PmInsights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useState","useStoreMap","StyleSheet","View","BORDER_RADIUS","COLORS","SPACING","PracticeProgressPieChart","PmTimeframeStats","usePmProgress","createChartConfig","EMPTY_PIE_CHART_DATA","MAX_PIE_CHART_SIZE","STATS_MAX_HEIGHT","jsx","_jsx","jsxs","_jsxs","PmInsights","model","chartSize","setChartSize","chartData","tree","$domains","domains","map","domain","value","fillPercent","Math","round","scorePercentage","fillColor","color","borderColor","backgroundColor","chartConfig","size","max","measureLayout","event","height","nativeEvent","layout","min","style","styles","container","onLayout","children","chart","width","data","length","config","create","alignItems","justifyContent","NEUTRAL_1","borderRadius","padding","marginBottom","marginTop"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/PmInsights.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { COLORS, SelectGroup, SelectOptionColor, SPACING } from '@magmamath/react-native-ui';
6
+ import { StatsCard } from "./StatsCard.js";
7
+ import { StarIcon } from "../../../../shared/icons/StarIcon.js";
8
+ import { TimerIcon } from "../../../../shared/icons/TimerIcon.js";
9
+ import { BORDER_RADIUS } from '@magmamath/react-native-ui';
10
+ import { useText } from "../../../../shared/translation/index.js";
11
+ import { useUnit } from 'effector-react';
12
+ import { formatTime } from "../../shared/pmProgress.helpers.js";
13
+ import { InsightsTimeframe, STATS_MAX_HEIGHT } from "../../shared/pmProgress.constants.js";
14
+ import { usePmProgress } from "../../context/PmProgressContext.js";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export const PmTimeframeStats = () => {
17
+ const t = useText();
18
+ const {
19
+ model
20
+ } = usePmProgress();
21
+ const timeframe = useUnit(model.insights.$timeframe);
22
+ const insights = useUnit(model.insights.$insights);
23
+ const OPTIONS = [{
24
+ key: InsightsTimeframe.WEEK,
25
+ title: t('pmProgress.thisWeek')
26
+ }, {
27
+ key: InsightsTimeframe.LAST_WEEK,
28
+ title: t('pmProgress.lastWeek')
29
+ }, {
30
+ key: InsightsTimeframe.ALL,
31
+ title: t('pmProgress.allTime')
32
+ }];
33
+ return /*#__PURE__*/_jsx(View, {
34
+ style: styles.container,
35
+ children: /*#__PURE__*/_jsxs(View, {
36
+ style: styles.content,
37
+ children: [/*#__PURE__*/_jsxs(View, {
38
+ style: styles.cards,
39
+ children: [/*#__PURE__*/_jsx(StatsCard, {
40
+ value: insights?.numberOfStars ?? 0,
41
+ label: t('pmProgress.stars'),
42
+ color: COLORS.PRIMARY_YELLOW,
43
+ icon: /*#__PURE__*/_jsx(StarIcon, {})
44
+ }), /*#__PURE__*/_jsx(StatsCard, {
45
+ value: formatTime(insights?.timeInPracticeMs ?? 0),
46
+ label: t('pmProgress.time'),
47
+ color: COLORS.PRIMARY_PURPLE,
48
+ icon: /*#__PURE__*/_jsx(TimerIcon, {})
49
+ })]
50
+ }), /*#__PURE__*/_jsx(SelectGroup, {
51
+ color: SelectOptionColor.GREY,
52
+ options: OPTIONS,
53
+ selectedOptions: OPTIONS.filter(({
54
+ key
55
+ }) => key === timeframe),
56
+ onOptionChange: ({
57
+ key
58
+ }) => model.insights.setTimeframe(key)
59
+ })]
60
+ })
61
+ });
62
+ };
63
+ const styles = StyleSheet.create({
64
+ container: {
65
+ maxHeight: STATS_MAX_HEIGHT,
66
+ height: '100%',
67
+ padding: SPACING[200],
68
+ backgroundColor: COLORS.NEUTRAL_1,
69
+ borderRadius: BORDER_RADIUS[300],
70
+ shadowColor: COLORS.NEUTRAL_9,
71
+ shadowOffset: {
72
+ width: 0,
73
+ height: 1
74
+ },
75
+ shadowOpacity: 0.1,
76
+ shadowRadius: 3,
77
+ elevation: 2
78
+ },
79
+ content: {
80
+ gap: SPACING[100],
81
+ marginBottom: 4
82
+ },
83
+ cards: {
84
+ flexDirection: 'row',
85
+ justifyContent: 'space-between',
86
+ gap: SPACING[300]
87
+ }
88
+ });
89
+ //# sourceMappingURL=PmTimeframeStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","COLORS","SelectGroup","SelectOptionColor","SPACING","StatsCard","StarIcon","TimerIcon","BORDER_RADIUS","useText","useUnit","formatTime","InsightsTimeframe","STATS_MAX_HEIGHT","usePmProgress","jsx","_jsx","jsxs","_jsxs","PmTimeframeStats","t","model","timeframe","insights","$timeframe","$insights","OPTIONS","key","WEEK","title","LAST_WEEK","ALL","style","styles","container","children","content","cards","value","numberOfStars","label","color","PRIMARY_YELLOW","icon","timeInPracticeMs","PRIMARY_PURPLE","GREY","options","selectedOptions","filter","onOptionChange","setTimeframe","create","maxHeight","height","padding","backgroundColor","NEUTRAL_1","borderRadius","shadowColor","NEUTRAL_9","shadowOffset","width","shadowOpacity","shadowRadius","elevation","gap","marginBottom","flexDirection","justifyContent"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/PmTimeframeStats.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, StyleSheet, Text } from 'react-native';
5
+ import { COLORS, FONT_FAMILY } from '@magmamath/react-native-ui';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const StatsCard = ({
8
+ value,
9
+ label,
10
+ color,
11
+ icon
12
+ }) => {
13
+ return /*#__PURE__*/_jsxs(View, {
14
+ style: [styles.card, {
15
+ borderColor: color
16
+ }],
17
+ children: [/*#__PURE__*/_jsx(View, {
18
+ style: [styles.iconContainer, {
19
+ backgroundColor: color
20
+ }],
21
+ children: icon
22
+ }), /*#__PURE__*/_jsxs(View, {
23
+ children: [/*#__PURE__*/_jsx(Text, {
24
+ style: [styles.value, {
25
+ color
26
+ }],
27
+ children: value
28
+ }), /*#__PURE__*/_jsx(Text, {
29
+ style: styles.label,
30
+ children: label
31
+ })]
32
+ })]
33
+ });
34
+ };
35
+ const styles = StyleSheet.create({
36
+ card: {
37
+ flex: 1,
38
+ height: 65,
39
+ alignItems: 'center',
40
+ flexDirection: 'row',
41
+ borderRadius: 12,
42
+ borderWidth: 4,
43
+ padding: 8,
44
+ gap: 8
45
+ },
46
+ iconContainer: {
47
+ width: 42,
48
+ height: 42,
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ borderRadius: 100
52
+ },
53
+ value: {
54
+ fontSize: 32,
55
+ fontWeight: '700',
56
+ fontFamily: FONT_FAMILY.buenosAires
57
+ },
58
+ label: {
59
+ color: COLORS.NEUTRAL_8,
60
+ fontSize: 12,
61
+ fontFamily: FONT_FAMILY.buenosAires,
62
+ top: -6
63
+ }
64
+ });
65
+ //# sourceMappingURL=StatsCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","StyleSheet","Text","COLORS","FONT_FAMILY","jsx","_jsx","jsxs","_jsxs","StatsCard","value","label","color","icon","style","styles","card","borderColor","children","iconContainer","backgroundColor","create","flex","height","alignItems","flexDirection","borderRadius","borderWidth","padding","gap","width","justifyContent","fontSize","fontWeight","fontFamily","buenosAires","NEUTRAL_8","top"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/insights/StatsCard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,EAAEC,IAAI,QAAkB,cAAc;AAC/D,SAASC,MAAM,EAAEC,WAAW,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAShE,OAAO,MAAMC,SAAS,GAAGA,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAAqB,CAAC,KAAK;EAC1E,oBACEL,KAAA,CAACR,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,WAAW,EAAEL;IAAM,CAAC,CAAE;IAAAM,QAAA,gBACjDZ,IAAA,CAACN,IAAI;MAACc,KAAK,EAAE,CAACC,MAAM,CAACI,aAAa,EAAE;QAAEC,eAAe,EAAER;MAAM,CAAC,CAAE;MAAAM,QAAA,EAAEL;IAAI,CAAO,CAAC,eAC9EL,KAAA,CAACR,IAAI;MAAAkB,QAAA,gBACHZ,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAE,CAACC,MAAM,CAACL,KAAK,EAAE;UAAEE;QAAM,CAAC,CAAE;QAAAM,QAAA,EAAER;MAAK,CAAO,CAAC,eACtDJ,IAAA,CAACJ,IAAI;QAACY,KAAK,EAAEC,MAAM,CAACJ,KAAM;QAAAO,QAAA,EAAEP;MAAK,CAAO,CAAC;IAAA,CACrC,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGd,UAAU,CAACoB,MAAM,CAAC;EAC/BL,IAAI,EAAE;IACJM,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,OAAO,EAAE,CAAC;IACVC,GAAG,EAAE;EACP,CAAC;EACDV,aAAa,EAAE;IACbW,KAAK,EAAE,EAAE;IACTP,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAQ;IACpBO,cAAc,EAAE,QAAQ;IACxBL,YAAY,EAAE;EAChB,CAAC;EACDhB,KAAK,EAAE;IACLsB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE9B,WAAW,CAAC+B;EAC1B,CAAC;EACDxB,KAAK,EAAE;IACLC,KAAK,EAAET,MAAM,CAACiC,SAAS;IACvBJ,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE9B,WAAW,CAAC+B,WAAW;IACnCE,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { ListCard } from "./ListCard.js";
6
+ import { COLORS, SPACING } from '@magmamath/react-native-ui';
7
+ import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
8
+ import { useText } from "../../../../shared/translation/index.js";
9
+ import { useUnit } from 'effector-react';
10
+ import { CustomDomain, SolvingFlow } from "../../shared/pmProgress.constants.js";
11
+ import { usePmProgress } from "../../context/PmProgressContext.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const Fluency = ({
14
+ data
15
+ }) => {
16
+ const t = useText();
17
+ const {
18
+ model,
19
+ onStandardPress
20
+ } = usePmProgress();
21
+ const expandedId = useUnit(model.highlight.$expandedId);
22
+ if (!data) return null;
23
+ return /*#__PURE__*/_jsxs(View, {
24
+ style: styles.container,
25
+ children: [/*#__PURE__*/_jsx(View, {
26
+ style: styles.separator
27
+ }), /*#__PURE__*/_jsx(ListCard, {
28
+ title: t('pmProgress.fluency'),
29
+ items: data.standards.map(standard => ({
30
+ ...standard,
31
+ id: standard.standardId
32
+ })),
33
+ progress: data.scorePercentage,
34
+ color: COLORS.PRIMARY_ORANGE,
35
+ onPress: () => model.highlight.expand(CustomDomain.FLUENCY),
36
+ onItemPress: async item => {
37
+ const skill = await model.solving.start({
38
+ type: SolvingFlow.STANDARD,
39
+ standardId: item.standardId
40
+ });
41
+ onStandardPress?.(skill);
42
+ },
43
+ isFirst: true,
44
+ isLast: true,
45
+ isExpanded: expandedId === CustomDomain.FLUENCY,
46
+ icon: /*#__PURE__*/_jsx(SliceDiamondIcon, {
47
+ color: COLORS.PRIMARY_ORANGE
48
+ })
49
+ })]
50
+ });
51
+ };
52
+ const styles = StyleSheet.create({
53
+ container: {
54
+ marginBottom: SPACING[800]
55
+ },
56
+ separator: {
57
+ height: 1,
58
+ marginHorizontal: SPACING[100],
59
+ marginVertical: SPACING[200],
60
+ backgroundColor: COLORS.NEUTRAL_4
61
+ }
62
+ });
63
+ //# sourceMappingURL=Fluency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","ListCard","COLORS","SPACING","SliceDiamondIcon","useText","useUnit","CustomDomain","SolvingFlow","usePmProgress","jsx","_jsx","jsxs","_jsxs","Fluency","data","t","model","onStandardPress","expandedId","highlight","$expandedId","style","styles","container","children","separator","title","items","standards","map","standard","id","standardId","progress","scorePercentage","color","PRIMARY_ORANGE","onPress","expand","FLUENCY","onItemPress","item","skill","solving","start","type","STANDARD","isFirst","isLast","isExpanded","icon","create","marginBottom","height","marginHorizontal","marginVertical","backgroundColor","NEUTRAL_4"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/list/Fluency.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,MAAM,EAAEC,OAAO,QAAQ,4BAA4B;AAC5D,SAASC,gBAAgB,QAAQ,8CAA2C;AAC5E,SAASC,OAAO,QAAQ,yCAAgC;AACxD,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,YAAY,EAAEC,WAAW,QAAQ,sCAAmC;AAE7E,SAASC,aAAa,QAAQ,oCAAiC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM/D,OAAO,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAmB,CAAC,KAAK;EACjD,MAAMC,CAAC,GAAGX,OAAO,CAAC,CAAC;EACnB,MAAM;IAAEY,KAAK;IAAEC;EAAgB,CAAC,GAAGT,aAAa,CAAC,CAAC;EAClD,MAAMU,UAAU,GAAGb,OAAO,CAACW,KAAK,CAACG,SAAS,CAACC,WAAW,CAAC;EAEvD,IAAI,CAACN,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACEF,KAAA,CAACb,IAAI;IAACsB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5Bd,IAAA,CAACX,IAAI;MAACsB,KAAK,EAAEC,MAAM,CAACG;IAAU,CAAE,CAAC,eACjCf,IAAA,CAACV,QAAQ;MACP0B,KAAK,EAAEX,CAAC,CAAC,oBAAoB,CAAE;MAC/BY,KAAK,EAAEb,IAAI,CAACc,SAAS,CAACC,GAAG,CAAEC,QAAQ,KAAM;QAAE,GAAGA,QAAQ;QAAEC,EAAE,EAAED,QAAQ,CAACE;MAAW,CAAC,CAAC,CAAE;MACpFC,QAAQ,EAAEnB,IAAI,CAACoB,eAAgB;MAC/BC,KAAK,EAAElC,MAAM,CAACmC,cAAe;MAC7BC,OAAO,EAAEA,CAAA,KAAMrB,KAAK,CAACG,SAAS,CAACmB,MAAM,CAAChC,YAAY,CAACiC,OAAO,CAAE;MAC5DC,WAAW,EAAE,MAAOC,IAAI,IAAK;QAC3B,MAAMC,KAAK,GAAG,MAAM1B,KAAK,CAAC2B,OAAO,CAACC,KAAK,CAAC;UACtCC,IAAI,EAAEtC,WAAW,CAACuC,QAAQ;UAC1Bd,UAAU,EAAES,IAAI,CAACT;QACnB,CAAC,CAAC;QACFf,eAAe,GAAGyB,KAAK,CAAC;MAC1B,CAAE;MACFK,OAAO;MACPC,MAAM;MACNC,UAAU,EAAE/B,UAAU,KAAKZ,YAAY,CAACiC,OAAQ;MAChDW,IAAI,eAAExC,IAAA,CAACP,gBAAgB;QAACgC,KAAK,EAAElC,MAAM,CAACmC;MAAe,CAAE;IAAE,CAC1D,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGxB,UAAU,CAACqD,MAAM,CAAC;EAC/B5B,SAAS,EAAE;IACT6B,YAAY,EAAElD,OAAO,CAAC,GAAG;EAC3B,CAAC;EACDuB,SAAS,EAAE;IACT4B,MAAM,EAAE,CAAC;IACTC,gBAAgB,EAAEpD,OAAO,CAAC,GAAG,CAAC;IAC9BqD,cAAc,EAAErD,OAAO,CAAC,GAAG,CAAC;IAC5BsD,eAAe,EAAEvD,MAAM,CAACwD;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,191 @@
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
+ isHighlighted = false,
27
+ onPress,
28
+ onHoverIn,
29
+ onHoverOut,
30
+ onItemPress,
31
+ progress = 0,
32
+ rightContent,
33
+ isFirst,
34
+ isLast,
35
+ maxItems,
36
+ expandedColor = COLORS.NEUTRAL_3,
37
+ isSkillsLeftHidden = false
38
+ }) => {
39
+ const t = useText();
40
+ const [isHovered, setIsHovered] = useState(false);
41
+ const {
42
+ visible,
43
+ remainingCount
44
+ } = getVisibleItems(items, maxItems);
45
+ const withHighlight = isHovered || isExpanded || isHighlighted;
46
+ const Caret = isExpanded ? CaretDownIcon : CaretRightIcon;
47
+ return /*#__PURE__*/_jsxs(View, {
48
+ style: [styles.container, !isFirst && styles.containerCollapsed, isFirst && styles.containerFirst, isLast && styles.containerLast, withHighlight && {
49
+ backgroundColor: expandedColor
50
+ }],
51
+ children: [/*#__PURE__*/_jsxs(Pressable, {
52
+ style: [styles.header, isFirst && styles.headerFirst, isLast && !isExpanded && styles.headerLast, withHighlight && {
53
+ backgroundColor: expandedColor
54
+ }],
55
+ onPress: onPress,
56
+ onHoverIn: () => {
57
+ setIsHovered(true);
58
+ onHoverIn?.();
59
+ },
60
+ onHoverOut: () => {
61
+ setIsHovered(false);
62
+ onHoverOut?.();
63
+ },
64
+ children: [icon, /*#__PURE__*/_jsx(View, {
65
+ style: styles.caret,
66
+ children: /*#__PURE__*/_jsx(Caret, {
67
+ color: COLORS.NEUTRAL_9
68
+ })
69
+ }), /*#__PURE__*/_jsx(Typography, {
70
+ variant: HeadingVariants.H6,
71
+ style: styles.title,
72
+ children: title
73
+ }), rightContent ?? /*#__PURE__*/_jsxs(View, {
74
+ style: styles.progress,
75
+ children: [/*#__PURE__*/_jsxs(Typography, {
76
+ variant: HeadingVariants.H7,
77
+ style: [styles.percentage, {
78
+ color
79
+ }],
80
+ children: [Math.round(progress), "%"]
81
+ }), /*#__PURE__*/_jsx(View, {
82
+ style: styles.track,
83
+ children: /*#__PURE__*/_jsx(View, {
84
+ style: [styles.fill, {
85
+ width: `${Math.round(progress)}%`,
86
+ backgroundColor: color
87
+ }]
88
+ })
89
+ })]
90
+ })]
91
+ }), isExpanded && /*#__PURE__*/_jsxs(View, {
92
+ style: [styles.items, isLast && styles.itemsLast],
93
+ children: [visible.map(item => {
94
+ const skillsLeft = item.skillsCount.total - item.skillsCount.achieved;
95
+ return /*#__PURE__*/_jsx(ListItem, {
96
+ title: item.title,
97
+ skillsLeft: skillsLeft,
98
+ subtitle: item.subtitle,
99
+ isFinished: skillsLeft === 0,
100
+ isSkillsLeftHidden: isSkillsLeftHidden,
101
+ onPress: () => onItemPress?.(item)
102
+ }, item.id);
103
+ }), remainingCount > 0 && /*#__PURE__*/_jsx(Typography, {
104
+ variant: HeadingVariants.H8,
105
+ style: styles.moreText,
106
+ children: t('pmProgress.andMore', {
107
+ count: `${remainingCount}`
108
+ })
109
+ })]
110
+ })]
111
+ });
112
+ };
113
+ const styles = StyleSheet.create({
114
+ container: {
115
+ justifyContent: 'center',
116
+ backgroundColor: COLORS.NEUTRAL_2,
117
+ overflow: 'hidden',
118
+ cursor: 'pointer'
119
+ },
120
+ containerCollapsed: {
121
+ marginTop: -1
122
+ },
123
+ containerFirst: {
124
+ borderTopLeftRadius: BORDER_RADIUS[200],
125
+ borderTopRightRadius: BORDER_RADIUS[200]
126
+ },
127
+ containerLast: {
128
+ borderBottomLeftRadius: BORDER_RADIUS[200],
129
+ borderBottomRightRadius: BORDER_RADIUS[200]
130
+ },
131
+ header: {
132
+ flexDirection: 'row',
133
+ alignItems: 'center',
134
+ height: HEADER_HEIGHT,
135
+ padding: SPACING[400],
136
+ backgroundColor: COLORS.NEUTRAL_2,
137
+ borderWidth: 1,
138
+ borderColor: COLORS.NEUTRAL_4,
139
+ cursor: 'pointer'
140
+ },
141
+ headerFirst: {
142
+ borderTopLeftRadius: BORDER_RADIUS[200],
143
+ borderTopRightRadius: BORDER_RADIUS[200]
144
+ },
145
+ headerLast: {
146
+ borderBottomLeftRadius: BORDER_RADIUS[200],
147
+ borderBottomRightRadius: BORDER_RADIUS[200]
148
+ },
149
+ caret: {
150
+ marginLeft: SPACING[400]
151
+ },
152
+ title: {
153
+ color: COLORS.NEUTRAL_9,
154
+ marginLeft: SPACING[200],
155
+ flex: 1
156
+ },
157
+ progress: {
158
+ flexDirection: 'row',
159
+ alignItems: 'center',
160
+ gap: SPACING[200]
161
+ },
162
+ percentage: {
163
+ textAlign: 'right'
164
+ },
165
+ track: {
166
+ width: PROGRESS_BAR_WIDTH,
167
+ height: PROGRESS_BAR_HEIGHT,
168
+ backgroundColor: COLORS.NEUTRAL_4,
169
+ borderRadius: BORDER_RADIUS[200],
170
+ overflow: 'hidden'
171
+ },
172
+ fill: {
173
+ height: '100%',
174
+ borderRadius: BORDER_RADIUS[200]
175
+ },
176
+ items: {
177
+ gap: SPACING[200],
178
+ padding: SPACING[200],
179
+ backgroundColor: COLORS.NEUTRAL_1
180
+ },
181
+ itemsLast: {
182
+ borderBottomLeftRadius: BORDER_RADIUS[200],
183
+ borderBottomRightRadius: BORDER_RADIUS[200]
184
+ },
185
+ moreText: {
186
+ textAlign: 'center',
187
+ color: COLORS.NEUTRAL_7,
188
+ marginVertical: SPACING[200]
189
+ }
190
+ });
191
+ //# 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","isHighlighted","onPress","onHoverIn","onHoverOut","onItemPress","progress","rightContent","isFirst","isLast","expandedColor","NEUTRAL_3","isSkillsLeftHidden","t","isHovered","setIsHovered","withHighlight","Caret","style","styles","container","containerCollapsed","containerFirst","containerLast","backgroundColor","children","header","headerFirst","headerLast","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,114 @@
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
+ isSkillsLeftHidden = false
23
+ }) => {
24
+ const t = useText();
25
+ const [isHovered, setIsHovered] = useState(false);
26
+ const isSkillsLeftVisible = skillsLeft > 0 && !isFinished && !isSkillsLeftHidden;
27
+ return /*#__PURE__*/_jsxs(Pressable, {
28
+ onPress: onPress,
29
+ style: [styles.card, isFinished && styles.finished, isHovered && styles.hovered],
30
+ onHoverIn: () => setIsHovered(true),
31
+ onHoverOut: () => setIsHovered(false),
32
+ children: [/*#__PURE__*/_jsxs(View, {
33
+ style: styles.content,
34
+ children: [/*#__PURE__*/_jsx(Typography, {
35
+ variant: HeadingVariants.H10,
36
+ style: [styles.title, isFinished && styles.titleFinished],
37
+ numberOfLines: 1,
38
+ children: title
39
+ }), /*#__PURE__*/_jsx(Typography, {
40
+ style: [styles.subtitle, isFinished && styles.subtitleFinished],
41
+ numberOfLines: 1,
42
+ children: subtitle
43
+ })]
44
+ }), /*#__PURE__*/_jsxs(View, {
45
+ style: styles.trailing,
46
+ children: [isSkillsLeftVisible && /*#__PURE__*/_jsxs(Typography, {
47
+ variant: HeadingVariants.H10,
48
+ style: styles.skills,
49
+ children: [skillsLeft, " ", skillsLeft === 1 ? t('pmProgress.skillLeft') : t('pmProgress.skillsLeft')]
50
+ }), /*#__PURE__*/_jsx(View, {
51
+ style: styles.icon,
52
+ children: isFinished ? /*#__PURE__*/_jsx(CheckIcon, {
53
+ color: FINISHED_ICON
54
+ }) : /*#__PURE__*/_jsx(ArrowRightIcon, {
55
+ color: COLORS.NEUTRAL_9
56
+ })
57
+ })]
58
+ })]
59
+ });
60
+ };
61
+ const styles = StyleSheet.create({
62
+ card: {
63
+ flexDirection: 'row',
64
+ alignItems: 'center',
65
+ height: CARD_HEIGHT,
66
+ paddingLeft: 32,
67
+ paddingRight: 16,
68
+ backgroundColor: 'white',
69
+ borderRadius: 12,
70
+ gap: 8,
71
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A'
72
+ },
73
+ finished: {
74
+ backgroundColor: FINISHED_BG,
75
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A'
76
+ },
77
+ hovered: {
78
+ backgroundColor: '#FAFAFB',
79
+ boxShadow: '0px 0px 1px 0px #33333366, 0px 1px 3px 0px #3333331A, 4px 4px 10px rgba(51, 51, 51, 0.15)'
80
+ },
81
+ content: {
82
+ flex: 1
83
+ },
84
+ title: {
85
+ color: COLORS.NEUTRAL_9
86
+ },
87
+ titleFinished: {
88
+ color: FINISHED_TITLE
89
+ },
90
+ subtitle: {
91
+ color: COLORS.NEUTRAL_7,
92
+ fontSize: SUBTITLE_FONT_SIZE,
93
+ fontFamily: FONT_FAMILY.buenosAires,
94
+ lineHeight: SUBTITLE_LINE_HEIGHT
95
+ },
96
+ subtitleFinished: {
97
+ color: FINISHED_SUBTITLE
98
+ },
99
+ trailing: {
100
+ flexDirection: 'row',
101
+ alignItems: 'center',
102
+ gap: 8
103
+ },
104
+ skills: {
105
+ color: COLORS.NEUTRAL_9
106
+ },
107
+ icon: {
108
+ width: ICON_SIZE,
109
+ height: ICON_SIZE,
110
+ justifyContent: 'center',
111
+ alignItems: 'center'
112
+ }
113
+ });
114
+ //# 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","isSkillsLeftHidden","t","isHovered","setIsHovered","isSkillsLeftVisible","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":[]}