@cuemath/leap 3.5.31 → 3.5.32-as11

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 (255) hide show
  1. package/dist/assets/illustrations/illustrations.js +38 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/images/images.js +0 -12
  4. package/dist/assets/images/images.js.map +1 -1
  5. package/dist/assets/line-icons/icons/carat-right.js +26 -0
  6. package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
  7. package/dist/features/analytics-events/whitelist-events.js +10 -8
  8. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +3 -3
  10. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -1
  11. package/dist/features/journey/tracking-id/tracking-id-teacher.js +5 -0
  12. package/dist/features/journey/tracking-id/tracking-id-teacher.js.map +1 -0
  13. package/dist/features/journey/tracking-id/tracking-ids.js +5 -3
  14. package/dist/features/journey/tracking-id/tracking-ids.js.map +1 -1
  15. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js +17 -0
  16. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js.map +1 -0
  17. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js +54 -0
  18. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js.map +1 -0
  19. package/dist/features/timeline/{api → daily-timeline/api}/use-daily-timeline-get.js +2 -2
  20. package/dist/features/timeline/daily-timeline/api/use-daily-timeline-get.js.map +1 -0
  21. package/dist/features/timeline/{comps → daily-timeline/comps}/accordion-item/accordion-item.js +6 -6
  22. package/dist/features/timeline/daily-timeline/comps/accordion-item/accordion-item.js.map +1 -0
  23. package/dist/features/timeline/daily-timeline/comps/constants.js +22 -0
  24. package/dist/features/timeline/daily-timeline/comps/constants.js.map +1 -0
  25. package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items-styled.js +1 -1
  26. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +1 -0
  27. package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items.js +18 -18
  28. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -0
  29. package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break-styled.js +1 -1
  30. package/dist/features/timeline/daily-timeline/comps/month-break/month-break-styled.js.map +1 -0
  31. package/dist/features/timeline/daily-timeline/comps/month-break/month-break.js.map +1 -0
  32. package/dist/features/timeline/{comps → daily-timeline/comps}/no-activity.js +4 -4
  33. package/dist/features/timeline/daily-timeline/comps/no-activity.js.map +1 -0
  34. package/dist/features/timeline/{comps → daily-timeline/comps}/utils.js +5 -5
  35. package/dist/features/timeline/daily-timeline/comps/utils.js.map +1 -0
  36. package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break-styled.js +1 -1
  37. package/dist/features/timeline/daily-timeline/comps/year-break/year-break-styled.js.map +1 -0
  38. package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break.js +2 -2
  39. package/dist/features/timeline/daily-timeline/comps/year-break/year-break.js.map +1 -0
  40. package/dist/features/timeline/{daily-timeline-events.js → daily-timeline/daily-timeline-events.js} +1 -1
  41. package/dist/features/timeline/daily-timeline/daily-timeline-events.js.map +1 -0
  42. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js +25 -0
  43. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +1 -0
  44. package/dist/features/timeline/daily-timeline/daily-timeline-types.js +7 -0
  45. package/dist/features/timeline/daily-timeline/daily-timeline-types.js.map +1 -0
  46. package/dist/features/timeline/{daily-timeline-view.js → daily-timeline/daily-timeline-view.js} +24 -25
  47. package/dist/features/timeline/daily-timeline/daily-timeline-view.js.map +1 -0
  48. package/dist/features/timeline/{daily-timeline.js → daily-timeline/daily-timeline.js} +23 -23
  49. package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -0
  50. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
  51. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
  52. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
  53. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
  54. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
  55. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
  56. package/dist/features/timeline/monthly-timeline/constants.js +40 -0
  57. package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
  58. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js +13 -0
  59. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js.map +1 -0
  60. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js +59 -0
  61. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
  62. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
  63. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
  64. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js +16 -0
  65. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js.map +1 -0
  66. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
  67. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
  68. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
  69. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
  70. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +75 -0
  71. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
  72. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
  73. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
  74. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js +66 -0
  75. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js.map +1 -0
  76. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js +27 -0
  77. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js.map +1 -0
  78. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js +102 -0
  79. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js.map +1 -0
  80. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js +9 -0
  81. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js.map +1 -0
  82. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
  83. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
  84. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js +123 -0
  85. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
  86. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js +49 -0
  87. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
  88. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js +48 -0
  89. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
  90. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js +56 -0
  91. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
  92. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
  93. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
  94. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js +85 -0
  95. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
  96. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
  97. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
  98. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
  99. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
  100. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js +118 -0
  101. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
  102. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js +30 -0
  103. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
  104. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js +22 -0
  105. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js.map +1 -0
  106. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js +11 -0
  107. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js.map +1 -0
  108. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js +14 -0
  109. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js.map +1 -0
  110. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +5 -0
  111. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -0
  112. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js +79 -0
  113. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js.map +1 -0
  114. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +13 -0
  115. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
  116. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
  117. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
  118. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
  119. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
  120. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +65 -0
  121. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
  122. package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js +9 -0
  123. package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
  124. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
  125. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
  126. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js +35 -0
  127. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
  128. package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
  129. package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
  130. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
  131. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
  132. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
  133. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
  134. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
  135. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
  136. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js +22 -0
  137. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
  138. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
  139. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
  140. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js +84 -0
  141. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
  142. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
  143. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
  144. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js +36 -0
  145. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
  146. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
  147. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
  148. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
  149. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
  150. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
  151. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
  152. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js +21 -0
  153. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
  154. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
  155. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
  156. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js +30 -0
  157. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
  158. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
  159. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
  160. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
  161. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
  162. package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
  163. package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
  164. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js +16 -0
  165. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js.map +1 -0
  166. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js +8 -0
  167. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js.map +1 -0
  168. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js +11 -0
  169. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js.map +1 -0
  170. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js +5 -0
  171. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -0
  172. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +113 -0
  173. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -0
  174. package/dist/features/timeline/timeline-tabs/constants.js +17 -0
  175. package/dist/features/timeline/timeline-tabs/constants.js.map +1 -0
  176. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
  177. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
  178. package/dist/features/timeline/timeline-tabs/timeline-tabs.js +28 -0
  179. package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
  180. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
  181. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
  182. package/dist/index.d.ts +169 -15
  183. package/dist/index.js +327 -313
  184. package/dist/index.js.map +1 -1
  185. package/dist/static/2021.2a1a2ec9.svg +1 -0
  186. package/dist/static/2022.2091553a.svg +1 -0
  187. package/dist/static/2023.ed718b4e.svg +1 -0
  188. package/dist/static/2024.aa60edc5.svg +1 -0
  189. package/dist/static/2025.014a8ad3.svg +1 -0
  190. package/dist/static/2026.95d70f27.svg +1 -0
  191. package/dist/static/2027.fe83a41c.svg +1 -0
  192. package/dist/static/2028.b1c253ef.svg +1 -0
  193. package/dist/static/apr.cd56f13d.svg +1 -0
  194. package/dist/static/aug.3ceade02.svg +1 -0
  195. package/dist/static/calendar_purple_2.6e8249ef.svg +1 -0
  196. package/dist/static/clock_purple.c774c9bf.svg +1 -0
  197. package/dist/static/coding-report-icon.91a1e900.svg +1 -0
  198. package/dist/static/dec.90729a5e.svg +1 -0
  199. package/dist/static/elp-icon.d45b457d.svg +1 -0
  200. package/dist/static/empty-reports.fe92faad.svg +1 -0
  201. package/dist/static/english-icon.50c2e005.svg +1 -0
  202. package/dist/static/feb.a9ecd320.svg +1 -0
  203. package/dist/static/full-report.00112c74.svg +1 -0
  204. package/dist/static/jan.f8fb9c39.svg +1 -0
  205. package/dist/static/jul.04a98cf0.svg +1 -0
  206. package/dist/static/jun.9b6ab6bf.svg +1 -0
  207. package/dist/static/mar.f8b372ef.svg +1 -0
  208. package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
  209. package/dist/static/may.23adae48.svg +1 -0
  210. package/dist/static/no-report.4158fad3.svg +1 -0
  211. package/dist/static/node-learn-large-bg.faa03631.svg +1 -0
  212. package/dist/static/node-puzzle-large-bg.ba23382e.svg +1 -0
  213. package/dist/static/node-test-large-bg.e9120fd1.svg +1 -0
  214. package/dist/static/nov.c44e4739.svg +1 -0
  215. package/dist/static/oct.856b3b3f.svg +1 -0
  216. package/dist/static/progress_bar_purple.2ff4dfe2.svg +1 -0
  217. package/dist/static/ptm-report-icon.5089218f.svg +1 -0
  218. package/dist/static/sat-report-icon.4331be86.svg +1 -0
  219. package/dist/static/science-report-icon.a0014c40.svg +1 -0
  220. package/dist/static/sep.2d547b31.svg +1 -0
  221. package/dist/static/thumps-down.a1192a62.svg +1 -0
  222. package/dist/static/thumps-up.caa35a98.svg +1 -0
  223. package/package.json +1 -1
  224. package/dist/features/timeline/api/use-daily-timeline-get.js.map +0 -1
  225. package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +0 -1
  226. package/dist/features/timeline/comps/constants.js +0 -22
  227. package/dist/features/timeline/comps/constants.js.map +0 -1
  228. package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +0 -1
  229. package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js.map +0 -1
  230. package/dist/features/timeline/comps/month-break/month-break-styled.js.map +0 -1
  231. package/dist/features/timeline/comps/month-break/month-break.js.map +0 -1
  232. package/dist/features/timeline/comps/no-activity.js.map +0 -1
  233. package/dist/features/timeline/comps/utils.js.map +0 -1
  234. package/dist/features/timeline/comps/year-break/year-break-styled.js.map +0 -1
  235. package/dist/features/timeline/comps/year-break/year-break.js.map +0 -1
  236. package/dist/features/timeline/daily-timeline-events.js.map +0 -1
  237. package/dist/features/timeline/daily-timeline-styled.js +0 -21
  238. package/dist/features/timeline/daily-timeline-styled.js.map +0 -1
  239. package/dist/features/timeline/daily-timeline-types.js +0 -7
  240. package/dist/features/timeline/daily-timeline-types.js.map +0 -1
  241. package/dist/features/timeline/daily-timeline-view.js.map +0 -1
  242. package/dist/features/timeline/daily-timeline.js.map +0 -1
  243. package/dist/static/apr.09a50ff7.png +0 -0
  244. package/dist/static/aug.7179d37e.png +0 -0
  245. package/dist/static/dec.09f7e315.png +0 -0
  246. package/dist/static/feb.9e72504d.png +0 -0
  247. package/dist/static/jan.da91944a.png +0 -0
  248. package/dist/static/jul.5a1c4932.png +0 -0
  249. package/dist/static/jun.62639c2f.png +0 -0
  250. package/dist/static/mar.f51bcfa6.png +0 -0
  251. package/dist/static/may.7c542020.png +0 -0
  252. package/dist/static/nov.058343e7.png +0 -0
  253. package/dist/static/oct.573ee19d.png +0 -0
  254. package/dist/static/sep.3ccb6468.png +0 -0
  255. /package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break.js +0 -0
@@ -0,0 +1,79 @@
1
+ import { jsx as e, jsxs as R } from "react/jsx-runtime";
2
+ import { memo as $, useCallback as k, useEffect as g } from "react";
3
+ import { monthlyReportGet as F } from "./api/use-monthly-report-api.js";
4
+ import S from "../../../ui/loader/app-loader/app-loader.js";
5
+ import b from "../../../ui/error/error.js";
6
+ import { MonthlyReportContainer as j } from "./monthly-report-styled.js";
7
+ import M from "./comps/goals/goals.js";
8
+ import N from "./comps/activities/activities.js";
9
+ import y from "../../../ui/layout/flex-view.js";
10
+ import P from "./comps/attendance/attendance.js";
11
+ import E from "./comps/feedback/feedback.js";
12
+ import G from "./comps/achievements/achievements.js";
13
+ import { IS_APP_RUNNING_IN_RN as I } from "../../../../constants/app-config.js";
14
+ import w from "../../../ui/separator/separator.js";
15
+ const L = ({
16
+ studentName: i,
17
+ reportId: r,
18
+ onPuzzleClick: C,
19
+ showSnackbar: a,
20
+ onFeedback: v
21
+ }) => {
22
+ const {
23
+ get: m,
24
+ data: c,
25
+ isProcessing: o,
26
+ isProcessingFailed: x,
27
+ isStale: l
28
+ } = F(r), {
29
+ progress_data: A,
30
+ calendar_data: p,
31
+ report_month: f,
32
+ report_year: h,
33
+ feedback: D,
34
+ student_course_ids: s
35
+ } = c || {}, {
36
+ user_milestones: d,
37
+ activities: u,
38
+ user_achievements: _
39
+ } = A || {}, t = k(() => {
40
+ m(r);
41
+ }, [m, r]);
42
+ if (g(() => {
43
+ t();
44
+ }, [t]), g(() => {
45
+ l && !o && t();
46
+ }, [l, o, t]), o && !c)
47
+ return /* @__PURE__ */ e(y, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(S, { height: "100dvh" }) });
48
+ if (x)
49
+ return /* @__PURE__ */ e(y, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(b, { onTryAgain: t }) });
50
+ const n = s == null ? void 0 : s[0];
51
+ return /* @__PURE__ */ R(j, { children: [
52
+ d && /* @__PURE__ */ e(M, { milestones: d, isExpended: !0 }),
53
+ u && /* @__PURE__ */ e(N, { activities: u, onPuzzleClick: C }),
54
+ _ && /* @__PURE__ */ e(G, { achievements: _, studentName: i }),
55
+ p && f && h && /* @__PURE__ */ e(
56
+ P,
57
+ {
58
+ calendarData: p,
59
+ reportMonth: f,
60
+ reportYear: h,
61
+ onDateClick: a
62
+ }
63
+ ),
64
+ I && !D && n && n ? /* @__PURE__ */ e(
65
+ E,
66
+ {
67
+ reportId: r,
68
+ studentName: i,
69
+ onFeedback: v,
70
+ studentCourseId: n,
71
+ showSnackbar: a
72
+ }
73
+ ) : /* @__PURE__ */ e(w, { heightX: 1 })
74
+ ] });
75
+ }, te = $(L);
76
+ export {
77
+ te as default
78
+ };
79
+ //# sourceMappingURL=monthly-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-report.js","sources":["../../../../../src/features/timeline/monthly-timeline/monthly-report/monthly-report.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useEffect } from 'react';\n\nimport { type IMonthlyReportProps } from './monthly-report-types';\nimport { monthlyReportGet } from './api/use-monthly-report-api';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Error from '../../../ui/error/error';\nimport * as Styled from './monthly-report-styled';\nimport Goals from './comps/goals/goals';\nimport Activities from './comps/activities/activities';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Attendance from './comps/attendance/attendance';\nimport Feedback from './comps/feedback/feedback';\nimport Achievements from './comps/achievements/achievements';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../constants/app-config';\nimport Separator from '../../../ui/separator/separator';\n\nconst MonthlyReport: FC<IMonthlyReportProps> = ({\n studentName,\n reportId,\n onPuzzleClick,\n showSnackbar,\n onFeedback,\n}) => {\n const {\n get: getReport,\n data: reportData,\n isProcessing,\n isProcessingFailed,\n isStale,\n } = monthlyReportGet(reportId);\n\n const {\n progress_data: progressData,\n calendar_data: calendarData,\n report_month: month,\n report_year: year,\n feedback,\n student_course_ids: studentCourseIds,\n } = reportData || {};\n\n const {\n user_milestones: userMilestones,\n activities,\n user_achievements: userAchievements,\n } = progressData || {};\n\n const fetchData = useCallback(() => {\n getReport(reportId);\n }, [getReport, reportId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n useEffect(() => {\n if (isStale && !isProcessing) {\n fetchData();\n }\n }, [isStale, isProcessing, fetchData]);\n\n if (isProcessing && !reportData) {\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100dvh\" />\n </FlexView>\n );\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error onTryAgain={fetchData} />\n </FlexView>\n );\n }\n\n const firstStudentCourseId = studentCourseIds?.[0];\n const shouldShowFeedback = IS_APP_RUNNING_IN_RN && !feedback && firstStudentCourseId;\n const hasCalendarData = calendarData && month && year;\n\n return (\n <Styled.MonthlyReportContainer>\n {userMilestones && <Goals milestones={userMilestones} isExpended={true} />}\n\n {activities && <Activities activities={activities} onPuzzleClick={onPuzzleClick} />}\n\n {userAchievements && (\n <Achievements achievements={userAchievements} studentName={studentName} />\n )}\n\n {hasCalendarData && (\n <Attendance\n calendarData={calendarData}\n reportMonth={month}\n reportYear={year}\n onDateClick={showSnackbar}\n />\n )}\n\n {shouldShowFeedback && firstStudentCourseId ? (\n <Feedback\n reportId={reportId}\n studentName={studentName}\n onFeedback={onFeedback}\n studentCourseId={firstStudentCourseId}\n showSnackbar={showSnackbar}\n />\n ) : (\n <Separator heightX={1} />\n )}\n </Styled.MonthlyReportContainer>\n );\n};\n\nexport default memo(MonthlyReport);\n"],"names":["MonthlyReport","studentName","reportId","onPuzzleClick","showSnackbar","onFeedback","getReport","reportData","isProcessing","isProcessingFailed","isStale","monthlyReportGet","progressData","calendarData","month","year","feedback","studentCourseIds","userMilestones","activities","userAchievements","fetchData","useCallback","useEffect","jsx","FlexView","AppLoader","Error","firstStudentCourseId","jsxs","Styled.MonthlyReportContainer","Goals","Activities","Achievements","Attendance","IS_APP_RUNNING_IN_RN","Feedback","Separator","monthlyReport","memo"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAiBT,CAAQ,GAEvB;AAAA,IACJ,eAAeU;AAAA,IACf,eAAeC;AAAA,IACf,cAAcC;AAAA,IACd,aAAaC;AAAA,IACb,UAAAC;AAAA,IACA,oBAAoBC;AAAA,EAAA,IAClBV,KAAc,CAAA,GAEZ;AAAA,IACJ,iBAAiBW;AAAA,IACjB,YAAAC;AAAA,IACA,mBAAmBC;AAAA,EAAA,IACjBR,KAAgB,CAAA,GAEdS,IAAYC,EAAY,MAAM;AAClC,IAAAhB,EAAUJ,CAAQ;AAAA,EAAA,GACjB,CAACI,GAAWJ,CAAQ,CAAC;AAYpB,MAVJqB,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEdE,EAAU,MAAM;AACV,IAAAb,KAAW,CAACF,KACJa;EAEX,GAAA,CAACX,GAASF,GAAca,CAAS,CAAC,GAEjCb,KAAgB,CAACD;AACnB,WACG,gBAAAiB,EAAAC,GAAA,EAAS,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAC,gBAAAD,EAAAE,GAAA,EAAU,QAAO,SAAA,CAAS,EAC7B,CAAA;AAIJ,MAAIjB;AACF,WACG,gBAAAe,EAAAC,GAAA,EAAS,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAC,gBAAAD,EAAAG,GAAA,EAAM,YAAYN,EAAA,CAAW,EAChC,CAAA;AAIE,QAAAO,IAAuBX,KAAA,gBAAAA,EAAmB;AAK9C,SAAA,gBAAAY,EAACC,GAAA,EACE,UAAA;AAAA,IAAAZ,KAAmB,gBAAAM,EAAAO,GAAA,EAAM,YAAYb,GAAgB,YAAY,IAAM;AAAA,IAEvEC,KAAc,gBAAAK,EAACQ,GAAW,EAAA,YAAAb,GAAwB,eAAAhB,EAA8B,CAAA;AAAA,IAEhFiB,KACC,gBAAAI,EAACS,GAAa,EAAA,cAAcb,GAAkB,aAAAnB,GAA0B;AAAA,IATtDY,KAAgBC,KAASC,KAa3C,gBAAAS;AAAA,MAACU;AAAA,MAAA;AAAA,QACC,cAAArB;AAAA,QACA,aAAaC;AAAA,QACb,YAAYC;AAAA,QACZ,aAAaX;AAAA,MAAA;AAAA,IACf;AAAA,IAnBqB+B,KAAwB,CAACnB,KAAYY,KAsBrCA,IACrB,gBAAAJ;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,UAAAlC;AAAA,QACA,aAAAD;AAAA,QACA,YAAAI;AAAA,QACA,iBAAiBuB;AAAA,QACjB,cAAAxB;AAAA,MAAA;AAAA,IAGF,IAAA,gBAAAoB,EAACa,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EAE3B,EAAA,CAAA;AAEJ,GAEeC,KAAAC,EAAKvC,CAAa;"}
@@ -0,0 +1,13 @@
1
+ import e from "styled-components";
2
+ import t from "../../ui/layout/flex-view.js";
3
+ import o from "../../ui/text/text.js";
4
+ const n = e(t)`
5
+ z-index: -1;
6
+ `, x = e(o)`
7
+ line-height: 8px;
8
+ `;
9
+ export {
10
+ x as DateText,
11
+ n as ImageContainer
12
+ };
13
+ //# sourceMappingURL=monthly-timeline-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-timeline-styled.js","sources":["../../../../src/features/timeline/monthly-timeline/monthly-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\n\nexport const ImageContainer = styled(FlexView)<{ $marginBottom?: number }>`\n z-index: -1;\n`;\n\nexport const DateText = styled(Text)`\n line-height: 8px;\n`;\n"],"names":["ImageContainer","styled","FlexView","DateText","Text"],"mappings":";;;AAKa,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA;AAAA,GAIhCC,IAAWF,EAAOG,CAAI;AAAA;AAAA;"}
@@ -0,0 +1,6 @@
1
+ var M = /* @__PURE__ */ ((S) => (S.MPR_V1 = "MPR_V1", S.MPR_V2 = "MPR_V2", S.PTM = "PTM", S))(M || {}), C = /* @__PURE__ */ ((S) => (S.SCHOOL_SUCCESS = "SCHOOL_SUCCESS", S.ENRICHMENT = "ENRICHMENT", S.TEST_PREP = "TEST_PREP", S))(C || {});
2
+ export {
3
+ C as EGoalCategory,
4
+ M as REPORT_TYPE
5
+ };
6
+ //# sourceMappingURL=monthly-timeline-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-timeline-types.js","sources":["../../../../src/features/timeline/monthly-timeline/monthly-timeline-types.ts"],"sourcesContent":["import { type TCourseStream } from '../../milestone/create/milestone-create-types';\n\nexport enum REPORT_TYPE {\n MPR_V1 = 'MPR_V1',\n MPR_V2 = 'MPR_V2',\n PTM = 'PTM',\n}\n\nexport enum EGoalCategory {\n SCHOOL_SUCCESS = 'SCHOOL_SUCCESS',\n ENRICHMENT = 'ENRICHMENT',\n TEST_PREP = 'TEST_PREP',\n}\n\nexport interface IMonthlyTimeline {\n year: number;\n month: number;\n reports: IMonthlyTimelineReport[];\n}\n\nexport interface IMonthlyTimelineReport {\n report_data: TimelineReportData | null;\n course_stream: TCourseStream | null;\n report_type: REPORT_TYPE;\n}\n\nexport interface TimelineReportData {\n id: string | null;\n progress_data: ProgressData | null;\n}\n\nexport interface ProgressData {\n user_milestones: IUserMilestone[];\n}\n\nexport interface IUserMilestone {\n goal_category: EGoalCategory;\n goal_code: string;\n milestone_name: string;\n previous_progress_stat: ProgressStat | null;\n progress_stat: ProgressStat;\n user_chapters: IUserChapter[];\n user_milestone_id: string;\n}\n\nexport interface IUserChapter {\n chapter_code: string;\n chapter_name: string;\n image_url: string;\n previous_progress_stat: ProgressStat | null;\n progress_stat: ProgressStat;\n user_chapter_id: string;\n}\n\nexport interface ProgressStat {\n completed: number;\n total: number;\n}\n\nexport interface IMonthlyTimelineProps {\n userType: 'PARENT' | 'TEACHER' | 'STUDENT';\n studentId: string;\n courseStreams?: string[];\n onReportClick?: (reportId: string, reportType: REPORT_TYPE, year: number, month: string) => void;\n scrollAreaHeight?: string | number;\n}\n\nexport interface IMonthlyTimelineViewProps {\n reports: IMonthlyTimelineReport[];\n onReportClick?: IMonthlyTimelineProps['onReportClick'];\n year: number;\n month: number;\n}\n"],"names":["REPORT_TYPE","EGoalCategory"],"mappings":"AAEY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,MAAM,OAHIA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,iBAAiB,kBACjBA,EAAA,aAAa,cACbA,EAAA,YAAY,aAHFA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1,28 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import m from "./comps/monthly-card/monthly-card.js";
4
+ import s from "../../ui/layout/flex-view.js";
5
+ const d = ({
6
+ reports: t,
7
+ onReportClick: p,
8
+ month: a,
9
+ year: l
10
+ }) => /* @__PURE__ */ e(s, { $flexRowGapX: 1.5, children: t.map((r) => {
11
+ var o;
12
+ return /* @__PURE__ */ e(
13
+ m,
14
+ {
15
+ report: r.report_data,
16
+ reportType: r.report_type,
17
+ courseStream: r.course_stream,
18
+ year: l,
19
+ month: a,
20
+ onReportClick: p
21
+ },
22
+ (o = r == null ? void 0 : r.report_data) == null ? void 0 : o.id
23
+ );
24
+ }) }), h = n(d);
25
+ export {
26
+ h as default
27
+ };
28
+ //# sourceMappingURL=monthly-timeline-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-timeline-view.js","sources":["../../../../src/features/timeline/monthly-timeline/monthly-timeline-view.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport {\n type IMonthlyTimelineReport,\n type IMonthlyTimelineViewProps,\n} from './monthly-timeline-types';\nimport MonthlyReportCard from './comps/monthly-card/monthly-card';\nimport FlexView from '../../ui/layout/flex-view';\n\nconst MonthlyTimelineView: FC<IMonthlyTimelineViewProps> = ({\n reports,\n onReportClick,\n month,\n year,\n}) => {\n return (\n <FlexView $flexRowGapX={1.5}>\n {reports.map((item: IMonthlyTimelineReport) => (\n <MonthlyReportCard\n key={item?.report_data?.id}\n report={item.report_data}\n reportType={item.report_type}\n courseStream={item.course_stream}\n year={year}\n month={month}\n onReportClick={onReportClick}\n />\n ))}\n </FlexView>\n );\n};\n\nexport default memo(MonthlyTimelineView);\n"],"names":["MonthlyTimelineView","reports","onReportClick","month","year","FlexView","item","jsx","MonthlyReportCard","_a","MonthlyTimelineView$1","memo"],"mappings":";;;;AASA,MAAMA,IAAqD,CAAC;AAAA,EAC1D,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AACF,wBAEKC,GAAS,EAAA,cAAc,KACrB,UAAQJ,EAAA,IAAI,CAACK;;AACZ,yBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MAEC,QAAQF,EAAK;AAAA,MACb,YAAYA,EAAK;AAAA,MACjB,cAAcA,EAAK;AAAA,MACnB,MAAAF;AAAA,MACA,OAAAD;AAAA,MACA,eAAAD;AAAA,IAAA;AAAA,KANKO,IAAAH,KAAA,gBAAAA,EAAM,gBAAN,gBAAAG,EAAmB;AAAA,EAQ3B;AAAA,CAAA,EACH,CAAA,GAIWC,IAAAC,EAAKX,CAAmB;"}
@@ -0,0 +1,65 @@
1
+ import { jsx as e, Fragment as A, jsxs as a } from "react/jsx-runtime";
2
+ import { memo as I, useMemo as C, useCallback as E, useEffect as _ } from "react";
3
+ import { monthlyTimelineGet as b } from "./api/use-monthly-timeline-get.js";
4
+ import w from "./monthly-timeline-view.js";
5
+ import L from "../../ui/loader/app-loader/app-loader.js";
6
+ import t from "../../ui/layout/flex-view.js";
7
+ import P from "../../ui/text/text.js";
8
+ import T from "../../ui/image/image.js";
9
+ import s from "../../ui/separator/separator.js";
10
+ import { yearImages as R, monthNames as X } from "./constants.js";
11
+ import j from "../../ui/error/error.js";
12
+ import { ImageContainer as F, DateText as M } from "./monthly-timeline-styled.js";
13
+ import { getTimezone as S } from "../../../helpers/date-time.js";
14
+ import { ILLUSTRATIONS as B } from "../../../assets/illustrations/illustrations.js";
15
+ const v = ({
16
+ userType: h,
17
+ studentId: n,
18
+ courseStreams: l,
19
+ onReportClick: $
20
+ }) => {
21
+ const i = C(
22
+ () => ({
23
+ course_streams: h === "TEACHER" ? l : [],
24
+ timezone: S()
25
+ }),
26
+ [l, h]
27
+ ), {
28
+ get: c,
29
+ data: o = [],
30
+ isProcessing: y,
31
+ isProcessingFailed: d
32
+ } = b(n, i), m = E(() => {
33
+ c(n, i);
34
+ }, [c, i, n]);
35
+ return _(() => {
36
+ m();
37
+ }, [m]), y ? /* @__PURE__ */ e(L, { height: "100dvh" }) : d ? /* @__PURE__ */ e(t, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(j, { onTryAgain: m }) }) : /* @__PURE__ */ e(A, { children: (o == null ? void 0 : o.length) > 0 ? /* @__PURE__ */ e(t, { $gapX: 2, children: o.map((r, u) => {
38
+ const g = u === 0, x = r.month === 12, f = !g && x, p = R[r.year];
39
+ return /* @__PURE__ */ a(t, { $width: "100%", children: [
40
+ !g && !f && /* @__PURE__ */ e(s, { heightX: 2 }),
41
+ f && p && /* @__PURE__ */ e(F, { $marginBottom: -122, children: /* @__PURE__ */ e(T, { src: p, alt: r.year.toString() }) }),
42
+ /* @__PURE__ */ a(t, { $gutterX: 1, children: [
43
+ /* @__PURE__ */ e(M, { $renderAs: "ac4", $color: "BLACK_T_60", children: X[r.month - 1] }),
44
+ /* @__PURE__ */ e(s, { heightX: 1 }),
45
+ /* @__PURE__ */ e(
46
+ w,
47
+ {
48
+ reports: r.reports,
49
+ month: r.month,
50
+ year: r.year,
51
+ onReportClick: $
52
+ }
53
+ )
54
+ ] })
55
+ ] }, `${r.month}-${r.year}`);
56
+ }) }) : /* @__PURE__ */ a(t, { $justifyContent: "center", $alignItems: "center", $height: "100%", children: [
57
+ /* @__PURE__ */ e(T, { src: B.EMPTY_REPORTS }),
58
+ /* @__PURE__ */ e(s, { heightX: 1.5 }),
59
+ /* @__PURE__ */ e(P, { $renderAs: "ab2", color: "BLACK_T_60", children: "Report will be available next month." })
60
+ ] }) });
61
+ }, W = I(v);
62
+ export {
63
+ W as default
64
+ };
65
+ //# sourceMappingURL=monthly-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monthly-timeline.js","sources":["../../../../src/features/timeline/monthly-timeline/monthly-timeline.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { type IMonthlyTimelineProps } from './monthly-timeline-types';\nimport { monthlyTimelineGet } from './api/use-monthly-timeline-get';\nimport MonthlyTimelineView from './monthly-timeline-view';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport Image from '../../ui/image/image';\nimport Separator from '../../ui/separator/separator';\nimport { monthNames, yearImages } from './constants';\nimport Error from '../../ui/error/error';\nimport * as Styled from './monthly-timeline-styled';\nimport { getTimezone } from '../../../helpers/date-time';\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nconst MonthlyTimeline: FC<IMonthlyTimelineProps> = ({\n userType,\n studentId,\n courseStreams,\n onReportClick,\n}) => {\n const initialQueryParams = useMemo(\n () => ({\n course_streams: userType === 'TEACHER' ? courseStreams : [],\n timezone: getTimezone(),\n }),\n [courseStreams, userType],\n );\n\n const {\n get: getTimeline,\n data: timelineData = [],\n isProcessing,\n isProcessingFailed,\n } = monthlyTimelineGet(studentId, initialQueryParams);\n\n const fetchData = useCallback(() => {\n getTimeline(studentId, initialQueryParams);\n }, [getTimeline, initialQueryParams, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessing) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error onTryAgain={fetchData} />\n </FlexView>\n );\n }\n\n return (\n <>\n {timelineData?.length > 0 ? (\n <FlexView $gapX={2}>\n {timelineData.map((item, index) => {\n const isFirstItem = index === 0;\n const isDecember = item.month === 12;\n const showYearImage = !isFirstItem && isDecember;\n const yearImage = yearImages[item.year];\n\n return (\n <FlexView key={`${item.month}-${item.year}`} $width=\"100%\">\n {!isFirstItem && !showYearImage && <Separator heightX={2} />}\n {showYearImage && yearImage && (\n <Styled.ImageContainer $marginBottom={-122}>\n <Image src={yearImage} alt={item.year.toString()} />\n </Styled.ImageContainer>\n )}\n <FlexView $gutterX={1}>\n <Styled.DateText $renderAs=\"ac4\" $color=\"BLACK_T_60\">\n {monthNames[item.month - 1]}\n </Styled.DateText>\n <Separator heightX={1} />\n <MonthlyTimelineView\n reports={item.reports}\n month={item.month}\n year={item.year}\n onReportClick={onReportClick}\n />\n </FlexView>\n </FlexView>\n );\n })}\n </FlexView>\n ) : (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\" $height=\"100%\">\n <Image src={ILLUSTRATIONS.EMPTY_REPORTS} />\n <Separator heightX={1.5} />\n <Text $renderAs=\"ab2\" color=\"BLACK_T_60\">\n Report will be available next month.\n </Text>\n </FlexView>\n )}\n </>\n );\n};\n\nexport default memo(MonthlyTimeline);\n"],"names":["MonthlyTimeline","userType","studentId","courseStreams","onReportClick","initialQueryParams","useMemo","getTimezone","getTimeline","timelineData","isProcessing","isProcessingFailed","monthlyTimelineGet","fetchData","useCallback","useEffect","jsx","AppLoader","FlexView","Error","Fragment","item","index","isFirstItem","isDecember","showYearImage","yearImage","yearImages","jsxs","Separator","Styled.ImageContainer","Image","Styled.DateText","monthNames","MonthlyTimelineView","ILLUSTRATIONS","Text","monthlyTimeline","memo"],"mappings":";;;;;;;;;;;;;;AAgBA,MAAMA,IAA6C,CAAC;AAAA,EAClD,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAMC,IAAqBC;AAAA,IACzB,OAAO;AAAA,MACL,gBAAgBL,MAAa,YAAYE,IAAgB,CAAC;AAAA,MAC1D,UAAUI,EAAY;AAAA,IAAA;AAAA,IAExB,CAACJ,GAAeF,CAAQ;AAAA,EAAA,GAGpB;AAAA,IACJ,KAAKO;AAAA,IACL,MAAMC,IAAe,CAAC;AAAA,IACtB,cAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAmBV,GAAWG,CAAkB,GAE9CQ,IAAYC,EAAY,MAAM;AAClC,IAAAN,EAAYN,GAAWG,CAAkB;AAAA,EACxC,GAAA,CAACG,GAAaH,GAAoBH,CAAS,CAAC;AAM/C,SAJAa,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVH,IACK,gBAAAM,EAACC,GAAU,EAAA,QAAO,SAAS,CAAA,IAGhCN,IAEC,gBAAAK,EAAAE,GAAA,EAAS,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAC,gBAAAF,EAAAG,GAAA,EAAM,YAAYN,EAAA,CAAW,EAChC,CAAA,IAMC,gBAAAG,EAAAI,GAAA,EAAA,WAAAX,KAAA,gBAAAA,EAAc,UAAS,IACrB,gBAAAO,EAAAE,GAAA,EAAS,OAAO,GACd,UAAaT,EAAA,IAAI,CAACY,GAAMC,MAAU;AACjC,UAAMC,IAAcD,MAAU,GACxBE,IAAaH,EAAK,UAAU,IAC5BI,IAAgB,CAACF,KAAeC,GAChCE,IAAYC,EAAWN,EAAK,IAAI;AAGpC,WAAA,gBAAAO,EAACV,GAA4C,EAAA,QAAO,QACjD,UAAA;AAAA,MAAA,CAACK,KAAe,CAACE,KAAkB,gBAAAT,EAAAa,GAAA,EAAU,SAAS,GAAG;AAAA,MACzDJ,KAAiBC,KAChB,gBAAAV,EAACc,GAAA,EAAsB,eAAe,MACpC,UAAC,gBAAAd,EAAAe,GAAA,EAAM,KAAKL,GAAW,KAAKL,EAAK,KAAK,SAAA,EAAY,CAAA,GACpD;AAAA,MAEF,gBAAAO,EAACV,GAAS,EAAA,UAAU,GAClB,UAAA;AAAA,QAAC,gBAAAF,EAAAgB,GAAA,EAAgB,WAAU,OAAM,QAAO,cACrC,UAAWC,EAAAZ,EAAK,QAAQ,CAAC,EAC5B,CAAA;AAAA,QACA,gBAAAL,EAACa,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QACvB,gBAAAb;AAAA,UAACkB;AAAA,UAAA;AAAA,YACC,SAASb,EAAK;AAAA,YACd,OAAOA,EAAK;AAAA,YACZ,MAAMA,EAAK;AAAA,YACX,eAAAjB;AAAA,UAAA;AAAA,QACF;AAAA,MAAA,GACF;AAAA,IAAA,KAlBa,GAAGiB,EAAK,KAAK,IAAIA,EAAK,IAAI,EAmBzC;AAAA,EAEH,CAAA,GACH,IAEC,gBAAAO,EAAAV,GAAA,EAAS,iBAAgB,UAAS,aAAY,UAAS,SAAQ,QAC9D,UAAA;AAAA,IAAC,gBAAAF,EAAAe,GAAA,EAAM,KAAKI,EAAc,cAAe,CAAA;AAAA,IACzC,gBAAAnB,EAACa,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,sBACxBO,GAAK,EAAA,WAAU,OAAM,OAAM,cAAa,UAEzC,wCAAA;AAAA,EAAA,EACF,CAAA,EAEJ,CAAA;AAEJ,GAEeC,IAAAC,EAAKtC,CAAe;"}
@@ -0,0 +1,9 @@
1
+ import { createGetAPI as e } from "@cuemath/rest-api";
2
+ import { BASE_URL_V1 as r } from "../../../../../constants/api.js";
3
+ const { useGet: p } = e({
4
+ getURL: (t) => `${r}/ptm/${t}`
5
+ });
6
+ export {
7
+ p as usePTMReportGet
8
+ };
9
+ //# sourceMappingURL=use-ptm-report-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-ptm-report-get.js","sources":["../../../../../../src/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../../constants/api';\nimport type { IPTMReportResponse } from '../ptm-report-types';\n\nconst { useGet: usePTMReportGet } = createGetAPI<IPTMReportResponse>({\n getURL: (ptmId: string) => {\n return `${BASE_URL_V1}/ptm/${ptmId}`;\n },\n});\n\nexport { usePTMReportGet };\n"],"names":["usePTMReportGet","createGetAPI","ptmId","BASE_URL_V1"],"mappings":";;AAKA,MAAM,EAAE,QAAQA,EAAgB,IAAIC,EAAiC;AAAA,EACnE,QAAQ,CAACC,MACA,GAAGC,CAAW,QAAQD,CAAK;AAEtC,CAAC;"}
@@ -0,0 +1,9 @@
1
+ import r from "styled-components";
2
+ import o from "../../../../../ui/layout/flex-view.js";
3
+ const e = r(o)`
4
+ margin-top: -48px;
5
+ `;
6
+ export {
7
+ e as Wrapper
8
+ };
9
+ //# sourceMappingURL=key-need-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-need-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n margin-top: -48px;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
@@ -0,0 +1,35 @@
1
+ import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
+ import { memo as d } from "react";
3
+ import { ILLUSTRATIONS as l } from "../../../../../../assets/illustrations/illustrations.js";
4
+ import n from "../../../../../ui/image/image.js";
5
+ import i from "../../../../../ui/layout/flex-view.js";
6
+ import t from "../../../../../ui/separator/separator.js";
7
+ import m from "../../../../../ui/text/text.js";
8
+ import { Wrapper as p } from "./key-need-styled.js";
9
+ const f = ({ text: o }) => o ? /* @__PURE__ */ e(i, { children: [
10
+ /* @__PURE__ */ e(
11
+ p,
12
+ {
13
+ $flexDirection: "row",
14
+ $borderRadius: 12,
15
+ $borderColor: "GREY_2",
16
+ $gutterX: 0.75,
17
+ $gapX: 1,
18
+ $background: "WHITE",
19
+ $flexColumnGapX: 0.5,
20
+ children: [
21
+ /* @__PURE__ */ r(n, { src: l.KEY, width: 42, height: 44 }),
22
+ /* @__PURE__ */ e(i, { $flex: 1, children: [
23
+ /* @__PURE__ */ r(m, { $renderAs: "ab2-bold", children: "Key Need" }),
24
+ /* @__PURE__ */ r(t, { height: 4 }),
25
+ /* @__PURE__ */ r(m, { $renderAs: "ab3", children: o })
26
+ ] })
27
+ ]
28
+ }
29
+ ),
30
+ /* @__PURE__ */ r(t, { heightX: 2 })
31
+ ] }) : null, b = d(f);
32
+ export {
33
+ b as default
34
+ };
35
+ //# sourceMappingURL=key-need.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-need.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../../ui/image/image';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport * as Styled from './key-need-styled';\n\nconst KeyNeed = ({ text }: { text: string }) => {\n if (!text) {\n return null;\n }\n\n return (\n <FlexView>\n <Styled.Wrapper\n $flexDirection=\"row\"\n $borderRadius={12}\n $borderColor=\"GREY_2\"\n $gutterX={0.75}\n $gapX={1}\n $background=\"WHITE\"\n $flexColumnGapX={0.5}\n >\n <Image src={ILLUSTRATIONS.KEY} width={42} height={44} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-bold\">Key Need</Text>\n <Separator height={4} />\n <Text $renderAs=\"ab3\">{text}</Text>\n </FlexView>\n </Styled.Wrapper>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(KeyNeed);\n"],"names":["KeyNeed","text","FlexView","jsxs","Styled.Wrapper","jsx","Image","ILLUSTRATIONS","Text","Separator","KeyNeed$1","memo"],"mappings":";;;;;;;;AASA,MAAMA,IAAU,CAAC,EAAE,MAAAC,QACZA,sBAKFC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,eAAe;AAAA,MACf,cAAa;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAY;AAAA,MACZ,iBAAiB;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAM,KAAKC,EAAc,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,QACtD,gBAAAJ,EAACD,GAAS,EAAA,OAAO,GACf,UAAA;AAAA,UAAC,gBAAAG,EAAAG,GAAA,EAAK,WAAU,YAAW,UAAQ,YAAA;AAAA,UACnC,gBAAAH,EAACI,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,UACrB,gBAAAJ,EAAAG,GAAA,EAAK,WAAU,OAAO,UAAKP,GAAA;AAAA,QAAA,GAC9B;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,EACA,gBAAAI,EAACI,GAAU,EAAA,SAAS,EAAG,CAAA;AACzB,EAAA,CAAA,IAtBO,MA0BIC,IAAAC,EAAKX,CAAO;"}
@@ -0,0 +1,53 @@
1
+ import { jsxs as b, jsx as e } from "react/jsx-runtime";
2
+ import { memo as x } from "react";
3
+ import O from "../../../../../ui/layout/flex-view.js";
4
+ import j from "../../../../../ui/text/text.js";
5
+ import i from "../../../../../ui/separator/separator.js";
6
+ import { REPORT_CARD_ICON_MAP as C } from "../../ptm-report-constants.js";
7
+ import R from "../support-card/support-card.js";
8
+ const $ = ({
9
+ report: t,
10
+ options: o,
11
+ classesCompleted: s,
12
+ weeksCompleted: m,
13
+ sheetsNotCompleted: p,
14
+ sheetsAssigned: a,
15
+ lateClassesCount: l,
16
+ lateIfMinutes: _
17
+ }) => {
18
+ const c = {
19
+ "<classes_completed>": String(s),
20
+ "<weeks_completed>": String(m),
21
+ "<sheets_not_completed>": String(p),
22
+ "<sheets_assigned>": String(a),
23
+ "<no_of_late_classes>": String(l),
24
+ "<late_if_minutes>": String(_)
25
+ };
26
+ return !(t != null && t.length) || !o ? null : /* @__PURE__ */ b(O, { children: [
27
+ /* @__PURE__ */ e(j, { $renderAs: "ab1-bold", children: "Parent Support" }),
28
+ /* @__PURE__ */ e(i, { heightX: 1 }),
29
+ t.map((n) => {
30
+ const r = o[n];
31
+ if (!r) return null;
32
+ const { icon: f, option_label: u, report_statement: S, option_info: d } = r, g = Object.entries(c).reduce(
33
+ (h, [P, A]) => h.replace(P, A),
34
+ d
35
+ );
36
+ return /* @__PURE__ */ e(
37
+ R,
38
+ {
39
+ icon: C[f],
40
+ title: u,
41
+ info: g,
42
+ statement: S
43
+ },
44
+ `option-${n}`
45
+ );
46
+ }),
47
+ /* @__PURE__ */ e(i, { heightX: 2 })
48
+ ] });
49
+ }, T = x($);
50
+ export {
51
+ T as default
52
+ };
53
+ //# sourceMappingURL=parent-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parent-support.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport Separator from '../../../../../ui/separator/separator';\nimport type { IParentSupportProps } from './parent-support-types';\nimport { REPORT_CARD_ICON_MAP } from '../../ptm-report-constants';\nimport SupportCard from '../support-card/support-card';\n\nconst ParentSupport: FC<IParentSupportProps> = ({\n report,\n options,\n classesCompleted,\n weeksCompleted,\n sheetsNotCompleted,\n sheetsAssigned,\n lateClassesCount,\n lateIfMinutes,\n}) => {\n const INFO_LABEL_MAP: Record<string, string> = {\n '<classes_completed>': String(classesCompleted),\n '<weeks_completed>': String(weeksCompleted),\n '<sheets_not_completed>': String(sheetsNotCompleted),\n '<sheets_assigned>': String(sheetsAssigned),\n '<no_of_late_classes>': String(lateClassesCount),\n '<late_if_minutes>': String(lateIfMinutes),\n };\n\n if (!report?.length || !options) return null;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Parent Support</Text>\n <Separator heightX={1} />\n {report.map(selectedIdx => {\n const option = options[selectedIdx];\n\n if (!option) return null;\n\n const { icon, option_label, report_statement, option_info } = option;\n\n const formattedInfo = Object.entries(INFO_LABEL_MAP).reduce(\n (info, [key, value]) => info.replace(key, value),\n option_info,\n );\n\n return (\n <SupportCard\n key={`option-${selectedIdx}`}\n icon={REPORT_CARD_ICON_MAP[icon]!}\n title={option_label}\n info={formattedInfo}\n statement={report_statement}\n />\n );\n })}\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(ParentSupport);\n"],"names":["ParentSupport","report","options","classesCompleted","weeksCompleted","sheetsNotCompleted","sheetsAssigned","lateClassesCount","lateIfMinutes","INFO_LABEL_MAP","FlexView","jsx","Text","Separator","selectedIdx","option","icon","option_label","report_statement","option_info","formattedInfo","info","key","value","SupportCard","REPORT_CARD_ICON_MAP","ParentSupport$1","memo"],"mappings":";;;;;;;AASA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAMC,IAAyC;AAAA,IAC7C,uBAAuB,OAAON,CAAgB;AAAA,IAC9C,qBAAqB,OAAOC,CAAc;AAAA,IAC1C,0BAA0B,OAAOC,CAAkB;AAAA,IACnD,qBAAqB,OAAOC,CAAc;AAAA,IAC1C,wBAAwB,OAAOC,CAAgB;AAAA,IAC/C,qBAAqB,OAAOC,CAAa;AAAA,EAAA;AAG3C,SAAI,EAACP,KAAA,QAAAA,EAAQ,WAAU,CAACC,IAAgB,yBAGrCQ,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAc,kBAAA;AAAA,IACzC,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACtBZ,EAAO,IAAI,CAAea,MAAA;AACnB,YAAAC,IAASb,EAAQY,CAAW;AAE9B,UAAA,CAACC,EAAe,QAAA;AAEpB,YAAM,EAAE,MAAAC,GAAM,cAAAC,GAAc,kBAAAC,GAAkB,aAAAC,MAAgBJ,GAExDK,IAAgB,OAAO,QAAQX,CAAc,EAAE;AAAA,QACnD,CAACY,GAAM,CAACC,GAAKC,CAAK,MAAMF,EAAK,QAAQC,GAAKC,CAAK;AAAA,QAC/CJ;AAAA,MAAA;AAIA,aAAA,gBAAAR;AAAA,QAACa;AAAA,QAAA;AAAA,UAEC,MAAMC,EAAqBT,CAAI;AAAA,UAC/B,OAAOC;AAAA,UACP,MAAMG;AAAA,UACN,WAAWF;AAAA,QAAA;AAAA,QAJN,UAAUJ,CAAW;AAAA,MAAA;AAAA,IAK5B,CAEH;AAAA,IACD,gBAAAH,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACzB,EAAA,CAAA;AAEJ,GAEea,IAAAC,EAAK3B,CAAa;"}
@@ -0,0 +1,19 @@
1
+ import e from "styled-components";
2
+ import r from "../../../../../ui/layout/flex-view.js";
3
+ const i = e.img`
4
+ flex: 1;
5
+ height: ${16 * 13.375}px;
6
+ max-width: ${16 * 10}px;
7
+ border-radius: 8px;
8
+ border-width: 0.3px;
9
+ overflow: hidden;
10
+ justify-content: center;
11
+ margin: 3px;
12
+ `, p = e(r)`
13
+ overflow: hidden;
14
+ `;
15
+ export {
16
+ i as ImageWrapper,
17
+ p as Wrapper
18
+ };
19
+ //# sourceMappingURL=real-world-projects-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real-world-projects-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const ImageWrapper = styled.img`\n flex: 1;\n height: ${16 * 13.375}px;\n max-width: ${16 * 10}px;\n border-radius: 8px;\n border-width: 0.3px;\n overflow: hidden;\n justify-content: center;\n margin: 3px;\n`;\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["ImageWrapper","styled","Wrapper","FlexView"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA,YAEvB,KAAK,MAAM;AAAA,eACR,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQTC,IAAUD,EAAOE,CAAQ;AAAA;AAAA;"}
@@ -0,0 +1,50 @@
1
+ import { jsxs as e, jsx as r, Fragment as m } from "react/jsx-runtime";
2
+ import { memo as g } from "react";
3
+ import n from "../../../../../ui/layout/flex-view.js";
4
+ import t from "../../../../../ui/text/text.js";
5
+ import i from "../../../../../ui/separator/separator.js";
6
+ import { Wrapper as u, ImageWrapper as b } from "./real-world-projects-styled.js";
7
+ const p = ({ projectReport: l, projectInfo: d }) => {
8
+ if (!l || !d)
9
+ return null;
10
+ const { images: c = [], observation: a } = l, {
11
+ activity: $,
12
+ objective: s,
13
+ image_upload_urls: o
14
+ } = d;
15
+ return /* @__PURE__ */ e(n, { children: [
16
+ /* @__PURE__ */ r(t, { $renderAs: "ab1-bold", children: "Real world projects" }),
17
+ /* @__PURE__ */ r(i, { heightX: 1 }),
18
+ /* @__PURE__ */ e(u, { $borderColor: "GREY_2", $borderRadiusX: 0.5, children: [
19
+ /* @__PURE__ */ r(n, { $gutterX: 1, $background: "YELLOW_1", $gap: 10, $gutter: 12, children: /* @__PURE__ */ r(t, { $renderAs: "ac4", $align: "center", children: $ }) }),
20
+ /* @__PURE__ */ e(n, { $gutterX: 0.75, $gapX: 0.75, children: [
21
+ c.length > 0 && /* @__PURE__ */ e(m, { children: [
22
+ /* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", children: c.map((h) => /* @__PURE__ */ r(
23
+ b,
24
+ {
25
+ src: o == null ? void 0 : o[h]
26
+ },
27
+ h
28
+ )) }),
29
+ /* @__PURE__ */ r(i, { height: 12 })
30
+ ] }),
31
+ s && /* @__PURE__ */ e(t, { $renderAs: "ub2-bold", children: [
32
+ "Objective: ",
33
+ /* @__PURE__ */ r(t, { $renderAs: "ub2", children: s })
34
+ ] }),
35
+ !!a && /* @__PURE__ */ e(m, { children: [
36
+ /* @__PURE__ */ r(i, { height: 12 }),
37
+ /* @__PURE__ */ e(t, { $renderAs: "ub2-bold", children: [
38
+ "Teacher remarks: ",
39
+ /* @__PURE__ */ r(t, { $renderAs: "ub2", children: a })
40
+ ] })
41
+ ] })
42
+ ] })
43
+ ] }),
44
+ /* @__PURE__ */ r(i, { heightX: 2 })
45
+ ] });
46
+ }, v = g(p);
47
+ export {
48
+ v as default
49
+ };
50
+ //# sourceMappingURL=real-world-projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real-world-projects.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport Separator from '../../../../../ui/separator/separator';\nimport type { IRealWorldProjectsProps } from './real-world-projects-types';\nimport * as Styled from './real-world-projects-styled';\n\nconst RealWorldProjects: FC<IRealWorldProjectsProps> = ({ projectReport, projectInfo }) => {\n if (!projectReport || !projectInfo) {\n return null;\n }\n\n const { images = [], observation } = projectReport;\n\n const {\n activity: activity,\n objective: objective,\n image_upload_urls: fileUploadURLs,\n } = projectInfo;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Real world projects</Text>\n <Separator heightX={1} />\n <Styled.Wrapper $borderColor=\"GREY_2\" $borderRadiusX={0.5}>\n <FlexView $gutterX={1} $background={'YELLOW_1'} $gap={10} $gutter={12}>\n <Text $renderAs=\"ac4\" $align=\"center\">\n {activity}\n </Text>\n </FlexView>\n <FlexView $gutterX={0.75} $gapX={0.75}>\n {images.length > 0 && (\n <>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\">\n {images.map(item => (\n <Styled.ImageWrapper\n key={item}\n src={fileUploadURLs?.[item as keyof typeof fileUploadURLs] as string}\n />\n ))}\n </FlexView>\n <Separator height={12} />\n </>\n )}\n {objective && (\n <Text $renderAs=\"ub2-bold\">\n Objective:&nbsp;\n <Text $renderAs=\"ub2\">{objective}</Text>\n </Text>\n )}\n {!!observation && (\n <>\n <Separator height={12} />\n <Text $renderAs=\"ub2-bold\">\n Teacher remarks:&nbsp;\n <Text $renderAs=\"ub2\">{observation}</Text>\n </Text>\n </>\n )}\n </FlexView>\n </Styled.Wrapper>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(RealWorldProjects);\n"],"names":["RealWorldProjects","projectReport","projectInfo","images","observation","activity","objective","fileUploadURLs","FlexView","jsx","Text","Separator","Styled.Wrapper","jsxs","Fragment","item","Styled.ImageWrapper","RealWorldProjects$1","memo"],"mappings":";;;;;;AAQA,MAAMA,IAAiD,CAAC,EAAE,eAAAC,GAAe,aAAAC,QAAkB;AACrF,MAAA,CAACD,KAAiB,CAACC;AACd,WAAA;AAGT,QAAM,EAAE,QAAAC,IAAS,CAAA,GAAI,aAAAC,MAAgBH,GAE/B;AAAA,IACJ,UAAAI;AAAA,IACA,WAAAC;AAAA,IACA,mBAAmBC;AAAA,EACjB,IAAAL;AAEJ,2BACGM,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAmB,uBAAA;AAAA,IAC9C,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,sBACtBC,GAAA,EAAe,cAAa,UAAS,gBAAgB,KACpD,UAAA;AAAA,MAAA,gBAAAH,EAACD,KAAS,UAAU,GAAG,aAAa,YAAY,MAAM,IAAI,SAAS,IACjE,UAAA,gBAAAC,EAACC,KAAK,WAAU,OAAM,QAAO,UAC1B,YACH,CAAA,GACF;AAAA,MACC,gBAAAG,EAAAL,GAAA,EAAS,UAAU,MAAM,OAAO,MAC9B,UAAA;AAAA,QAAOL,EAAA,SAAS,KAEb,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAL,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UACjE,UAAOL,EAAA,IAAI,CACVY,MAAA,gBAAAN;AAAA,YAACO;AAAAA,YAAA;AAAA,cAEC,KAAKT,KAAA,gBAAAA,EAAiBQ;AAAA,YAAmC;AAAA,YADpDA;AAAA,UAGR,CAAA,GACH;AAAA,UACA,gBAAAN,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QAAA,GACzB;AAAA,QAEDL,KACC,gBAAAO,EAACH,GAAK,EAAA,WAAU,YAAW,UAAA;AAAA,UAAA;AAAA,UAExB,gBAAAD,EAAAC,GAAA,EAAK,WAAU,OAAO,UAAUJ,GAAA;AAAA,QAAA,GACnC;AAAA,QAED,CAAC,CAACF,KAEC,gBAAAS,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAL,EAAAE,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,UACvB,gBAAAE,EAACH,GAAK,EAAA,WAAU,YAAW,UAAA;AAAA,YAAA;AAAA,YAExB,gBAAAD,EAAAC,GAAA,EAAK,WAAU,OAAO,UAAYN,GAAA;AAAA,UAAA,GACrC;AAAA,QAAA,GACF;AAAA,MAAA,GAEJ;AAAA,IAAA,GACF;AAAA,IACA,gBAAAK,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACzB,EAAA,CAAA;AAEJ,GAEeM,IAAAC,EAAKlB,CAAiB;"}
@@ -0,0 +1,9 @@
1
+ import o from "styled-components";
2
+ import r from "../../../../../ui/layout/flex-view.js";
3
+ const t = o(r)`
4
+ overflow: hidden;
5
+ `;
6
+ export {
7
+ t as Wrapper
8
+ };
9
+ //# sourceMappingURL=report-card-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-card-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
@@ -0,0 +1,22 @@
1
+ import { jsxs as o, jsx as r, Fragment as a } from "react/jsx-runtime";
2
+ import { memo as c } from "react";
3
+ import e from "../../../../../ui/layout/flex-view.js";
4
+ import $ from "../../../../../ui/image/image.js";
5
+ import t from "../../../../../ui/text/text.js";
6
+ import h from "../../../../../ui/separator/separator.js";
7
+ import { Wrapper as p } from "./report-card-styled.js";
8
+ const s = ({ title: i, description: l, icon: n, category: d, bgColor: m }) => /* @__PURE__ */ o(p, { $borderRadius: 8, $borderColor: "GREY_2", children: [
9
+ /* @__PURE__ */ r(e, { $gutterX: 1, $background: m, $gap: 10, $gutter: 12, children: /* @__PURE__ */ r(t, { $renderAs: "ac4", $align: "center", children: d }) }),
10
+ !!(n && i) && /* @__PURE__ */ o(a, { children: [
11
+ /* @__PURE__ */ r(h, { heightX: 0.5 }),
12
+ /* @__PURE__ */ o(e, { $flexDirection: "row", $gutter: 12, $flexColumnGapX: 0.25, $alignItems: "center", children: [
13
+ /* @__PURE__ */ r($, { src: n, width: 36, height: 36 }),
14
+ /* @__PURE__ */ r(e, { $flex: 1, children: /* @__PURE__ */ r(t, { $renderAs: "ab2-bold", children: i }) })
15
+ ] })
16
+ ] }),
17
+ /* @__PURE__ */ r(e, { $gutterX: 0.75, $gapX: 0.75, children: /* @__PURE__ */ r(t, { $renderAs: "ub2", children: l }) })
18
+ ] }), R = c(s);
19
+ export {
20
+ R as default
21
+ };
22
+ //# sourceMappingURL=report-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-card.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport type { IReportCardProps } from './report-card-types';\nimport Image from '../../../../../ui/image/image';\nimport Text from '../../../../../ui/text/text';\nimport Separator from '../../../../../ui/separator/separator';\nimport * as Styled from './report-card-styled';\n\nconst ReportCard: FC<IReportCardProps> = ({ title, description, icon, category, bgColor }) => {\n const showTitleBlock = Boolean(icon && title);\n\n return (\n <Styled.Wrapper $borderRadius={8} $borderColor=\"GREY_2\">\n <FlexView $gutterX={1} $background={bgColor} $gap={10} $gutter={12}>\n <Text $renderAs=\"ac4\" $align=\"center\">\n {category}\n </Text>\n </FlexView>\n {showTitleBlock && (\n <>\n <Separator heightX={0.5} />\n <FlexView $flexDirection=\"row\" $gutter={12} $flexColumnGapX={0.25} $alignItems=\"center\">\n <Image src={icon} width={36} height={36} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-bold\">{title}</Text>\n </FlexView>\n </FlexView>\n </>\n )}\n <FlexView $gutterX={0.75} $gapX={0.75}>\n <Text $renderAs=\"ub2\">{description}</Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(ReportCard);\n"],"names":["ReportCard","title","description","icon","category","bgColor","Styled.Wrapper","jsx","FlexView","Text","jsxs","Fragment","Separator","Image","ReportCard$1","memo"],"mappings":";;;;;;;AASA,MAAMA,IAAmC,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,MAAAC,GAAM,UAAAC,GAAU,SAAAC,0BAI3EC,GAAA,EAAe,eAAe,GAAG,cAAa,UAC7C,UAAA;AAAA,EAAA,gBAAAC,EAACC,KAAS,UAAU,GAAG,aAAaH,GAAS,MAAM,IAAI,SAAS,IAC9D,UAAA,gBAAAE,EAACE,KAAK,WAAU,OAAM,QAAO,UAC1B,YACH,CAAA,GACF;AAAA,EARmB,GAAQN,KAAQF,MAW/B,gBAAAS,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAJ,EAAAK,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,IACzB,gBAAAF,EAACF,KAAS,gBAAe,OAAM,SAAS,IAAI,iBAAiB,MAAM,aAAY,UAC7E,UAAA;AAAA,MAAA,gBAAAD,EAACM,KAAM,KAAKV,GAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,MACzC,gBAAAI,EAACC,KAAS,OAAO,GACf,4BAACC,GAAK,EAAA,WAAU,YAAY,UAAAR,EAAA,CAAM,EACpC,CAAA;AAAA,IAAA,GACF;AAAA,EAAA,GACF;AAAA,EAEF,gBAAAM,EAACC,GAAS,EAAA,UAAU,MAAM,OAAO,MAC/B,UAAA,gBAAAD,EAACE,GAAK,EAAA,WAAU,OAAO,UAAAP,EAAY,CAAA,GACrC;AACF,EAAA,CAAA,GAIWY,IAAAC,EAAKf,CAAU;"}
@@ -0,0 +1,9 @@
1
+ import o from "styled-components";
2
+ import r from "../../../../../ui/layout/flex-view.js";
3
+ const t = o(r)`
4
+ overflow: hidden;
5
+ `;
6
+ export {
7
+ t as Wrapper
8
+ };
9
+ //# sourceMappingURL=school-support-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"school-support-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
@@ -0,0 +1,84 @@
1
+ import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import { memo as M, useMemo as L } from "react";
3
+ import l from "../../../../../ui/layout/flex-view.js";
4
+ import b from "../../../../../ui/separator/separator.js";
5
+ import g from "../../../../../ui/text/text.js";
6
+ import O from "../report-card/report-card.js";
7
+ import { Wrapper as U } from "./school-support-styled.js";
8
+ import { replaceTokens as o } from "../../ptm-report-helpers.js";
9
+ const V = ({
10
+ homeworkHelpReport: E,
11
+ homeworkHelpConfig: m,
12
+ testHelpReport: X,
13
+ testHelpConfig: h,
14
+ studentName: n,
15
+ isOnDemandPTM: G
16
+ }) => {
17
+ const {
18
+ is_hw_help_provided: P,
19
+ selected: R = [],
20
+ topics: S
21
+ } = E ?? {}, {
22
+ selected: v = [],
23
+ performance: _,
24
+ previous_performance: A
25
+ } = X ?? {}, W = L(() => {
26
+ var p, u;
27
+ const t = (m == null ? void 0 : m.areas) ?? [];
28
+ if (!t.length) return "";
29
+ const a = { first_name: n, topics: S };
30
+ if (P === 1 && typeof ((p = t[0]) == null ? void 0 : p.report_statement) == "string")
31
+ return o(t[0].report_statement, a);
32
+ const i = [];
33
+ return S && typeof ((u = t[1]) == null ? void 0 : u.report_statement) == "string" && i.push(o(t[1].report_statement, a)), R.forEach(($, y) => {
34
+ var c;
35
+ const r = (c = t[y + 2]) == null ? void 0 : c.report_statement;
36
+ Array.isArray(r) && r[$] ? i.push(o(r[$], a)) : typeof r == "string" && i.push(o(r, a));
37
+ }), i.join(" ");
38
+ }, [n, m, P, R, S]), j = L(() => {
39
+ const t = (h == null ? void 0 : h.areas) ?? [];
40
+ if (!v.length || !t.length) return null;
41
+ const { grade: a, scored: i, total: p } = _ ?? {}, { grade: u, scored: $, total: y } = A ?? {};
42
+ return v.map((r, c) => {
43
+ const w = t[c];
44
+ if (!w) return null;
45
+ const {
46
+ report_statement: f,
47
+ area_label: B,
48
+ report_statement_with_performance: F = [],
49
+ report_statement_with_previous_performance: K = []
50
+ } = w;
51
+ let s = "";
52
+ return r !== void 0 && (G && K[r] && _ && A ? s = o(K[r], {
53
+ first_name: n,
54
+ performance: a ?? `${i}/${p}`,
55
+ previous_performance: u ?? `${$}/${y}`
56
+ }) : F[r] && _ ? s = o(F[r], {
57
+ first_name: n,
58
+ performance: a ?? `${i}/${p}`
59
+ }) : Array.isArray(f) && f[r] ? s = o(f[r], {
60
+ first_name: n
61
+ }) : typeof f == "string" && (s = o(f, { first_name: n }))), s ? /* @__PURE__ */ d(l, { children: [
62
+ B && /* @__PURE__ */ e(g, { $renderAs: "ac3", children: B }),
63
+ /* @__PURE__ */ e(g, { $renderAs: "ub2", children: s })
64
+ ] }, c) : null;
65
+ });
66
+ }, [_, A, v, h, G, n]);
67
+ return !E && !X ? null : /* @__PURE__ */ d(l, { children: [
68
+ /* @__PURE__ */ e(g, { $renderAs: "ab1-bold", children: "School support" }),
69
+ /* @__PURE__ */ e(b, { heightX: 1 }),
70
+ W && /* @__PURE__ */ d(l, { children: [
71
+ /* @__PURE__ */ e(O, { category: "HOMEWORKS", bgColor: "GREEN_1", description: W }),
72
+ /* @__PURE__ */ e(b, { heightX: 0.75 })
73
+ ] }),
74
+ j && /* @__PURE__ */ d(U, { $borderRadius: 8, $borderColor: "GREY_2", children: [
75
+ /* @__PURE__ */ e(l, { $gutterX: 1, $background: "BLUE_1", $gap: 10, $gutter: 12, children: /* @__PURE__ */ e(g, { $renderAs: "ac4", $align: "center", children: "TESTS" }) }),
76
+ /* @__PURE__ */ e(l, { $gutterX: 0.75, $gapX: 0.75, $flexRowGapX: 0.75, children: j })
77
+ ] }),
78
+ /* @__PURE__ */ e(b, { heightX: 2 })
79
+ ] });
80
+ }, T = M(V);
81
+ export {
82
+ T as default
83
+ };
84
+ //# sourceMappingURL=school-support.js.map