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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  2. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +1 -1
  6. package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  7. package/dist/commonjs/features/pmProgress/PmProgress.js +42 -0
  8. package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
  9. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +24 -0
  10. package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  11. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js +2 -0
  12. package/dist/commonjs/features/pmProgress/components/chart/chart.types.js.map +1 -0
  13. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +44 -0
  14. package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  15. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js +26 -0
  16. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  17. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +91 -0
  18. package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  19. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +38 -0
  20. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  21. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +21 -0
  22. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  23. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js +55 -0
  24. package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  25. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js +49 -0
  26. package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  27. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js +23 -0
  28. package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  29. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
  30. package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  31. package/dist/commonjs/features/pmProgress/components/content/PmContent.js +50 -0
  32. package/dist/commonjs/features/pmProgress/components/content/PmContent.js.map +1 -0
  33. package/dist/commonjs/features/pmProgress/components/header/NextUp.js +127 -0
  34. package/dist/commonjs/features/pmProgress/components/header/NextUp.js.map +1 -0
  35. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +133 -0
  36. package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  37. package/dist/commonjs/features/pmProgress/components/header/StartButton.js +126 -0
  38. package/dist/commonjs/features/pmProgress/components/header/StartButton.js.map +1 -0
  39. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +70 -0
  40. package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  41. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +99 -0
  42. package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  43. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +72 -0
  44. package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  45. package/dist/commonjs/features/pmProgress/components/list/Fluency.js +82 -0
  46. package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
  47. package/dist/commonjs/features/pmProgress/components/list/ListCard.js +207 -0
  48. package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
  49. package/dist/commonjs/features/pmProgress/components/list/ListItem.js +139 -0
  50. package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
  51. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +96 -0
  52. package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  53. package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js +101 -0
  54. package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
  55. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +134 -0
  56. package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  57. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js +203 -0
  58. package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  59. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
  60. package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
  61. package/dist/commonjs/features/pmProgress/index.js +64 -0
  62. package/dist/commonjs/features/pmProgress/index.js.map +1 -0
  63. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js +15 -0
  64. package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  65. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
  66. package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  67. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
  68. package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
  69. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +43 -0
  70. package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
  71. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
  72. package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  73. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +104 -0
  74. package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  75. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +176 -0
  76. package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
  77. package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js +52 -0
  78. package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
  79. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +65 -0
  80. package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  81. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +234 -0
  82. package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  83. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
  84. package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  85. package/dist/commonjs/features/voice/constants.js +3 -15
  86. package/dist/commonjs/features/voice/constants.js.map +1 -1
  87. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +5 -19
  88. package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -1
  89. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +26 -81
  90. package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  91. package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  92. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  93. package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  94. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +0 -5
  95. package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  96. package/dist/commonjs/features/voice/types.js +0 -6
  97. package/dist/commonjs/features/voice/types.js.map +1 -1
  98. package/dist/commonjs/index.js +15 -3
  99. package/dist/commonjs/index.js.map +1 -1
  100. package/dist/commonjs/shared/icons/MenuIcon.js +30 -0
  101. package/dist/commonjs/shared/icons/MenuIcon.js.map +1 -0
  102. package/dist/commonjs/shared/icons/PentagonIcon.js +29 -0
  103. package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
  104. package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
  105. package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
  106. package/dist/commonjs/shared/icons/SliceDiamondIcon.js +29 -0
  107. package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
  108. package/dist/commonjs/shared/icons/StarIcon.js +32 -0
  109. package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
  110. package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
  111. package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
  112. package/dist/commonjs/shared/translation/localization/ca.json +24 -0
  113. package/dist/commonjs/shared/translation/localization/de.json +24 -0
  114. package/dist/commonjs/shared/translation/localization/en.json +24 -0
  115. package/dist/commonjs/shared/translation/localization/gb.json +24 -0
  116. package/dist/commonjs/shared/translation/localization/sct.json +24 -0
  117. package/dist/commonjs/shared/translation/localization/sw.json +24 -0
  118. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
  119. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
  120. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
  121. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  122. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
  123. package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
  124. package/dist/module/features/pmProgress/PmProgress.js +36 -0
  125. package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
  126. package/dist/module/features/pmProgress/components/chart/chart.helpers.js +17 -0
  127. package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
  128. package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
  129. package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
  130. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
  131. package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
  132. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
  133. package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
  134. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +85 -0
  135. package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
  136. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
  137. package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
  138. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
  139. package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
  140. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +49 -0
  141. package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
  142. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
  143. package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
  144. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +18 -0
  145. package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
  146. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
  147. package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
  148. package/dist/module/features/pmProgress/components/content/PmContent.js +44 -0
  149. package/dist/module/features/pmProgress/components/content/PmContent.js.map +1 -0
  150. package/dist/module/features/pmProgress/components/header/NextUp.js +121 -0
  151. package/dist/module/features/pmProgress/components/header/NextUp.js.map +1 -0
  152. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +126 -0
  153. package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
  154. package/dist/module/features/pmProgress/components/header/StartButton.js +119 -0
  155. package/dist/module/features/pmProgress/components/header/StartButton.js.map +1 -0
  156. package/dist/module/features/pmProgress/components/insights/PmInsights.js +63 -0
  157. package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
  158. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +94 -0
  159. package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
  160. package/dist/module/features/pmProgress/components/insights/StatsCard.js +66 -0
  161. package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
  162. package/dist/module/features/pmProgress/components/list/Fluency.js +76 -0
  163. package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
  164. package/dist/module/features/pmProgress/components/list/ListCard.js +200 -0
  165. package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
  166. package/dist/module/features/pmProgress/components/list/ListItem.js +132 -0
  167. package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
  168. package/dist/module/features/pmProgress/components/list/PmDomainList.js +90 -0
  169. package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
  170. package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js +95 -0
  171. package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
  172. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +128 -0
  173. package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
  174. package/dist/module/features/pmProgress/components/standard/StandardTag.js +197 -0
  175. package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -0
  176. package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
  177. package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
  178. package/dist/module/features/pmProgress/index.js +9 -0
  179. package/dist/module/features/pmProgress/index.js.map +1 -0
  180. package/dist/module/features/pmProgress/model/PmHighlightModel.js +10 -0
  181. package/dist/module/features/pmProgress/model/PmHighlightModel.js.map +1 -0
  182. package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
  183. package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
  184. package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
  185. package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
  186. package/dist/module/features/pmProgress/model/PmProgressModel.js +38 -0
  187. package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
  188. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
  189. package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
  190. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +99 -0
  191. package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
  192. package/dist/module/features/pmProgress/model/PmTreeModel.js +171 -0
  193. package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
  194. package/dist/module/features/pmProgress/shared/TreeNormalizer.js +47 -0
  195. package/dist/module/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
  196. package/dist/module/features/pmProgress/shared/pmProgress.constants.js +62 -0
  197. package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
  198. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +214 -0
  199. package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
  200. package/dist/module/features/pmProgress/shared/pmProgress.types.js +8 -0
  201. package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
  202. package/dist/module/features/voice/constants.js +2 -14
  203. package/dist/module/features/voice/constants.js.map +1 -1
  204. package/dist/module/features/voice/recording/components/VoiceRecord.js +6 -20
  205. package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -1
  206. package/dist/module/features/voice/recording/components/VoiceRecordButton.js +28 -83
  207. package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
  208. package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
  209. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
  210. package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
  211. package/dist/module/features/voice/recording/model/VoiceRecord.model.js +0 -5
  212. package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
  213. package/dist/module/features/voice/types.js +1 -5
  214. package/dist/module/features/voice/types.js.map +1 -1
  215. package/dist/module/index.js +1 -0
  216. package/dist/module/index.js.map +1 -1
  217. package/dist/module/shared/icons/MenuIcon.js +22 -0
  218. package/dist/module/shared/icons/MenuIcon.js.map +1 -0
  219. package/dist/module/shared/icons/PentagonIcon.js +21 -0
  220. package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
  221. package/dist/module/shared/icons/SketchArrowRight.js +25 -0
  222. package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
  223. package/dist/module/shared/icons/SliceDiamondIcon.js +21 -0
  224. package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
  225. package/dist/module/shared/icons/StarIcon.js +24 -0
  226. package/dist/module/shared/icons/StarIcon.js.map +1 -0
  227. package/dist/module/shared/icons/TimerIcon.js +27 -0
  228. package/dist/module/shared/icons/TimerIcon.js.map +1 -0
  229. package/dist/module/shared/translation/localization/ca.json +24 -0
  230. package/dist/module/shared/translation/localization/de.json +24 -0
  231. package/dist/module/shared/translation/localization/en.json +24 -0
  232. package/dist/module/shared/translation/localization/gb.json +24 -0
  233. package/dist/module/shared/translation/localization/sct.json +24 -0
  234. package/dist/module/shared/translation/localization/sw.json +24 -0
  235. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  237. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
  238. package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
  239. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  240. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  241. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  242. package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  243. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  244. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  245. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  246. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  247. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  248. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  249. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  250. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  252. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  253. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  254. package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  255. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  256. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
  258. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  259. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  260. package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  261. package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts +3 -0
  262. package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
  263. package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts +3 -0
  264. package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
  265. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  266. package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts +11 -0
  268. package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
  269. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  270. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  271. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  272. package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  273. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
  274. package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  275. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
  276. package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +31 -0
  278. package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +12 -0
  280. package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  281. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  282. package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  283. package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
  284. package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  286. package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  287. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  288. package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  289. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +15 -0
  290. package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  291. package/dist/typescript/commonjs/features/pmProgress/index.d.ts +7 -0
  292. package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
  293. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  294. package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  295. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  296. package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  297. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  298. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  299. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  300. package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  301. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  302. package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  303. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
  304. package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  305. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +25 -0
  306. package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  307. package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
  308. package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
  309. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
  310. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  311. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
  312. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  313. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
  314. package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  315. package/dist/typescript/commonjs/features/voice/constants.d.ts +2 -12
  316. package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
  317. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  318. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
  319. package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  320. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
  321. package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  322. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  323. package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  324. package/dist/typescript/commonjs/features/voice/types.d.ts +0 -4
  325. package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
  326. package/dist/typescript/commonjs/index.d.ts +1 -0
  327. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  328. package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts +4 -0
  329. package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts.map +1 -0
  330. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
  331. package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
  332. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
  333. package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
  334. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
  335. package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  336. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
  337. package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
  338. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
  339. package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
  340. package/dist/typescript/commonjs/shared/translation/constants.d.ts +144 -0
  341. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  342. package/dist/typescript/commonjs/shared/translation/model.d.ts +48 -0
  343. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  344. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
  345. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  346. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
  347. package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
  348. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
  349. package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
  350. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
  351. package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
  352. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
  353. package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
  354. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
  355. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
  356. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
  357. package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
  358. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
  359. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
  360. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
  361. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
  362. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
  363. package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
  364. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
  365. package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
  366. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
  367. package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
  368. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
  369. package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
  370. package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts +3 -0
  371. package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
  372. package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts +3 -0
  373. package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
  374. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
  375. package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
  376. package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts +11 -0
  377. package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
  378. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
  379. package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
  380. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
  381. package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
  382. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
  383. package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
  384. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
  385. package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
  386. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +31 -0
  387. package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
  388. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +12 -0
  389. package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
  390. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
  391. package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
  392. package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
  393. package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
  394. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
  395. package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
  396. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
  397. package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
  398. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +15 -0
  399. package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
  400. package/dist/typescript/module/features/pmProgress/index.d.ts +7 -0
  401. package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
  402. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
  403. package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
  404. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
  405. package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
  406. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
  407. package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
  408. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +23 -0
  409. package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
  410. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
  411. package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
  412. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
  413. package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
  414. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +25 -0
  415. package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
  416. package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
  417. package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
  418. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
  419. package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
  420. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
  421. package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
  422. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
  423. package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
  424. package/dist/typescript/module/features/voice/constants.d.ts +2 -12
  425. package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
  426. package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
  427. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
  428. package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
  429. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
  430. package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
  431. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
  432. package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
  433. package/dist/typescript/module/features/voice/types.d.ts +0 -4
  434. package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
  435. package/dist/typescript/module/index.d.ts +1 -0
  436. package/dist/typescript/module/index.d.ts.map +1 -1
  437. package/dist/typescript/module/shared/icons/MenuIcon.d.ts +4 -0
  438. package/dist/typescript/module/shared/icons/MenuIcon.d.ts.map +1 -0
  439. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
  440. package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
  441. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
  442. package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
  443. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
  444. package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
  445. package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
  446. package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
  447. package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
  448. package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
  449. package/dist/typescript/module/shared/translation/constants.d.ts +144 -0
  450. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  451. package/dist/typescript/module/shared/translation/model.d.ts +48 -0
  452. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  453. package/package.json +21 -13
  454. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
  455. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
  456. package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
  457. package/src/features/pmProgress/PmProgress.tsx +30 -0
  458. package/src/features/pmProgress/__tests__/.keep +0 -0
  459. package/src/features/pmProgress/components/chart/chart.helpers.ts +16 -0
  460. package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
  461. package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
  462. package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
  463. package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +90 -0
  464. package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
  465. package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
  466. package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +60 -0
  467. package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
  468. package/src/features/pmProgress/components/chart/model/PieChartManager.ts +17 -0
  469. package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
  470. package/src/features/pmProgress/components/content/PmContent.tsx +44 -0
  471. package/src/features/pmProgress/components/header/NextUp.tsx +109 -0
  472. package/src/features/pmProgress/components/header/PmProgressHeader.tsx +135 -0
  473. package/src/features/pmProgress/components/header/StartButton.tsx +160 -0
  474. package/src/features/pmProgress/components/insights/PmInsights.tsx +65 -0
  475. package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +88 -0
  476. package/src/features/pmProgress/components/insights/StatsCard.tsx +54 -0
  477. package/src/features/pmProgress/components/list/Fluency.tsx +72 -0
  478. package/src/features/pmProgress/components/list/ListCard.tsx +231 -0
  479. package/src/features/pmProgress/components/list/ListItem.tsx +164 -0
  480. package/src/features/pmProgress/components/list/PmDomainList.tsx +76 -0
  481. package/src/features/pmProgress/components/locked/PmStatusOverlay.tsx +101 -0
  482. package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +127 -0
  483. package/src/features/pmProgress/components/standard/StandardTag.tsx +181 -0
  484. package/src/features/pmProgress/context/PmProgressContext.tsx +26 -0
  485. package/src/features/pmProgress/index.ts +6 -0
  486. package/src/features/pmProgress/model/PmHighlightModel.ts +11 -0
  487. package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
  488. package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
  489. package/src/features/pmProgress/model/PmProgressModel.ts +48 -0
  490. package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
  491. package/src/features/pmProgress/model/PmSolvingFlowModel.ts +140 -0
  492. package/src/features/pmProgress/model/PmTreeModel.ts +171 -0
  493. package/src/features/pmProgress/shared/TreeNormalizer.ts +64 -0
  494. package/src/features/pmProgress/shared/pmProgress.constants.ts +100 -0
  495. package/src/features/pmProgress/shared/pmProgress.helpers.ts +307 -0
  496. package/src/features/pmProgress/shared/pmProgress.types.ts +217 -0
  497. package/src/features/voice/constants.ts +2 -14
  498. package/src/features/voice/recording/components/VoiceRecord.tsx +5 -28
  499. package/src/features/voice/recording/components/VoiceRecordButton.tsx +30 -114
  500. package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -2
  501. package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +4 -8
  502. package/src/features/voice/recording/model/VoiceRecord.model.ts +0 -7
  503. package/src/features/voice/types.ts +0 -5
  504. package/src/index.ts +1 -0
  505. package/src/shared/icons/MenuIcon.tsx +15 -0
  506. package/src/shared/icons/PentagonIcon.tsx +14 -0
  507. package/src/shared/icons/SketchArrowRight.tsx +18 -0
  508. package/src/shared/icons/SliceDiamondIcon.tsx +14 -0
  509. package/src/shared/icons/StarIcon.tsx +17 -0
  510. package/src/shared/icons/TimerIcon.tsx +21 -0
  511. package/src/shared/translation/localization/ca.json +24 -0
  512. package/src/shared/translation/localization/de.json +24 -0
  513. package/src/shared/translation/localization/en.json +24 -0
  514. package/src/shared/translation/localization/gb.json +24 -0
  515. package/src/shared/translation/localization/sct.json +24 -0
  516. package/src/shared/translation/localization/sw.json +24 -0
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WINDOW_HEIGHT = exports.SolvingFlow = exports.SessionStorageKeys = exports.STATS_MAX_HEIGHT = exports.SMALL_SCREEN_THRESHOLD = exports.SMALL_SCREEN_MENU_MAX_HEIGHT = exports.RECOMMENDATIONS_LIMIT_PARAM = exports.PmProgressStatus = exports.OpeningLoaderId = exports.MENU_MAX_HEIGHT = exports.MAX_PIE_CHART_SIZE = exports.InsightsTimeframe = exports.EMPTY_PIE_CHART_DATA = exports.DOMAIN_COLORS = exports.DOMAIN_BORDER_COLORS = exports.CustomDomain = exports.BURGER_MENU_BREAKPOINT = void 0;
7
+ var _reactNativeUi = require("@magmamath/react-native-ui");
8
+ var _reactNative = require("react-native");
9
+ const STATS_MAX_HEIGHT = exports.STATS_MAX_HEIGHT = 136;
10
+ const RECOMMENDATIONS_LIMIT_PARAM = exports.RECOMMENDATIONS_LIMIT_PARAM = 150;
11
+ const MAX_PIE_CHART_SIZE = exports.MAX_PIE_CHART_SIZE = 505;
12
+ let CustomDomain = exports.CustomDomain = /*#__PURE__*/function (CustomDomain) {
13
+ CustomDomain["TEACHER"] = "TEACHER";
14
+ CustomDomain["FLUENCY"] = "FLUENCY";
15
+ return CustomDomain;
16
+ }({});
17
+ let InsightsTimeframe = exports.InsightsTimeframe = /*#__PURE__*/function (InsightsTimeframe) {
18
+ InsightsTimeframe["ALL"] = "all";
19
+ InsightsTimeframe["WEEK"] = "week";
20
+ InsightsTimeframe["LAST_WEEK"] = "lastWeek";
21
+ return InsightsTimeframe;
22
+ }({});
23
+ let SolvingFlow = exports.SolvingFlow = /*#__PURE__*/function (SolvingFlow) {
24
+ SolvingFlow["TEACHER"] = "TEACHER";
25
+ SolvingFlow["MAGMA"] = "MAGMA";
26
+ SolvingFlow["STANDARD"] = "STANDARD";
27
+ return SolvingFlow;
28
+ }({});
29
+ let OpeningLoaderId = exports.OpeningLoaderId = /*#__PURE__*/function (OpeningLoaderId) {
30
+ OpeningLoaderId["START_BUTTON"] = "START_BUTTON";
31
+ OpeningLoaderId["PRACTICE_BUTTON"] = "PRACTICE_BUTTON";
32
+ return OpeningLoaderId;
33
+ }({});
34
+ let PmProgressStatus = exports.PmProgressStatus = /*#__PURE__*/function (PmProgressStatus) {
35
+ PmProgressStatus["LOCKED"] = "LOCKED";
36
+ PmProgressStatus["ERROR"] = "ERROR";
37
+ return PmProgressStatus;
38
+ }({});
39
+ let SessionStorageKeys = exports.SessionStorageKeys = /*#__PURE__*/function (SessionStorageKeys) {
40
+ SessionStorageKeys["SOLVING_QUEUE"] = "PM_SOLVING_QUEUE";
41
+ SessionStorageKeys["GRADE"] = "PM_GRADE";
42
+ SessionStorageKeys["DOMAINS"] = "PM_DOMAINS";
43
+ return SessionStorageKeys;
44
+ }({});
45
+ /**
46
+ * Primary → _4 → _6 variants, cycling through 7 base colors.
47
+ * Supports up to 21 unique colors before repeating.
48
+ */
49
+ const DOMAIN_COLORS = exports.DOMAIN_COLORS = [_reactNativeUi.COLORS.PRIMARY_RED, _reactNativeUi.COLORS.PRIMARY_MAGENTA, _reactNativeUi.COLORS.PRIMARY_PURPLE, _reactNativeUi.COLORS.PRIMARY_INDIGO, _reactNativeUi.COLORS.PRIMARY_TURQUOISE, _reactNativeUi.COLORS.PRIMARY_GREEN, _reactNativeUi.COLORS.RED_4, _reactNativeUi.COLORS.MAGENTA_4, _reactNativeUi.COLORS.PURPLE_4, _reactNativeUi.COLORS.INDIGO_4, _reactNativeUi.COLORS.TURQUOISE_4, _reactNativeUi.COLORS.GREEN_4, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6];
50
+ const EMPTY_PIE_CHART_DATA = exports.EMPTY_PIE_CHART_DATA = Array.from({
51
+ length: 5
52
+ }, () => ({
53
+ value: 1,
54
+ fillPercent: 0,
55
+ fillColor: _reactNativeUi.COLORS.NEUTRAL_4,
56
+ borderColor: _reactNativeUi.COLORS.NEUTRAL_4,
57
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_3
58
+ }));
59
+ const DOMAIN_BORDER_COLORS = exports.DOMAIN_BORDER_COLORS = [_reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6];
60
+ const BURGER_MENU_BREAKPOINT = exports.BURGER_MENU_BREAKPOINT = 1024;
61
+ const SMALL_SCREEN_THRESHOLD = exports.SMALL_SCREEN_THRESHOLD = 568;
62
+ const SMALL_SCREEN_MENU_MAX_HEIGHT = exports.SMALL_SCREEN_MENU_MAX_HEIGHT = 300;
63
+ const WINDOW_HEIGHT = exports.WINDOW_HEIGHT = _reactNative.Dimensions.get('window').height;
64
+ const MENU_MAX_HEIGHT = exports.MENU_MAX_HEIGHT = WINDOW_HEIGHT <= SMALL_SCREEN_THRESHOLD ? SMALL_SCREEN_MENU_MAX_HEIGHT : WINDOW_HEIGHT * 0.8;
65
+ //# sourceMappingURL=pmProgress.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeUi","require","_reactNative","STATS_MAX_HEIGHT","exports","RECOMMENDATIONS_LIMIT_PARAM","MAX_PIE_CHART_SIZE","CustomDomain","InsightsTimeframe","SolvingFlow","OpeningLoaderId","PmProgressStatus","SessionStorageKeys","DOMAIN_COLORS","COLORS","PRIMARY_RED","PRIMARY_MAGENTA","PRIMARY_PURPLE","PRIMARY_INDIGO","PRIMARY_TURQUOISE","PRIMARY_GREEN","RED_4","MAGENTA_4","PURPLE_4","INDIGO_4","TURQUOISE_4","GREEN_4","RED_6","MAGENTA_6","PURPLE_6","INDIGO_6","TURQUOISE_6","GREEN_6","EMPTY_PIE_CHART_DATA","Array","from","length","value","fillPercent","fillColor","NEUTRAL_4","borderColor","backgroundColor","NEUTRAL_3","DOMAIN_BORDER_COLORS","BURGER_MENU_BREAKPOINT","SMALL_SCREEN_THRESHOLD","SMALL_SCREEN_MENU_MAX_HEIGHT","WINDOW_HEIGHT","Dimensions","get","height","MENU_MAX_HEIGHT"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.constants.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withoutDuplicates = exports.startGradesFrom = exports.shiftToBeginningOfArray = exports.isTreeDataReady = exports.isFluencyDomain = exports.getUncompletedSkillsFromStandard = exports.getUncompletedSkillsFromDomain = exports.getTreeGrades = exports.getInitialPmGrade = exports.getDomainStructure = exports.getAllUncompletedSkills = exports.getAllSkillsFromStandard = exports.formatTime = exports.formatGradeName = exports.formatGradeLabel = exports.createChartConfig = void 0;
7
+ var _reactNativeUi = require("@magmamath/react-native-ui");
8
+ var _pmProgressConstants = require("./pmProgress.constants.js");
9
+ var _chartHelpers = require("../components/chart/chart.helpers.js");
10
+ var _helpers = require("../../../shared/translation/helpers.js");
11
+ const groupStandardsByDomain = (standardStats, treeMapping) => {
12
+ const grouped = new Map();
13
+ for (const [standardId, stat] of Object.entries(standardStats)) {
14
+ const {
15
+ domainId,
16
+ skillIds,
17
+ skillsCount,
18
+ scorePercentage,
19
+ skillsToPractice
20
+ } = stat;
21
+ if (!grouped.has(domainId)) {
22
+ grouped.set(domainId, []);
23
+ }
24
+ const completed = !skillsToPractice || skillsToPractice.failed.length === 0 && skillsToPractice.unattempted.length === 0;
25
+ const left = skillsToPractice ? skillsToPractice.failed.length + skillsToPractice.unattempted.length : 0;
26
+ grouped.get(domainId).push({
27
+ standardId,
28
+ title: treeMapping[standardId].shortDescriptionTranslations || treeMapping[standardId].nameTranslations,
29
+ subtitle: treeMapping[standardId].originalId,
30
+ skillIds,
31
+ skillsToPractice,
32
+ skillsCount,
33
+ isCompleted: completed,
34
+ skillsLeft: left,
35
+ scorePercentage
36
+ });
37
+ }
38
+ return grouped;
39
+ };
40
+ const averageScorePercentage = standards => {
41
+ if (standards.length === 0) return 0;
42
+ const sum = standards.reduce((acc, s) => acc + s.scorePercentage, 0);
43
+ return Math.round(sum / standards.length * 10) / 10;
44
+ };
45
+ const resolveDomainColors = nonFluencyIndex => {
46
+ if (nonFluencyIndex < 0) {
47
+ return {
48
+ color: _reactNativeUi.COLORS.PRIMARY_ORANGE,
49
+ borderColor: _reactNativeUi.COLORS.ORANGE_6
50
+ };
51
+ }
52
+ return {
53
+ color: _pmProgressConstants.DOMAIN_COLORS[nonFluencyIndex] ?? _pmProgressConstants.DOMAIN_COLORS[_pmProgressConstants.DOMAIN_COLORS.length - 1],
54
+ borderColor: _pmProgressConstants.DOMAIN_BORDER_COLORS[nonFluencyIndex] ?? _pmProgressConstants.DOMAIN_BORDER_COLORS[_pmProgressConstants.DOMAIN_BORDER_COLORS.length - 1]
55
+ };
56
+ };
57
+ const getDomainStructure = (data, treeMapping) => {
58
+ const grouped = groupStandardsByDomain(data.standardStats, treeMapping);
59
+ const entries = Array.from(grouped.entries());
60
+ const nonFluencyDomainIds = entries.map(([id]) => id).filter(id => !isFluencyDomain(treeMapping[id].nameTranslations));
61
+ return entries.map(([domainId, standards]) => {
62
+ const title = treeMapping[domainId].nameTranslations;
63
+ const nonFluencyIndex = nonFluencyDomainIds.indexOf(domainId);
64
+ return {
65
+ domainId,
66
+ title,
67
+ ...resolveDomainColors(nonFluencyIndex),
68
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_4,
69
+ standards,
70
+ scorePercentage: averageScorePercentage(standards)
71
+ };
72
+ });
73
+ };
74
+ exports.getDomainStructure = getDomainStructure;
75
+ /**
76
+ * Resolves which grade a student should practice on.
77
+ *
78
+ * When userGrade is -1, null, or undefined (i.e. not explicitly set), we fall back
79
+ * to the student's enrolled grades and pick the lowest one that isn't locked.
80
+ * If userGrade is set but locked, we find the closest unlocked grade.
81
+ * All candidates are filtered against lockedGrades, so only unlocked grades are ever returned.
82
+ *
83
+ * Examples:
84
+ * locked=[1,2], enrolled=[2,5], grade=4 → 4 (unlocked, use as-is)
85
+ * locked=[1,2], enrolled=[2,5], grade=-1 → 5 (lowest unlocked enrolled)
86
+ * locked=[0,1,2,5], enrolled=[2,5], grade=-1 → 3 (no enrolled available, first unlocked)
87
+ * locked=[0,1], enrolled=[2,5], grade=-1 → 2 (lowest unlocked enrolled)
88
+ * locked=[0,1,2,3], enrolled=[3,9], grade=-1 → 9 (lowest unlocked enrolled)
89
+ * locked=[1,2,3], enrolled=[2,5], grade=2 → 4 (grade locked, closest below=none, above=4)
90
+ */
91
+ const getInitialPmGrade = ({
92
+ treeGrades,
93
+ lockedGrades,
94
+ enrolledGrades,
95
+ userGrade
96
+ }) => {
97
+ const locked = new Set(lockedGrades);
98
+ const unlocked = treeGrades.filter(g => !locked.has(g)).sort((a, b) => a - b);
99
+ if (unlocked.length === 0) {
100
+ return null;
101
+ }
102
+ const isUserGradeMissing = userGrade === null || userGrade === -1 || userGrade === undefined;
103
+ if (isUserGradeMissing) {
104
+ const unlockedEnrolled = enrolledGrades.filter(g => unlocked.includes(g));
105
+ return unlockedEnrolled.length > 0 ? Math.min(...unlockedEnrolled) : unlocked[0];
106
+ }
107
+ if (unlocked.includes(userGrade)) return userGrade;
108
+ const nearestBelow = [...unlocked].reverse().find(grade => grade < userGrade);
109
+ const nearestAbove = unlocked.find(grade => grade > userGrade);
110
+ return nearestBelow ?? nearestAbove ?? unlocked[0] ?? 0;
111
+ };
112
+ exports.getInitialPmGrade = getInitialPmGrade;
113
+ const formatTime = ms => {
114
+ const totalMinutes = Math.floor(ms / 60_000);
115
+ if (totalMinutes < 60) return `${totalMinutes}m`;
116
+ const hours = Math.round(totalMinutes / 60);
117
+ return `${hours}h`;
118
+ };
119
+ exports.formatTime = formatTime;
120
+ const isTreeDataReady = source => source.tree !== null && source.stats !== null && source.user !== null && source.grade !== null;
121
+ exports.isTreeDataReady = isTreeDataReady;
122
+ const createChartConfig = size => {
123
+ const OUTER_MARGIN = 5;
124
+ return {
125
+ size,
126
+ outerRadius: size / 2 - OUTER_MARGIN,
127
+ innerRadius: _chartHelpers.dynamicInnerRadius,
128
+ cornerRadius: _chartHelpers.dynamicCornerRadius,
129
+ gapBetweenSlices: 8,
130
+ pressOffset: 4,
131
+ borderWidth: 4,
132
+ colors: {
133
+ background: _reactNativeUi.COLORS.NEUTRAL_1,
134
+ highlightedBackground: _reactNativeUi.COLORS.NEUTRAL_6
135
+ },
136
+ outerArc: {
137
+ color: '#FFFFFF40',
138
+ strokeWidth: 11.75,
139
+ dashWidth: 22
140
+ }
141
+ };
142
+ };
143
+
144
+ /**
145
+ * Returns all skills from a standard, sorted by difficulty.
146
+ * Used when the standard is fully completed to allow revisiting.
147
+ */
148
+ exports.createChartConfig = createChartConfig;
149
+ const getAllSkillsFromStandard = (standard, skillsMapping) => standard.skillIds.map(id => skillsMapping[id]).filter(Boolean).sort((a, b) => skillsMapping[a._id]?.difficulty - skillsMapping[b._id]?.difficulty);
150
+
151
+ /**
152
+ * Returns uncompleted skills from a single standard.
153
+ * Failed skills come first, then unattempted.
154
+ */
155
+ exports.getAllSkillsFromStandard = getAllSkillsFromStandard;
156
+ const getUncompletedSkillsFromStandard = (standard, skillsMapping) => {
157
+ if (!standard.skillsToPractice) return [];
158
+ return [...standard.skillsToPractice.failed, ...standard.skillsToPractice.unattempted].map(({
159
+ skillId
160
+ }) => skillsMapping[skillId]).filter(Boolean).sort((a, b) => skillsMapping[a._id]?.difficulty - skillsMapping[b._id]?.difficulty);
161
+ };
162
+
163
+ /**
164
+ * Returns uncompleted skills from a domain, scanning standards from the beginning.
165
+ * Optionally excludes a standard (used when student selected a specific one).
166
+ */
167
+ exports.getUncompletedSkillsFromStandard = getUncompletedSkillsFromStandard;
168
+ const getUncompletedSkillsFromDomain = (domain, skillsMapping, excludeStandardId) => domain.standards.filter(s => !s.isCompleted && s.standardId !== excludeStandardId).flatMap(s => getUncompletedSkillsFromStandard(s, skillsMapping));
169
+
170
+ /**
171
+ * Returns all uncompleted skills across all domains in list order.
172
+ * Used as a fallback when recommendation arrays are empty.
173
+ */
174
+ exports.getUncompletedSkillsFromDomain = getUncompletedSkillsFromDomain;
175
+ const getAllUncompletedSkills = (domains, skillsMapping) => domains.filter(d => d.standards.some(s => !s.isCompleted)).flatMap(d => getUncompletedSkillsFromDomain(d, skillsMapping));
176
+
177
+ /** Moves item with the given id to the front: [0,1,2,3,4] with id of 3rd → [3,0,1,2,4] */
178
+ exports.getAllUncompletedSkills = getAllUncompletedSkills;
179
+ const shiftToBeginningOfArray = (id, items) => {
180
+ const index = items.findIndex(item => item._id === id);
181
+ if (index <= 0) return items;
182
+ return [items[index], ...items.slice(0, index), ...items.slice(index + 1)];
183
+ };
184
+ exports.shiftToBeginningOfArray = shiftToBeginningOfArray;
185
+ const withoutDuplicates = skills => {
186
+ const seen = new Set();
187
+ return skills.filter(skill => {
188
+ if (!skill) return false;
189
+ if (seen.has(skill._id)) return false;
190
+ seen.add(skill._id);
191
+ return true;
192
+ });
193
+ };
194
+
195
+ // Reorders grades starting from the given grade, wrapping around. [1,2,3] with start=2 → [2,3,1]
196
+ exports.withoutDuplicates = withoutDuplicates;
197
+ const startGradesFrom = (grades, startGrade) => {
198
+ const index = grades.findIndex(({
199
+ value
200
+ }) => value === startGrade);
201
+ if (index <= 0) return grades;
202
+ return [...grades.slice(index), ...grades.slice(0, index)];
203
+ };
204
+ exports.startGradesFrom = startGradesFrom;
205
+ const isFluencyDomain = title => {
206
+ return title.toLowerCase() === _pmProgressConstants.CustomDomain.FLUENCY.toLowerCase();
207
+ };
208
+ exports.isFluencyDomain = isFluencyDomain;
209
+ const formatGradeName = grade => {
210
+ if (grade === -1) return (0, _helpers.getText)('pmProgress.gradeOther');
211
+ if (grade === 0) return `${(0, _helpers.getText)('pmProgress.grade')} ${(0, _helpers.getText)('pmProgress.gradeK')}`;
212
+ return `${(0, _helpers.getText)('pmProgress.grade')} ${grade}`;
213
+ };
214
+ exports.formatGradeName = formatGradeName;
215
+ const formatGradeLabel = (grade, customLabelsMap) => {
216
+ if (!customLabelsMap) return formatGradeName(grade);
217
+ const label = customLabelsMap[String(grade)];
218
+ if (!label) return formatGradeName(grade);
219
+ if (label.noPrefix) return label.name;
220
+ return `${(0, _helpers.getText)('pmProgress.grade')} ${label.name}`;
221
+ };
222
+ exports.formatGradeLabel = formatGradeLabel;
223
+ const getTreeGrades = (tree, user) => {
224
+ const lockedGrades = new Set(user.setting.practiceModeLockedGrades);
225
+ const gradeNodes = Object.values(tree.treeMapping).filter(node => node?.type === 'grade' && node.attributes.grade !== null);
226
+ const uniqueSortedGrades = [...new Set(gradeNodes.map(node => node.attributes.grade))].sort((a, b) => a - b);
227
+ return uniqueSortedGrades.map(grade => ({
228
+ name: formatGradeName(grade),
229
+ value: grade,
230
+ isLocked: lockedGrades.has(grade)
231
+ }));
232
+ };
233
+ exports.getTreeGrades = getTreeGrades;
234
+ //# sourceMappingURL=pmProgress.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeUi","require","_pmProgressConstants","_chartHelpers","_helpers","groupStandardsByDomain","standardStats","treeMapping","grouped","Map","standardId","stat","Object","entries","domainId","skillIds","skillsCount","scorePercentage","skillsToPractice","has","set","completed","failed","length","unattempted","left","get","push","title","shortDescriptionTranslations","nameTranslations","subtitle","originalId","isCompleted","skillsLeft","averageScorePercentage","standards","sum","reduce","acc","s","Math","round","resolveDomainColors","nonFluencyIndex","color","COLORS","PRIMARY_ORANGE","borderColor","ORANGE_6","DOMAIN_COLORS","DOMAIN_BORDER_COLORS","getDomainStructure","data","Array","from","nonFluencyDomainIds","map","id","filter","isFluencyDomain","indexOf","backgroundColor","NEUTRAL_4","exports","getInitialPmGrade","treeGrades","lockedGrades","enrolledGrades","userGrade","locked","Set","unlocked","g","sort","a","b","isUserGradeMissing","undefined","unlockedEnrolled","includes","min","nearestBelow","reverse","find","grade","nearestAbove","formatTime","ms","totalMinutes","floor","hours","isTreeDataReady","source","tree","stats","user","createChartConfig","size","OUTER_MARGIN","outerRadius","innerRadius","dynamicInnerRadius","cornerRadius","dynamicCornerRadius","gapBetweenSlices","pressOffset","borderWidth","colors","background","NEUTRAL_1","highlightedBackground","NEUTRAL_6","outerArc","strokeWidth","dashWidth","getAllSkillsFromStandard","standard","skillsMapping","Boolean","_id","difficulty","getUncompletedSkillsFromStandard","skillId","getUncompletedSkillsFromDomain","domain","excludeStandardId","flatMap","getAllUncompletedSkills","domains","d","some","shiftToBeginningOfArray","items","index","findIndex","item","slice","withoutDuplicates","skills","seen","skill","add","startGradesFrom","grades","startGrade","value","toLowerCase","CustomDomain","FLUENCY","formatGradeName","getText","formatGradeLabel","customLabelsMap","label","String","noPrefix","name","getTreeGrades","setting","practiceModeLockedGrades","gradeNodes","values","node","type","attributes","uniqueSortedGrades","isLocked"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RecommendationType = void 0;
7
+ let RecommendationType = exports.RecommendationType = /*#__PURE__*/function (RecommendationType) {
8
+ RecommendationType["MAGMA"] = "magma";
9
+ RecommendationType["TEACHER"] = "teacher";
10
+ return RecommendationType;
11
+ }({});
12
+ //# sourceMappingURL=pmProgress.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RecommendationType","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.types.ts"],"mappings":";;;;;;IAqEYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
@@ -3,16 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VoiceRecorderState = exports.VOICE_RECORD_SHAWODS = exports.VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_CONTAINER_SIZES = exports.TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_MAX_RETRIES = exports.NO_AUDIO_BE_MESSAGE = exports.DROPDOWN_MAX_CONTENT_HEIGHT = void 0;
6
+ exports.VoiceRecorderState = exports.VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_CONTAINER_SIZES = exports.TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_MAX_RETRIES = exports.NO_AUDIO_BE_MESSAGE = exports.DROPDOWN_MAX_CONTENT_HEIGHT = void 0;
7
7
  const VOICE_RECORDER_CONTAINER_SIZES = exports.VOICE_RECORDER_CONTAINER_SIZES = {
8
- COLLAPSED: {
9
- default: 61,
10
- advanced: 52
11
- },
12
- EXPANDED: {
13
- default: 152,
14
- advanced: 136
15
- }
8
+ COLLAPSED: 61,
9
+ EXPANDED: 152
16
10
  };
17
11
  const VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = 60000; // 1 minute
18
12
  const VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MIN_DURATION_MS = 300;
@@ -26,10 +20,4 @@ const DROPDOWN_MAX_CONTENT_HEIGHT = exports.DROPDOWN_MAX_CONTENT_HEIGHT = 330;
26
20
  const TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
27
21
  const TRANSCRIPT_MAX_RETRIES = exports.TRANSCRIPT_MAX_RETRIES = 15;
28
22
  const NO_AUDIO_BE_MESSAGE = exports.NO_AUDIO_BE_MESSAGE = 'No audio';
29
-
30
- //todo: remove native shadows from rn-ui and set from WEB for both platforms
31
- const VOICE_RECORD_SHAWODS = exports.VOICE_RECORD_SHAWODS = {
32
- default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
33
- advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)'
34
- };
35
23
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","default","advanced","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VOICE_RECORDER_MIN_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE","VOICE_RECORD_SHAWODS"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE;IACTC,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRF,OAAO,EAAE,GAAG;IACZC,QAAQ,EAAE;EACZ;AACF,CAAC;AACM,MAAME,8BAA8B,GAAAL,OAAA,CAAAK,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAN,OAAA,CAAAM,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAR,OAAA,CAAAQ,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAV,OAAA,CAAAU,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAX,OAAA,CAAAW,mBAAA,GAAG,UAAU;;AAE7C;AACO,MAAMC,oBAAoB,GAAAZ,OAAA,CAAAY,oBAAA,GAAG;EAClCV,OAAO,EAAE,sEAAsE;EAC/EC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VOICE_RECORDER_MIN_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AACM,MAAMC,8BAA8B,GAAAH,OAAA,CAAAG,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAJ,OAAA,CAAAI,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAN,OAAA,CAAAM,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAP,OAAA,CAAAO,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAR,OAAA,CAAAQ,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAT,OAAA,CAAAS,mBAAA,GAAG,UAAU","ignoreList":[]}
@@ -15,8 +15,6 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
15
15
  var _useVoiceRecorder = require("../hooks/useVoiceRecorder.js");
16
16
  var _useVoiceRecorderAnimation = require("../hooks/useVoiceRecorderAnimation.js");
17
17
  var _effectorReact = require("effector-react");
18
- var _types = require("../../types.js");
19
- var _constants = require("../../constants.js");
20
18
  var _jsxRuntime = require("react/jsx-runtime");
21
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -28,19 +26,16 @@ const VoiceRecord = ({
28
26
  recorderState
29
27
  } = (0, _useVoiceRecorder.useVoiceRecorder)(model);
30
28
  const [isExpanded, isDisabled] = (0, _effectorReact.useUnit)([model.$isExpanded, model.$isButtonDisabled]);
31
- const recordButtonVariant = model.recordButtonVariant;
32
29
  const {
33
30
  containerAnimatedStyle
34
- } = (0, _useVoiceRecorderAnimation.useVoiceRecorderAnimation)(isExpanded, recordButtonVariant);
31
+ } = (0, _useVoiceRecorderAnimation.useVoiceRecorderAnimation)(isExpanded);
35
32
  (0, _react.useEffect)(() => {
36
33
  return () => {
37
34
  model.cleanup();
38
35
  };
39
36
  }, [model]);
40
37
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
41
- style: [styles.container, recordButtonVariant === _types.RecordButtonVariant.ADVANCED && styles.advancedVariantContainer, {
42
- boxShadow: _constants.VOICE_RECORD_SHAWODS[recordButtonVariant]
43
- }, style, containerAnimatedStyle],
38
+ style: [styles.container, style, containerAnimatedStyle],
44
39
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordButton.VoiceRecordButton, {
45
40
  model: model
46
41
  }), isExpanded && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
@@ -48,7 +43,7 @@ const VoiceRecord = ({
48
43
  exiting: _reactNativeReanimated.FadeOut,
49
44
  style: styles.expendedContainer,
50
45
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordTimer.VoiceRecordTimer, {
51
- style: [styles.timer, recordButtonVariant === _types.RecordButtonVariant.ADVANCED && styles.advancedVariantTimer],
46
+ style: styles.timer,
52
47
  model: model,
53
48
  recordingFileDurationMs: recorderState.durationMillis
54
49
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordDivider.VoiceRecordDivider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceRecordDeleteButton.VoiceRecordDeleteButton, {
@@ -65,22 +60,13 @@ const styles = _reactNative.StyleSheet.create({
65
60
  padding: 3,
66
61
  paddingBottom: 6,
67
62
  backgroundColor: _reactNativeUi.COLORS.NEUTRAL_3,
68
- borderRadius: 32
69
- },
70
- advancedVariantContainer: {
71
- borderRadius: _reactNativeUi.BORDER_RADIUS[300],
72
- padding: 0,
63
+ borderRadius: 32,
64
+ boxShadow: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
73
65
  overflow: 'hidden'
74
66
  },
75
67
  timer: {
76
68
  marginTop: _reactNativeUi.SPACING[400]
77
69
  },
78
- defaultTimer: {
79
- marginTop: _reactNativeUi.SPACING[300]
80
- },
81
- advancedVariantTimer: {
82
- marginTop: _reactNativeUi.SPACING[150]
83
- },
84
70
  expendedContainer: {
85
71
  alignItems: 'center'
86
72
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDivider","_VoiceRecordTimer","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_types","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","recorderState","useVoiceRecorder","isExpanded","isDisabled","useUnit","$isExpanded","$isButtonDisabled","recordButtonVariant","containerAnimatedStyle","useVoiceRecorderAnimation","useEffect","cleanup","jsxs","View","styles","container","RecordButtonVariant","ADVANCED","advancedVariantContainer","boxShadow","VOICE_RECORD_SHAWODS","children","jsx","VoiceRecordButton","entering","FadeIn","exiting","FadeOut","expendedContainer","VoiceRecordTimer","timer","advancedVariantTimer","recordingFileDurationMs","durationMillis","VoiceRecordDivider","VoiceRecordDeleteButton","onPress","events","deleteRecord","exports","StyleSheet","create","alignItems","padding","paddingBottom","backgroundColor","COLORS","NEUTRAL_3","borderRadius","BORDER_RADIUS","overflow","marginTop","SPACING","defaultTimer"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDivider","_VoiceRecordTimer","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","recorderState","useVoiceRecorder","isExpanded","isDisabled","useUnit","$isExpanded","$isButtonDisabled","containerAnimatedStyle","useVoiceRecorderAnimation","useEffect","cleanup","jsxs","View","styles","container","children","jsx","VoiceRecordButton","entering","FadeIn","exiting","FadeOut","expendedContainer","VoiceRecordTimer","timer","recordingFileDurationMs","durationMillis","VoiceRecordDivider","VoiceRecordDeleteButton","onPress","events","deleteRecord","exports","StyleSheet","create","alignItems","padding","paddingBottom","backgroundColor","COLORS","NEUTRAL_3","borderRadius","boxShadow","overflow","marginTop","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecord.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAL,uBAAA,CAAAH,OAAA;AAEA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,0BAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AAAwC,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAOjC,MAAMW,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,kCAAgB,EAACF,KAAK,CAAC;EACjD,MAAM,CAACG,UAAU,EAAEC,UAAU,CAAC,GAAG,IAAAC,sBAAO,EAAC,CAACL,KAAK,CAACM,WAAW,EAAEN,KAAK,CAACO,iBAAiB,CAAC,CAAC;EAEtF,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAC,oDAAyB,EAACN,UAAU,CAAC;EAExE,IAAAO,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXV,KAAK,CAACW,OAAO,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAEX,oBACE,IAAAvB,WAAA,CAAAmC,IAAA,EAACvC,sBAAA,CAAAW,OAAQ,CAAC6B,IAAI;IAACd,KAAK,EAAE,CAACe,MAAM,CAACC,SAAS,EAAEhB,KAAK,EAAES,sBAAsB,CAAE;IAAAQ,QAAA,gBACtE,IAAAvC,WAAA,CAAAwC,GAAA,EAACnD,kBAAA,CAAAoD,iBAAiB;MAAClB,KAAK,EAAEA;IAAM,CAAE,CAAC,EAClCG,UAAU,iBACT,IAAA1B,WAAA,CAAAmC,IAAA,EAACvC,sBAAA,CAAAW,OAAQ,CAAC6B,IAAI;MAACM,QAAQ,EAAEC,6BAAO;MAACC,OAAO,EAAEC,8BAAQ;MAACvB,KAAK,EAAEe,MAAM,CAACS,iBAAkB;MAAAP,QAAA,gBACjF,IAAAvC,WAAA,CAAAwC,GAAA,EAAC7C,iBAAA,CAAAoD,gBAAgB;QACfzB,KAAK,EAAEe,MAAM,CAACW,KAAM;QACpBzB,KAAK,EAAEA,KAAM;QACb0B,uBAAuB,EAAEzB,aAAa,CAAC0B;MAAe,CACvD,CAAC,eACF,IAAAlD,WAAA,CAAAwC,GAAA,EAAC9C,mBAAA,CAAAyD,kBAAkB,IAAE,CAAC,eACtB,IAAAnD,WAAA,CAAAwC,GAAA,EAAC/C,wBAAA,CAAA2D,uBAAuB;QAACzB,UAAU,EAAEA,UAAW;QAAC0B,OAAO,EAAE9B,KAAK,CAAC+B,MAAM,CAACC;MAAa,CAAE,CAAC;IAAA,CAC1E,CAChB;EAAA,CACY,CAAC;AAEpB,CAAC;AAAAC,OAAA,CAAAnC,WAAA,GAAAA,WAAA;AAED,MAAMgB,MAAM,GAAGoB,uBAAU,CAACC,MAAM,CAAC;EAC/BpB,SAAS,EAAE;IACTqB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,sEAAsE;IACjFC,QAAQ,EAAE;EACZ,CAAC;EACDnB,KAAK,EAAE;IACLoB,SAAS,EAAEC,sBAAO,CAAC,GAAG;EACxB,CAAC;EACDvB,iBAAiB,EAAE;IACjBa,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -4,22 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VoiceRecordButton = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNativeUi = require("@magmamath/react-native-ui");
9
9
  var _reactNative = require("react-native");
10
10
  var _effectorReact = require("effector-react");
11
11
  var _constants = require("../../constants.js");
12
12
  var _index = require("../../../../shared/translation/index.js");
13
- var _types = require("../../types.js");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const defaultButtonStyles = {
17
- button: {
18
- width: 50,
19
- height: 50
20
- }
21
- };
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
16
  const VoiceRecordButton = ({
17
+ style,
23
18
  model
24
19
  }) => {
25
20
  const t = (0, _index.useText)();
@@ -27,92 +22,42 @@ const VoiceRecordButton = ({
27
22
  const voiceRecordState = (0, _effectorReact.useUnit)(model.recorderModel.$voiceRecordState);
28
23
  const isButtonDisabled = (0, _effectorReact.useUnit)(model.$isButtonDisabled);
29
24
  const isInitializing = (0, _effectorReact.useUnit)(model.initializeRecording.pending);
30
- const isRecording = voiceRecordState === _constants.VoiceRecorderState.RECORDING;
31
- const isIdle = voiceRecordState === _constants.VoiceRecorderState.IDLE;
32
- const hasInputs = availableInputs.length > 0;
25
+ const combinedStyles = (0, _react.useMemo)(() => {
26
+ return {
27
+ button: [{
28
+ width: 50,
29
+ height: 50
30
+ }, style?.button],
31
+ container: [style?.container],
32
+ text: [style?.text]
33
+ };
34
+ }, [style]);
33
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
34
36
  onPressIn: e => {
35
- if (hasInputs) return;
37
+ if (availableInputs.length) return;
36
38
  e.preventDefault();
37
39
  model.notification.warning(t('voice.noMicrophoneFound'));
38
40
  },
39
- pointerEvents: !hasInputs || isInitializing ? 'box-only' : 'auto',
40
- style: [isButtonDisabled ? styles.disabledCursor : undefined],
41
- children: model.recordButtonVariant === _types.RecordButtonVariant.ADVANCED ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AdvancedButton, {
42
- isRecording: isRecording,
43
- isIdle: isIdle,
44
- disabled: isButtonDisabled,
45
- onPressIn: () => model.recorderButtonHandler()
46
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
47
- disabled: isButtonDisabled,
41
+ pointerEvents: !availableInputs.length || isInitializing ? 'box-only' : 'auto',
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
43
+ disabled: isButtonDisabled || !availableInputs.length,
48
44
  onPressIn: () => model.recorderButtonHandler(),
49
- style: defaultButtonStyles,
45
+ style: combinedStyles,
50
46
  size: _reactNativeUi.ButtonSize.LARGE,
51
47
  variant: _reactNativeUi.ButtonVariant.SECONDARY,
52
48
  colorScheme: _reactNativeUi.ButtonColor.WHITE,
53
- icon: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
49
+ icon: voiceRecordState === _constants.VoiceRecorderState.RECORDING ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
54
50
  size: 25
55
51
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
56
- style: _reactNativeUi.IS_WEB ? styles.microphoneIconWeb : styles.microphoneIconNative
52
+ style: _reactNativeUi.IS_WEB ? {
53
+ width: 19
54
+ } : {
55
+ minWidth: 23,
56
+ minHeight: 23
57
+ }
57
58
  })
58
59
  })
59
60
  });
60
61
  };
61
62
  exports.VoiceRecordButton = VoiceRecordButton;
62
- const AdvancedButton = ({
63
- isRecording,
64
- isIdle,
65
- disabled,
66
- onPressIn
67
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
68
- style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
69
- onPressIn: onPressIn,
70
- disabled: disabled,
71
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
72
- style: [styles.advancedIconContainer, !isIdle && styles.advancedIconContainerActive],
73
- children: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
74
- size: 18,
75
- color: _reactNativeUi.COLORS.NEUTRAL_1
76
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
77
- style: styles.advancedMicrophoneIcon,
78
- color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : isIdle ? _reactNativeUi.COLORS.NEUTRAL_9 : _reactNativeUi.COLORS.NEUTRAL_1
79
- })
80
- })
81
- });
82
- const styles = _reactNative.StyleSheet.create({
83
- advancedButtonContainer: {
84
- width: 52,
85
- height: 52,
86
- backgroundColor: 'white',
87
- alignItems: 'center',
88
- justifyContent: 'center',
89
- borderRadius: _reactNativeUi.BORDER_RADIUS[300],
90
- boxShadow: _constants.VOICE_RECORD_SHAWODS[_types.RecordButtonVariant.ADVANCED]
91
- },
92
- advancedIconContainer: {
93
- width: 36,
94
- height: 36,
95
- borderRadius: _reactNativeUi.BORDER_RADIUS[300],
96
- justifyContent: 'center',
97
- alignItems: 'center'
98
- },
99
- disabledCursor: {
100
- cursor: 'not-allowed'
101
- },
102
- microphoneIconWeb: {
103
- width: 19
104
- },
105
- microphoneIconNative: {
106
- minWidth: 23,
107
- minHeight: 23
108
- },
109
- advancedIconContainerActive: {
110
- borderRadius: 32,
111
- backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE
112
- },
113
- advancedMicrophoneIcon: {
114
- width: 14,
115
- height: 19
116
- }
117
- });
118
63
  //# sourceMappingURL=VoiceRecordButton.js.map